| Index: chrome/browser/themes/theme_service.h
 | 
| diff --git a/chrome/browser/themes/theme_service.h b/chrome/browser/themes/theme_service.h
 | 
| index f13e5c1cd8e21f879869a177985db56dcc9e1897..031a8bc977e0160493d8f944077b690c9e1c1f22 100644
 | 
| --- a/chrome/browser/themes/theme_service.h
 | 
| +++ b/chrome/browser/themes/theme_service.h
 | 
| @@ -18,6 +18,7 @@
 | 
|  #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 "ui/base/theme_provider.h"
 | 
|  
 | 
|  class CustomThemeSupplier;
 | 
| @@ -35,6 +36,7 @@ struct HSL;
 | 
|  
 | 
|  namespace extensions {
 | 
|  class Extension;
 | 
| +class ExtensionRegistry;
 | 
|  }
 | 
|  
 | 
|  namespace gfx {
 | 
| @@ -58,6 +60,7 @@ extern "C" NSString* const kBrowserThemeDidChangeNotification;
 | 
|  
 | 
|  class ThemeService : public base::NonThreadSafe,
 | 
|                       public content::NotificationObserver,
 | 
| +                     public extensions::ExtensionRegistryObserver,
 | 
|                       public KeyedService,
 | 
|                       public ui::ThemeProvider {
 | 
|   public:
 | 
| @@ -98,6 +101,23 @@ class ThemeService : public base::NonThreadSafe,
 | 
|                         const content::NotificationSource& source,
 | 
|                         const content::NotificationDetails& details) OVERRIDE;
 | 
|  
 | 
| +  // Overridden from extensions::ExtensionRegistryObserver:
 | 
| +  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 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;
 | 
| +
 | 
|    // Set the current theme to the theme defined in |extension|.
 | 
|    // |extension| must already be added to this profile's
 | 
|    // ExtensionService.
 | 
| @@ -245,6 +265,8 @@ class ThemeService : public base::NonThreadSafe,
 | 
|  
 | 
|    content::NotificationRegistrar registrar_;
 | 
|  
 | 
| +  extensions::ExtensionRegistry* extension_registry_;
 | 
| +
 | 
|    scoped_ptr<ThemeSyncableService> theme_syncable_service_;
 | 
|  
 | 
|    base::WeakPtrFactory<ThemeService> weak_ptr_factory_;
 | 
| 
 |