Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(941)

Side by Side Diff: chrome/browser/ui/webui/version_handler.h

Issue 1486403002: Mojo-ifying chrome://version. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove TODO Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_UI_WEBUI_VERSION_HANDLER_H_ 5 #ifndef CHROME_BROWSER_UI_WEBUI_VERSION_HANDLER_H_
6 #define CHROME_BROWSER_UI_WEBUI_VERSION_HANDLER_H_ 6 #define CHROME_BROWSER_UI_WEBUI_VERSION_HANDLER_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/memory/weak_ptr.h" 10 #include "base/memory/weak_ptr.h"
11 #include "base/values.h" 11 #include "base/values.h"
12 #include "content/public/browser/web_ui_message_handler.h" 12 #include "chrome/browser/ui/webui/mojo_web_ui_handler.h"
13 #include "chrome/browser/ui/webui/version.mojom.h"
14 #include "content/public/browser/web_ui.h"
13 #include "content/public/common/webplugininfo.h" 15 #include "content/public/common/webplugininfo.h"
16 #include "mojo/public/cpp/bindings/strong_binding.h"
14 17
15 // Handler class for Version page operations. 18 // Handler class for Version page operations.
16 class VersionHandler : public content::WebUIMessageHandler { 19 class VersionHandler
20 : public MojoWebUIHandler,
21 public VersionHandlerMojo,
22 public base::SupportsWeakPtr<VersionHandler> {
17 public: 23 public:
18 VersionHandler(); 24 explicit VersionHandler(
sky 2015/12/04 16:35:52 nit: no explicit
dpapad 2015/12/04 18:13:15 Done.
25 content::WebUI* web_ui,
26 mojo::InterfaceRequest<VersionHandlerMojo> request);
19 ~VersionHandler() override; 27 ~VersionHandler() override;
20 28
21 // content::WebUIMessageHandler implementation. 29 // VersionHandlerMojo overrides:
22 void RegisterMessages() override; 30 void GetFilePaths(const GetFilePathsCallback& callback) override;
23 31 void GetFlashVersion(const GetFlashVersionCallback& callback) override;
24 // Callback for the "requestVersionInfo" message. This asynchronously requests 32 void GetVariations(const GetVariationsCallback& callback) override;
25 // the flash version and eventually returns it to the front end along with the 33 void GetOsVersion(const GetOsVersionCallback& callback) override;
26 // list of variations using OnGotPlugins.
27 virtual void HandleRequestVersionInfo(const base::ListValue* args);
28 34
29 private: 35 private:
30 // Callback which handles returning the executable and profile paths to the 36 // Callback which handles returning the executable and profile paths to the
31 // front end. 37 // front end.
32 void OnGotFilePaths(base::string16* executable_path_data, 38 void OnGotFilePaths(base::string16* executable_path_data,
33 base::string16* profile_path_data); 39 base::string16* profile_path_data,
40 const GetFilePathsCallback& callback);
34 41
42 #if defined(ENABLE_PLUGINS)
35 // Callback for GetPlugins which responds to the page with the Flash version. 43 // Callback for GetPlugins which responds to the page with the Flash version.
36 // This also initiates the OS Version load on ChromeOS. 44 // This also initiates the OS Version load on ChromeOS.
37 void OnGotPlugins(const std::vector<content::WebPluginInfo>& plugins); 45 void OnGotPlugins(const GetFlashVersionCallback& callback,
46 const std::vector<content::WebPluginInfo>& plugins);
47 #endif // defined(ENABLE_PLUGINS)
48 #if defined(OS_CHROMEOS)
49 void OnGotOsVersion(const GetOsVersionCallback& callback,
50 const std::string& version);
51 #endif // defined(OS_CHROMEOS)
38 52
39 // Factory for the creating refs in callbacks. 53 content::WebUI* web_ui_;
40 base::WeakPtrFactory<VersionHandler> weak_ptr_factory_; 54 mojo::StrongBinding<VersionHandlerMojo> binding_;
41 55
42 DISALLOW_COPY_AND_ASSIGN(VersionHandler); 56 DISALLOW_COPY_AND_ASSIGN(VersionHandler);
43 }; 57 };
44 58
45 #endif // CHROME_BROWSER_UI_WEBUI_VERSION_HANDLER_H_ 59 #endif // CHROME_BROWSER_UI_WEBUI_VERSION_HANDLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698