| Index: chrome/browser/ui/app_list/search/webstore/webstore_result.h
|
| diff --git a/chrome/browser/ui/app_list/search/webstore/webstore_result.h b/chrome/browser/ui/app_list/search/webstore/webstore_result.h
|
| index c9af4cc21a371118f9f974c215e3021153ab21a2..9160f0f7de048e2dd0786e78bdee7b1e062f110b 100644
|
| --- a/chrome/browser/ui/app_list/search/webstore/webstore_result.h
|
| +++ b/chrome/browser/ui/app_list/search/webstore/webstore_result.h
|
| @@ -11,19 +11,22 @@
|
| #include "base/memory/weak_ptr.h"
|
| #include "chrome/browser/extensions/install_observer.h"
|
| #include "chrome/browser/ui/app_list/search/chrome_search_result.h"
|
| +#include "extensions/browser/extension_registry_observer.h"
|
| #include "url/gurl.h"
|
|
|
| class AppListControllerDelegate;
|
| class Profile;
|
|
|
| namespace extensions {
|
| +class ExtensionRegistry;
|
| class InstallTracker;
|
| }
|
|
|
| namespace app_list {
|
|
|
| class WebstoreResult : public ChromeSearchResult,
|
| - public extensions::InstallObserver {
|
| + public extensions::InstallObserver,
|
| + public extensions::ExtensionRegistryObserver {
|
| public:
|
| WebstoreResult(Profile* profile,
|
| const std::string& app_id,
|
| @@ -46,16 +49,26 @@ class WebstoreResult : public ChromeSearchResult,
|
| void StartInstall(bool launch_ephemeral_app);
|
| void InstallCallback(bool success, const std::string& error);
|
|
|
| - void StartObservingInstall();
|
| + // Start observing both InstallObserver and ExtensionRegistryObserver.
|
| + void StartObserving();
|
| +
|
| void StopObservingInstall();
|
| + void StopObservingRegistry();
|
|
|
| // extensions::InstallObserver overrides:
|
| virtual void OnDownloadProgress(const std::string& extension_id,
|
| int percent_downloaded) OVERRIDE;
|
| - virtual void OnExtensionInstalled(
|
| - const extensions::Extension* extension) OVERRIDE;
|
| virtual void OnShutdown() OVERRIDE;
|
|
|
| + // extensions::ExtensionRegistryObserver overides:
|
| + virtual void OnExtensionWillBeInstalled(
|
| + content::BrowserContext* browser_context,
|
| + const extensions::Extension* extension,
|
| + bool is_update,
|
| + bool from_ephemeral,
|
| + const std::string& old_name) OVERRIDE;
|
| + virtual void OnShutdown(extensions::ExtensionRegistry* registry) OVERRIDE;
|
| +
|
| Profile* profile_;
|
| const std::string app_id_;
|
| const std::string localized_name_;
|
| @@ -66,6 +79,7 @@ class WebstoreResult : public ChromeSearchResult,
|
|
|
| AppListControllerDelegate* controller_;
|
| extensions::InstallTracker* install_tracker_; // Not owned.
|
| + extensions::ExtensionRegistry* extension_registry_; // Not owned.
|
|
|
| DISALLOW_COPY_AND_ASSIGN(WebstoreResult);
|
| };
|
|
|