Index: chrome/browser/ui/views/frame/browser_frame.cc |
diff --git a/chrome/browser/ui/views/frame/browser_frame.cc b/chrome/browser/ui/views/frame/browser_frame.cc |
index c14948ca4b4e600d23478ae7301a20555c56dc1e..2d4099352cddcf90953b5b6557f332edd8200687 100644 |
--- a/chrome/browser/ui/views/frame/browser_frame.cc |
+++ b/chrome/browser/ui/views/frame/browser_frame.cc |
@@ -24,7 +24,6 @@ |
#include "chrome/browser/ui/views/frame/system_menu_model_builder.h" |
#include "chrome/browser/ui/views/frame/top_container_view.h" |
#include "ui/base/hit_test.h" |
-#include "ui/base/theme_provider.h" |
#include "ui/events/event_handler.h" |
#include "ui/gfx/font_list.h" |
#include "ui/gfx/screen.h" |
@@ -52,10 +51,7 @@ BrowserFrame::BrowserFrame(BrowserView* browser_view) |
: native_browser_frame_(nullptr), |
root_view_(nullptr), |
browser_frame_view_(nullptr), |
- browser_view_(browser_view), |
- theme_provider_( |
- &ThemeService::GetThemeProviderForProfile(browser_view_->browser() |
- ->profile())) { |
+ browser_view_(browser_view) { |
browser_view_->set_frame(this); |
set_is_secondary_widget(false); |
// Don't focus anything on creation, selecting a tab will set the focus. |
@@ -85,15 +81,6 @@ void BrowserFrame::InitBrowserFrame() { |
¶ms.show_state); |
} |
- if (browser_view_->browser()->profile()->GetProfileType() == |
- Profile::INCOGNITO_PROFILE) { |
-#if defined(OS_WIN) |
- params.native_theme = ui::NativeThemeDarkWin::instance(); |
-#elif defined(OS_CHROMEOS) |
- params.native_theme = ui::NativeThemeDarkAura::instance(); |
-#endif |
- } |
- |
Init(params); |
if (!native_browser_frame_->UsesNativeSystemMenu()) { |
@@ -177,7 +164,22 @@ bool BrowserFrame::GetAccelerator(int command_id, |
} |
const ui::ThemeProvider* BrowserFrame::GetThemeProvider() const { |
- return theme_provider_; |
+ return &ThemeService::GetThemeProviderForProfile( |
+ browser_view_->browser()->profile()); |
+} |
+ |
+const ui::NativeTheme* BrowserFrame::GetNativeTheme() const { |
+ if (browser_view_->browser()->profile()->GetProfileType() == |
+ Profile::INCOGNITO_PROFILE && |
+ ThemeServiceFactory::GetForProfile(browser_view_->browser()->profile()) |
+ ->UsingDefaultTheme()) { |
+#if defined(OS_WIN) |
+ return ui::NativeThemeDarkWin::instance(); |
+#elif defined(OS_CHROMEOS) |
+ return ui::NativeThemeDarkAura::instance(); |
+#endif |
+ } |
+ return views::Widget::GetNativeTheme(); |
} |
void BrowserFrame::SchedulePaintInRect(const gfx::Rect& rect) { |