Chromium Code Reviews| Index: chrome/browser/extensions/tab_helper.h |
| diff --git a/chrome/browser/extensions/tab_helper.h b/chrome/browser/extensions/tab_helper.h |
| index 5e81fbaa75e5a9123e9368fb25fc02a8248b01a9..ad01c4b84706e5598be299b82cc44be2579f22fe 100644 |
| --- a/chrome/browser/extensions/tab_helper.h |
| +++ b/chrome/browser/extensions/tab_helper.h |
| @@ -16,10 +16,12 @@ |
| #include "base/scoped_observer.h" |
| #include "chrome/browser/extensions/active_tab_permission_granter.h" |
| #include "chrome/browser/extensions/extension_reenabler.h" |
| +#include "chrome/common/extensions/mojo/inline_install.mojom.h" |
| #include "chrome/common/extensions/webstore_install_result.h" |
| #include "chrome/common/web_application_info.h" |
| #include "content/public/browser/notification_observer.h" |
| #include "content/public/browser/notification_registrar.h" |
| +#include "content/public/browser/web_contents_binding_set.h" |
| #include "content/public/browser/web_contents_observer.h" |
| #include "content/public/browser/web_contents_user_data.h" |
| #include "extensions/browser/extension_function_dispatcher.h" |
| @@ -45,7 +47,8 @@ class TabHelper : public content::WebContentsObserver, |
| public ExtensionFunctionDispatcher::Delegate, |
| public ExtensionRegistryObserver, |
| public content::NotificationObserver, |
| - public content::WebContentsUserData<TabHelper> { |
| + public content::WebContentsUserData<TabHelper>, |
| + public mojom::InlineInstaller { |
| public: |
| ~TabHelper() override; |
| @@ -128,6 +131,7 @@ class TabHelper : public content::WebContentsObserver, |
| }; |
| explicit TabHelper(content::WebContents* web_contents); |
| + |
| friend class content::WebContentsUserData<TabHelper>; |
| // Displays UI for completion of creating a bookmark hosted app. |
| @@ -154,13 +158,15 @@ class TabHelper : public content::WebContentsObserver, |
| const Extension* extension, |
| UnloadedExtensionInfo::Reason reason) override; |
| + // mojom::InlineInstall: |
| + void DoInlineInstall(int install_id, |
| + const std::string& webstore_item_id, |
| + int listeners_mask, |
| + extensions::mojom::InlineInstallProgressListenerPtr |
|
Devlin
2017/05/05 20:43:47
Remember, no need for extensions:: prefix
catmullings
2017/05/06 00:12:57
Done.
|
| + install_progress_listener) override; |
| + |
| // Message handlers. |
| void OnDidGetWebApplicationInfo(const WebApplicationInfo& info); |
| - void OnInlineWebstoreInstall(content::RenderFrameHost* host, |
| - int install_id, |
| - int return_route_id, |
| - const std::string& webstore_item_id, |
| - int listeners_mask); |
| void OnGetAppInstallState(content::RenderFrameHost* host, |
| const GURL& requestor_url, |
| int return_route_id, |
| @@ -182,7 +188,6 @@ class TabHelper : public content::WebContentsObserver, |
| // WebstoreStandaloneInstaller::Callback. |
| void OnInlineInstallComplete(int install_id, |
| - int return_route_id, |
| const ExtensionId& extension_id, |
| bool success, |
| const std::string& error, |
| @@ -190,7 +195,6 @@ class TabHelper : public content::WebContentsObserver, |
| // ExtensionReenabler::Callback. |
| void OnReenableComplete(int install_id, |
| - int return_route_id, |
| const ExtensionId& extension_id, |
| ExtensionReenabler::ReenableResult result); |
| @@ -263,6 +267,13 @@ class TabHelper : public content::WebContentsObserver, |
| // The set of extension ids that are currently being installed. |
| std::set<ExtensionId> pending_inline_installations_; |
| + content::WebContentsFrameBindingSet<extensions::mojom::InlineInstaller> |
| + bindings_; |
| + |
| + // Map of mojo interace ptrs to InlineInstallProgressListeners. |
| + std::map<ExtensionId, mojom::InlineInstallProgressListenerPtr> |
| + inline_install_progress_listeners_; |
| + |
| // Vend weak pointers that can be invalidated to stop in-progress loads. |
| base::WeakPtrFactory<TabHelper> image_loader_ptr_factory_; |