diff options
author | benrg@chromium.org <benrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-29 02:30:27 +0000 |
---|---|---|
committer | benrg@chromium.org <benrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-29 02:30:27 +0000 |
commit | 512b0c6bd4bc22e4c6e658d47b5dc4cf12ba877a (patch) | |
tree | 45ac4857c8e46a5e3bd35b44db21c63fa57f7756 /ui/views/window | |
parent | 9f54f4310a2ed9d7c99e985d33dcb2b20714e85e (diff) | |
download | chromium_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.cc | 13 |
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()); } |