| Index: chrome/browser/themes/theme_service.h
|
| diff --git a/chrome/browser/themes/theme_service.h b/chrome/browser/themes/theme_service.h
|
| index b6d88696267ebb318459f68a2acea6dd0b853c27..8bbdc84047b74494e36b8350268ab1ad97af5452 100644
|
| --- a/chrome/browser/themes/theme_service.h
|
| +++ b/chrome/browser/themes/theme_service.h
|
| @@ -19,6 +19,7 @@
|
| #include "content/public/browser/notification_registrar.h"
|
| #include "ui/base/theme_provider.h"
|
|
|
| +class CustomThemeProvider;
|
| class BrowserThemePack;
|
| class ThemeServiceTest;
|
| class ThemeSyncableService;
|
| @@ -104,6 +105,10 @@ class ThemeService : public base::NonThreadSafe,
|
| // ExtensionService.
|
| virtual void SetTheme(const extensions::Extension* extension);
|
|
|
| + // Set a custom default theme instead of the normal default theme.
|
| + virtual void SetCustomDefaultTheme(
|
| + scoped_refptr<CustomThemeProvider> theme_provider);
|
| +
|
| // Reset the theme to default.
|
| virtual void UseDefaultTheme();
|
|
|
| @@ -167,6 +172,10 @@ class ThemeService : public base::NonThreadSafe,
|
|
|
| void set_ready() { ready_ = true; }
|
|
|
| + const CustomThemeProvider* GetThemeProvider() const {
|
| + return theme_provider_.get();
|
| + }
|
| +
|
| private:
|
| friend class ThemeServiceTest;
|
|
|
| @@ -215,7 +224,7 @@ class ThemeService : public base::NonThreadSafe,
|
| // ThemeSource no longer uses the ThemeService when it is not ready.
|
| bool ready_;
|
|
|
| - scoped_refptr<BrowserThemePack> theme_pack_;
|
| + scoped_refptr<CustomThemeProvider> theme_provider_;
|
|
|
| // The number of infobars currently displayed.
|
| int number_of_infobars_;
|
|
|