summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-19 11:45:08 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-19 11:45:08 +0000
commited179c4f50d0146345d0118c20e84ff64da1e0ec (patch)
tree387addca5839ea4604d9abcd6379248268ed5d27 /ui
parentf6841b937e68a62b022bc8751478ec3602cacf7a (diff)
downloadchromium_src-ed179c4f50d0146345d0118c20e84ff64da1e0ec.zip
chromium_src-ed179c4f50d0146345d0118c20e84ff64da1e0ec.tar.gz
chromium_src-ed179c4f50d0146345d0118c20e84ff64da1e0ec.tar.bz2
Fix first time switching from classic to GTK theme.
Make sure Widget observes the correct NativeTheme. Wait until everything else is done initializing so GetNativeTheme() returns the right thing. BUG=384492 Review URL: https://codereview.chromium.org/330873003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@278334 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui')
-rw-r--r--ui/views/widget/widget.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/ui/views/widget/widget.cc b/ui/views/widget/widget.cc
index c8b8239..fdcb32a 100644
--- a/ui/views/widget/widget.cc
+++ b/ui/views/widget/widget.cc
@@ -356,7 +356,6 @@ void Widget::Init(const InitParams& in_params) {
internal::NativeWidgetPrivate::IsMouseButtonDown();
}
native_widget_->InitNativeWidget(params);
- observer_manager_.Add(GetNativeTheme());
if (RequiresNonClientView(params.type)) {
non_client_view_ = new NonClientView;
non_client_view_->SetFrameView(CreateNonClientFrameView());
@@ -378,6 +377,9 @@ void Widget::Init(const InitParams& in_params) {
SetContentsView(params.delegate->GetContentsView());
SetInitialBoundsForFramelessWindow(params.bounds);
}
+ // This must come after SetContentsView() or it might not be able to find
+ // the correct NativeTheme (on Linux). See http://crbug.com/384492
+ observer_manager_.Add(GetNativeTheme());
native_widget_initialized_ = true;
}