diff options
Diffstat (limited to 'chrome/browser/apps/shortcut_manager.h')
-rw-r--r-- | chrome/browser/apps/shortcut_manager.h | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/chrome/browser/apps/shortcut_manager.h b/chrome/browser/apps/shortcut_manager.h index b94101e..63e9112e 100644 --- a/chrome/browser/apps/shortcut_manager.h +++ b/chrome/browser/apps/shortcut_manager.h @@ -5,15 +5,21 @@ #ifndef CHROME_BROWSER_APPS_SHORTCUT_MANAGER_H_ #define CHROME_BROWSER_APPS_SHORTCUT_MANAGER_H_ +#include "base/scoped_observer.h" #include "chrome/browser/profiles/profile_info_cache_observer.h" #include "components/keyed_service/core/keyed_service.h" #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_registrar.h" +#include "extensions/browser/extension_registry_observer.h" #include "extensions/common/extension.h" class PrefService; class Profile; +namespace extensions { +class ExtensionRegistry; +} + namespace user_prefs { class PrefRegistrySyncable; } @@ -21,6 +27,7 @@ class PrefRegistrySyncable; // This class manages the installation of shortcuts for platform apps. class AppShortcutManager : public KeyedService, public content::NotificationObserver, + public extensions::ExtensionRegistryObserver, public ProfileInfoCacheObserver { public: static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry); @@ -33,12 +40,22 @@ class AppShortcutManager : public KeyedService, // creates shortcuts for all apps. void OnceOffCreateShortcuts(); - // content::NotificationObserver + // content::NotificationObserver. virtual void Observe(int type, const content::NotificationSource& source, const content::NotificationDetails& details) OVERRIDE; - // ProfileInfoCacheObserver + // extensions::ExtensionRegistryObserver. + virtual void OnExtensionWillBeInstalled( + content::BrowserContext* browser_context, + const extensions::Extension* extension, + bool is_update, + const std::string& old_name) OVERRIDE; + virtual void OnExtensionUninstalled( + content::BrowserContext* browser_context, + const extensions::Extension* extension) OVERRIDE; + + // ProfileInfoCacheObserver. virtual void OnProfileWillBeRemoved( const base::FilePath& profile_path) OVERRIDE; @@ -50,6 +67,10 @@ class AppShortcutManager : public KeyedService, bool is_profile_info_cache_observer_; PrefService* prefs_; + ScopedObserver<extensions::ExtensionRegistry, + extensions::ExtensionRegistryObserver> + extension_registry_observer_; + DISALLOW_COPY_AND_ASSIGN(AppShortcutManager); }; |