Index: ui/views/widget/widget.cc |
diff --git a/ui/views/widget/widget.cc b/ui/views/widget/widget.cc |
index c8b82395f73daa9de5b0ce9c800698caeea88652..fdcb32af915e97a73fead05becf0ac0c83dece35 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; |
} |