Chromium Code Reviews| Index: chrome/browser/ui/extensions/extension_enable_flow.h |
| diff --git a/chrome/browser/ui/extensions/extension_enable_flow.h b/chrome/browser/ui/extensions/extension_enable_flow.h |
| index dea94f071487070c5d980ff9976dfeb30c2a6683..0b6b187b52c04359dd9069e9ee1d62c1a0c9f66c 100644 |
| --- a/chrome/browser/ui/extensions/extension_enable_flow.h |
| +++ b/chrome/browser/ui/extensions/extension_enable_flow.h |
| @@ -10,10 +10,12 @@ |
| #include "base/basictypes.h" |
| #include "base/callback.h" |
| #include "base/compiler_specific.h" |
| +#include "base/scoped_observer.h" |
| #include "chrome/browser/extensions/extension_install_prompt.h" |
| #include "content/public/browser/notification_observer.h" |
| #include "content/public/browser/notification_registrar.h" |
| #include "content/public/browser/page_navigator.h" |
| +#include "extensions/browser/extension_registry_observer.h" |
| class ExtensionEnableFlowDelegate; |
| @@ -22,6 +24,10 @@ class PageNavigator; |
| class WebContents; |
| } |
| +namespace extensions { |
| +class ExtensionRegistry; |
| +} |
| + |
| // ExtensionEnableFlow performs an UI flow to enable a disabled/terminated |
| // extension. It calls its delegate when enabling is done or is aborted. |
| // Callback on the delegate might be called synchronously if there is no |
| @@ -31,7 +37,8 @@ class WebContents; |
| // flow is aborted when user declines it. |
| class ExtensionEnableFlow : public ExtensionInstallPrompt::Delegate, |
| public content::PageNavigator, |
| - public content::NotificationObserver { |
| + public content::NotificationObserver, |
| + public extensions::ExtensionRegistryObserver { |
| public: |
| ExtensionEnableFlow(Profile* profile, |
| const std::string& extension_id, |
| @@ -77,6 +84,11 @@ class ExtensionEnableFlow : public ExtensionInstallPrompt::Delegate, |
| const content::NotificationSource& source, |
| const content::NotificationDetails& details) OVERRIDE; |
| + // extensions::ExtensionRegistryObserver overrides: |
| + virtual void OnExtensionLoaded( |
| + content::BrowserContext* browser_context, |
| + const extensions::Extension* extension) OVERRIDE; |
| + |
| // ExtensionInstallPrompt::Delegate overrides: |
| virtual void InstallUIProceed() OVERRIDE; |
| virtual void InstallUIAbort(bool user_initiated) OVERRIDE; |
| @@ -104,6 +116,10 @@ class ExtensionEnableFlow : public ExtensionInstallPrompt::Delegate, |
| scoped_ptr<ExtensionInstallPrompt> prompt_; |
| content::NotificationRegistrar registrar_; |
| + // Listen to extension load notification. |
| + ScopedObserver<extensions::ExtensionRegistry, ExtensionRegistryObserver> |
|
benwells
2014/05/13 01:40:50
You should have extensions::ExtensionRegistryObser
limasdf
2014/05/13 06:19:27
Done.
|
| + extension_registry_observer_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(ExtensionEnableFlow); |
| }; |