summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authorerg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-26 20:04:56 +0000
committererg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-26 20:04:56 +0000
commit3b289184e3b56b26cf590a3b2413f578e9e52518 (patch)
tree6a76d68c08572281b2b638968e8d75f42442dd9a /chrome/browser
parent11e5edf55bffa304eff26bad2588bcb8e612777e (diff)
downloadchromium_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.cc4
-rw-r--r--chrome/browser/browser_theme_provider.h4
-rwxr-xr-xchrome/browser/debugger/devtools_window.cc4
-rw-r--r--chrome/browser/gtk/gtk_theme_provider.cc4
-rw-r--r--chrome/browser/gtk/gtk_theme_provider.h1
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,