| Index: chrome/browser/ui/app_list/extension_app_model_builder.h
|
| diff --git a/chrome/browser/ui/app_list/extension_app_model_builder.h b/chrome/browser/ui/app_list/extension_app_model_builder.h
|
| index 76585e4e14b9f160f1569d47398938e0da430604..2e9a54dbaa159cad842b8d8138e7c3385ca08833 100644
|
| --- a/chrome/browser/ui/app_list/extension_app_model_builder.h
|
| +++ b/chrome/browser/ui/app_list/extension_app_model_builder.h
|
| @@ -10,7 +10,9 @@
|
|
|
| #include "base/gtest_prod_util.h"
|
| #include "base/prefs/pref_change_registrar.h"
|
| +#include "base/scoped_observer.h"
|
| #include "chrome/browser/extensions/install_observer.h"
|
| +#include "extensions/browser/extension_registry_observer.h"
|
| #include "ui/app_list/app_list_model.h"
|
| #include "ui/base/models/list_model_observer.h"
|
|
|
| @@ -24,6 +26,7 @@ class AppListSyncableService;
|
|
|
| namespace extensions {
|
| class Extension;
|
| +class ExtensionRegistry;
|
| class ExtensionSet;
|
| class InstallTracker;
|
| }
|
| @@ -35,6 +38,7 @@ class ImageSkia;
|
| // This class populates and maintains the given |model| with information from
|
| // |profile|.
|
| class ExtensionAppModelBuilder : public extensions::InstallObserver,
|
| + public extensions::ExtensionRegistryObserver,
|
| public app_list::AppListItemListObserver {
|
| public:
|
| explicit ExtensionAppModelBuilder(AppListControllerDelegate* controller);
|
| @@ -53,25 +57,31 @@ class ExtensionAppModelBuilder : public extensions::InstallObserver,
|
| // Builds the model with the current profile.
|
| void BuildModel();
|
|
|
| - // extensions::InstallObserver
|
| + // extensions::InstallObserver.
|
| virtual void OnBeginExtensionInstall(
|
| const ExtensionInstallParams& params) OVERRIDE;
|
| virtual void OnDownloadProgress(const std::string& extension_id,
|
| int percent_downloaded) OVERRIDE;
|
| virtual void OnInstallFailure(const std::string& extension_id) OVERRIDE;
|
| - virtual void OnExtensionLoaded(
|
| - const extensions::Extension* extension) OVERRIDE;
|
| - virtual void OnExtensionUnloaded(
|
| - const extensions::Extension* extension) OVERRIDE;
|
| - virtual void OnExtensionUninstalled(
|
| - const extensions::Extension* extension) OVERRIDE;
|
| virtual void OnDisabledExtensionUpdated(
|
| const extensions::Extension* extension) OVERRIDE;
|
| virtual void OnAppInstalledToAppList(
|
| const std::string& extension_id) OVERRIDE;
|
| virtual void OnShutdown() OVERRIDE;
|
|
|
| - // AppListItemListObserver
|
| + // extensions::ExtensionRegistryObserver.
|
| + virtual void OnExtensionLoaded(
|
| + content::BrowserContext* browser_context,
|
| + const extensions::Extension* extension) OVERRIDE;
|
| + virtual void OnExtensionUnloaded(
|
| + content::BrowserContext* browser_context,
|
| + const extensions::Extension* extension,
|
| + extensions::UnloadedExtensionInfo::Reason reason) OVERRIDE;
|
| + virtual void OnExtensionUninstalled(
|
| + content::BrowserContext* browser_context,
|
| + const extensions::Extension* extension) OVERRIDE;
|
| +
|
| + // AppListItemListObserver.
|
| virtual void OnListItemMoved(size_t from_index,
|
| size_t to_index,
|
| app_list::AppListItem* item) OVERRIDE;
|
| @@ -134,6 +144,11 @@ class ExtensionAppModelBuilder : public extensions::InstallObserver,
|
| // We listen to this to show app installing progress.
|
| extensions::InstallTracker* tracker_;
|
|
|
| + // Listen extension's load, unload, uninstalled.
|
| + ScopedObserver<extensions::ExtensionRegistry,
|
| + extensions::ExtensionRegistryObserver>
|
| + extension_registry_observer_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(ExtensionAppModelBuilder);
|
| };
|
|
|
|
|