summaryrefslogtreecommitdiffstats
path: root/ui/views/window
diff options
context:
space:
mode:
authorbenrg@chromium.org <benrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-29 02:30:27 +0000
committerbenrg@chromium.org <benrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-29 02:30:27 +0000
commit512b0c6bd4bc22e4c6e658d47b5dc4cf12ba877a (patch)
tree45ac4857c8e46a5e3bd35b44db21c63fa57f7756 /ui/views/window
parent9f54f4310a2ed9d7c99e985d33dcb2b20714e85e (diff)
downloadchromium_src-512b0c6bd4bc22e4c6e658d47b5dc4cf12ba877a.zip
chromium_src-512b0c6bd4bc22e4c6e658d47b5dc4cf12ba877a.tar.gz
chromium_src-512b0c6bd4bc22e4c6e658d47b5dc4cf12ba877a.tar.bz2
Quick, hopefully temporary, fix for chromium issue 105609 and chromium-os issue 23461.
BUG=105609 TEST=dialog colors should be correct again Review URL: http://codereview.chromium.org/8725010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111842 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/views/window')
-rw-r--r--ui/views/window/dialog_client_view.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/ui/views/window/dialog_client_view.cc b/ui/views/window/dialog_client_view.cc
index 0f17255..0dd5ed2 100644
--- a/ui/views/window/dialog_client_view.cc
+++ b/ui/views/window/dialog_client_view.cc
@@ -10,6 +10,8 @@
#include <windows.h>
#include <uxtheme.h>
#include <vsstyle.h>
+#elif defined(TOOLKIT_USES_GTK)
+#include <gtk/gtk.h>
#endif
#include <algorithm>
@@ -304,8 +306,19 @@ const DialogClientView* DialogClientView::AsDialogClientView() const {
// DialogClientView, View overrides:
void DialogClientView::OnPaint(gfx::Canvas* canvas) {
+#if defined(TOOLKIT_USES_GTK)
+ // TODO(benrg): Unfortunately, GetSystemColor often returns the wrong color
+ // under GTK right now. This is meant to be a temporary fix. See related TODO
+ // in ui/gfx/native_theme_gtk.cc.
+ GtkWidget* widget = GetWidget()->GetNativeView();
+ if (!GTK_IS_WINDOW(widget))
+ return;
+ SkColor bg_color = gfx::GdkColorToSkColor(
+ gtk_widget_get_style(widget)->bg[GTK_STATE_NORMAL]);
+#else
SkColor bg_color = gfx::NativeTheme::instance()->GetSystemColor(
gfx::NativeTheme::kColorId_DialogBackground);
+#endif
canvas->FillRect(bg_color, GetLocalBounds());
}