Chromium Code Reviews| 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..30fb23a7f8747dd201a5e2ee5974c20e9d44f023 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 CustomThemeSupplier; |
| class BrowserThemePack; |
| class ThemeServiceTest; |
| class ThemeSyncableService; |
| @@ -142,6 +143,13 @@ class ThemeService : public base::NonThreadSafe, |
| typedef std::map<base::FilePath, int> ImagesDiskCache; |
| protected: |
| + // Set a custom default theme instead of the normal default theme. |
| + virtual void SetCustomDefaultTheme( |
| + scoped_refptr<CustomThemeSupplier> theme_supplier); |
| + |
| + // If the native theme should be used as default. |
|
pkotwicz
2013/07/19 18:33:20
How about: "Returns true if the ThemeService shoul
Adrian Kuegel
2013/07/22 12:58:08
Done.
|
| + virtual bool ShouldInitWithNativeTheme(); |
| + |
| // Get the specified tint - |id| is one of the TINT_* enum values. |
| color_utils::HSL GetTint(int id) const; |
| @@ -167,9 +175,17 @@ class ThemeService : public base::NonThreadSafe, |
| void set_ready() { ready_ = true; } |
| + const CustomThemeSupplier* GetThemeSupplier() const { |
|
pkotwicz
2013/07/19 18:33:20
I think that get_theme_supplier() is the preferred
Adrian Kuegel
2013/07/22 12:58:08
Done.
|
| + return theme_supplier_.get(); |
| + } |
| + |
| private: |
| friend class ThemeServiceTest; |
| + // Replace the current theme supplier with a new one and call StopUsingTheme |
| + // or StartUsingTheme as appropriate. |
|
pkotwicz
2013/07/19 18:33:20
Nit: StartUsingTheme(), StopUsingTheme().
Adrian Kuegel
2013/07/22 12:58:08
Done.
|
| + void SwapThemeSupplier(scoped_refptr<CustomThemeSupplier> theme_supplier); |
| + |
| // Migrate the theme to the new theme pack schema by recreating the data pack |
| // from the extension. |
| void MigrateTheme(); |
| @@ -187,6 +203,8 @@ class ThemeService : public base::NonThreadSafe, |
| // Returns true if the profile belongs to a managed user. |
| bool IsManagedUser() const; |
| + void SetManagedUserTheme(); |
|
pkotwicz
2013/07/19 18:33:20
Add a comment here.
Adrian Kuegel
2013/07/22 12:58:08
Done.
|
| + |
| #if defined(TOOLKIT_GTK) |
| // Loads an image and flips it horizontally if |rtl_enabled| is true. |
| GdkPixbuf* GetPixbufImpl(int id, bool rtl_enabled) const; |
| @@ -215,7 +233,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<CustomThemeSupplier> theme_supplier_; |
| // The number of infobars currently displayed. |
| int number_of_infobars_; |