summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorerg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-19 20:03:34 +0000
committererg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-19 20:03:34 +0000
commit424525b6f6e505ef34be14b9400dfd424997b93e (patch)
tree8794e51584e3ac10a263f7ec9bf4a54ab5a70e36
parent4d67720512d8cf6b92d350a86f3fbacff45b4c75 (diff)
downloadchromium_src-424525b6f6e505ef34be14b9400dfd424997b93e.zip
chromium_src-424525b6f6e505ef34be14b9400dfd424997b93e.tar.gz
chromium_src-424525b6f6e505ef34be14b9400dfd424997b93e.tar.bz2
Fix native GTK interface.
In r21039, BrowserThemeProvider::Init was made non-virtual, which meant that GtkBrowserThemeProvider::Init was never being called. Make it virtual again (so the linux UI renders properly), and explicitly add Init() to the ThemeProvider interface so this doesn't happen again. Review URL: http://codereview.chromium.org/155754 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21066 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--app/theme_provider.h4
-rw-r--r--chrome/browser/browser_theme_provider.h3
2 files changed, 5 insertions, 2 deletions
diff --git a/app/theme_provider.h b/app/theme_provider.h
index 5dddd99..ef19724 100644
--- a/app/theme_provider.h
+++ b/app/theme_provider.h
@@ -20,6 +20,7 @@ class NSImage;
#endif // __OBJC__
#endif // OS_*
+class Profile;
class SkBitmap;
////////////////////////////////////////////////////////////////////////////////
@@ -35,6 +36,9 @@ class ThemeProvider {
public:
virtual ~ThemeProvider();
+ // Initialize the provider with the passed in profile.
+ virtual void Init(Profile* profile) = 0;
+
// Get the bitmap specified by |id|. An implementation of ThemeProvider should
// have its own source of ids (e.g. an enum, or external resource bundle).
virtual SkBitmap* GetBitmapNamed(int id) = 0;
diff --git a/chrome/browser/browser_theme_provider.h b/chrome/browser/browser_theme_provider.h
index 4787c000..3e42036 100644
--- a/chrome/browser/browser_theme_provider.h
+++ b/chrome/browser/browser_theme_provider.h
@@ -143,9 +143,8 @@ class BrowserThemeProvider : public base::RefCounted<BrowserThemeProvider>,
REPEAT = 3
} Tiling;
- void Init(Profile* profile);
-
// ThemeProvider implementation.
+ virtual void Init(Profile* profile);
virtual SkBitmap* GetBitmapNamed(int id);
virtual SkColor GetColor(int id);
virtual bool GetDisplayProperty(int id, int* result);