diff options
-rw-r--r-- | chrome/browser/views/frame/browser_frame_win.cc | 2 | ||||
-rw-r--r-- | chrome/browser/views/frame/browser_frame_win.h | 2 | ||||
-rw-r--r-- | views/widget/widget.h | 8 | ||||
-rw-r--r-- | views/widget/widget_win.cc | 10 |
4 files changed, 14 insertions, 8 deletions
diff --git a/chrome/browser/views/frame/browser_frame_win.cc b/chrome/browser/views/frame/browser_frame_win.cc index 0e76a4d..505f28b 100644 --- a/chrome/browser/views/frame/browser_frame_win.cc +++ b/chrome/browser/views/frame/browser_frame_win.cc @@ -90,7 +90,7 @@ ThemeProvider* BrowserFrameWin::GetThemeProvider() const { return profile_->GetThemeProvider(); } -ThemeProvider* BrowserFrameWin::GetDialogThemeProvider() const { +ThemeProvider* BrowserFrameWin::GetDefaultThemeProvider() const { return profile_->GetThemeProvider(); } diff --git a/chrome/browser/views/frame/browser_frame_win.h b/chrome/browser/views/frame/browser_frame_win.h index a3aa30d..64dc1c6 100644 --- a/chrome/browser/views/frame/browser_frame_win.h +++ b/chrome/browser/views/frame/browser_frame_win.h @@ -44,7 +44,7 @@ class BrowserFrameWin : public BrowserFrame, public views::WindowWin { // Overridden from views::Widget. virtual ThemeProvider* GetThemeProvider() const; - virtual ThemeProvider* GetDialogThemeProvider() const; + virtual ThemeProvider* GetDefaultThemeProvider() const; BrowserView* browser_view() const { return browser_view_; } diff --git a/views/widget/widget.h b/views/widget/widget.h index efa16c5..14a61a0 100644 --- a/views/widget/widget.h +++ b/views/widget/widget.h @@ -104,10 +104,10 @@ class Widget { // Get the theme provider. virtual ThemeProvider* GetThemeProvider() const { return NULL; } - // Get the dialog theme provider; this is necessary for when a dialog has - // no profile (and ThemeProvider) associated with it. The dialog theme - // provider provides a default set of bitmaps that such dialogs can use. - virtual ThemeProvider* GetDialogThemeProvider() { return NULL; } + // Get the default theme provider; this is necessary for when a widget has + // no profile (and ThemeProvider) associated with it. The default theme + // provider provides a default set of bitmaps that such widgets can use. + virtual ThemeProvider* GetDefaultThemeProvider() { return NULL; } }; } // namespace views diff --git a/views/widget/widget_win.cc b/views/widget/widget_win.cc index 79ec700..2d4d3ac 100644 --- a/views/widget/widget_win.cc +++ b/views/widget/widget_win.cc @@ -395,8 +395,14 @@ TooltipManager* WidgetWin::GetTooltipManager() { ThemeProvider* WidgetWin::GetThemeProvider() const { Widget* widget = GetRootWidget(); - if (widget) { - ThemeProvider* provider = widget->GetDialogThemeProvider(); + if (widget && widget != this) { + // Attempt to get the theme provider, and fall back to the default theme + // provider if not found. + ThemeProvider* provider = widget->GetThemeProvider(); + if (provider) + return provider; + + provider = widget->GetDefaultThemeProvider(); if (provider) return provider; } |