diff options
author | erg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-26 20:04:56 +0000 |
---|---|---|
committer | erg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-26 20:04:56 +0000 |
commit | 3b289184e3b56b26cf590a3b2413f578e9e52518 (patch) | |
tree | 6a76d68c08572281b2b638968e8d75f42442dd9a /chrome/browser | |
parent | 11e5edf55bffa304eff26bad2588bcb8e612777e (diff) | |
download | chromium_src-3b289184e3b56b26cf590a3b2413f578e9e52518.zip chromium_src-3b289184e3b56b26cf590a3b2413f578e9e52518.tar.gz chromium_src-3b289184e3b56b26cf590a3b2413f578e9e52518.tar.bz2 |
GTK: Support themes in the devtools window in GTK mode too.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/1762009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45606 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r-- | chrome/browser/browser_theme_provider.cc | 4 | ||||
-rw-r--r-- | chrome/browser/browser_theme_provider.h | 4 | ||||
-rwxr-xr-x | chrome/browser/debugger/devtools_window.cc | 4 | ||||
-rw-r--r-- | chrome/browser/gtk/gtk_theme_provider.cc | 4 | ||||
-rw-r--r-- | chrome/browser/gtk/gtk_theme_provider.h | 1 |
5 files changed, 15 insertions, 2 deletions
diff --git a/chrome/browser/browser_theme_provider.cc b/chrome/browser/browser_theme_provider.cc index 92fefc3..9c7912d 100644 --- a/chrome/browser/browser_theme_provider.cc +++ b/chrome/browser/browser_theme_provider.cc @@ -305,6 +305,10 @@ void BrowserThemeProvider::UseDefaultTheme() { UserMetrics::RecordAction(UserMetricsAction("Themes_Reset"), profile_); } +bool BrowserThemeProvider::UsingDefaultTheme() { + return GetThemeID() == BrowserThemeProvider::kDefaultThemeID; +} + std::string BrowserThemeProvider::GetThemeID() const { std::wstring id = profile_->GetPrefs()->GetString(prefs::kCurrentThemeID); return WideToUTF8(id); diff --git a/chrome/browser/browser_theme_provider.h b/chrome/browser/browser_theme_provider.h index 0af39cb..0cb4b15 100644 --- a/chrome/browser/browser_theme_provider.h +++ b/chrome/browser/browser_theme_provider.h @@ -152,6 +152,10 @@ class BrowserThemeProvider : public NonThreadSafe, // theme is the default theme. virtual void SetNativeTheme() { UseDefaultTheme(); } + // Whether we're using the chrome default theme. Virtual so linux can check + // if we're using the GTK theme. + virtual bool UsingDefaultTheme(); + // Gets the id of the last installed theme. (The theme may have been further // locally customized.) std::string GetThemeID() const; diff --git a/chrome/browser/debugger/devtools_window.cc b/chrome/browser/debugger/devtools_window.cc index 719f4a0..533384f 100755 --- a/chrome/browser/debugger/devtools_window.cc +++ b/chrome/browser/debugger/devtools_window.cc @@ -244,7 +244,7 @@ void DevToolsWindow::Observe(NotificationType type, if (type == NotificationType::LOAD_STOP) { SetAttachedWindow(); is_loaded_ = true; - UpdateTheme(); + UpdateTheme(); if (open_console_on_load_) { DoOpenConsole(); open_console_on_load_ = false; @@ -288,7 +288,7 @@ void DevToolsWindow::UpdateTheme() { BrowserThemeProvider* tp = profile_->GetThemeProvider(); CHECK(tp); std::string command; - if (tp->GetThemeID() == BrowserThemeProvider::kDefaultThemeID || !docked_) { + if (tp->UsingDefaultTheme() || !docked_) { command = "WebInspector.resetToolbarColors()"; } else { SkColor color_toolbar = diff --git a/chrome/browser/gtk/gtk_theme_provider.cc b/chrome/browser/gtk/gtk_theme_provider.cc index c53bf5e..be3c358c 100644 --- a/chrome/browser/gtk/gtk_theme_provider.cc +++ b/chrome/browser/gtk/gtk_theme_provider.cc @@ -232,6 +232,10 @@ void GtkThemeProvider::SetNativeTheme() { NotifyThemeChanged(NULL); } +bool GtkThemeProvider::UsingDefaultTheme() { + return !use_gtk_ && BrowserThemeProvider::UsingDefaultTheme(); +} + void GtkThemeProvider::Observe(NotificationType type, const NotificationSource& source, const NotificationDetails& details) { diff --git a/chrome/browser/gtk/gtk_theme_provider.h b/chrome/browser/gtk/gtk_theme_provider.h index 227bbbe..40522b6 100644 --- a/chrome/browser/gtk/gtk_theme_provider.h +++ b/chrome/browser/gtk/gtk_theme_provider.h @@ -44,6 +44,7 @@ class GtkThemeProvider : public BrowserThemeProvider, virtual void SetTheme(Extension* extension); virtual void UseDefaultTheme(); virtual void SetNativeTheme(); + virtual bool UsingDefaultTheme(); // Overridden from NotificationObserver: virtual void Observe(NotificationType type, |