| Index: chrome/browser/themes/theme_service.h
|
| diff --git a/chrome/browser/themes/theme_service.h b/chrome/browser/themes/theme_service.h
|
| index 89942ed3a205779057a18a48d42bf0aace80bc77..b29dde803a9f2cb5c041c2c2b76f49f21886f7be 100644
|
| --- a/chrome/browser/themes/theme_service.h
|
| +++ b/chrome/browser/themes/theme_service.h
|
| @@ -15,6 +15,8 @@
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/threading/non_thread_safe.h"
|
| #include "chrome/browser/profiles/profile_keyed_service.h"
|
| +#include "content/public/browser/notification_observer.h"
|
| +#include "content/public/browser/notification_registrar.h"
|
| #include "ui/base/theme_provider.h"
|
|
|
| class BrowserThemePack;
|
| @@ -47,6 +49,7 @@ extern "C" NSString* const kBrowserThemeDidChangeNotification;
|
| #endif // __OBJC__
|
|
|
| class ThemeService : public base::NonThreadSafe,
|
| + public content::NotificationObserver,
|
| public ProfileKeyedService,
|
| public ui::ThemeProvider {
|
| public:
|
| @@ -180,8 +183,6 @@ class ThemeService : public base::NonThreadSafe,
|
| #endif
|
|
|
| // Set the current theme to the theme defined in |extension|.
|
| - // |extension| must already be added to this profile's
|
| - // ExtensionService.
|
| virtual void SetTheme(const extensions::Extension* extension);
|
|
|
| // Reset the theme to default.
|
| @@ -273,6 +274,11 @@ class ThemeService : public base::NonThreadSafe,
|
|
|
| Profile* profile() { return profile_; }
|
|
|
| + // content::NotificationObserver:
|
| + virtual void Observe(int type,
|
| + const content::NotificationSource& source,
|
| + const content::NotificationDetails& details) OVERRIDE;
|
| +
|
| private:
|
| friend class ThemeServiceTest;
|
|
|
| @@ -314,6 +320,8 @@ class ThemeService : public base::NonThreadSafe,
|
| // The number of infobars currently displayed.
|
| int number_of_infobars_;
|
|
|
| + content::NotificationRegistrar registrar_;
|
| +
|
| scoped_ptr<ThemeSyncableService> theme_syncable_service_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ThemeService);
|
|
|