summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/views/frame/browser_frame_win.cc2
-rw-r--r--chrome/browser/views/frame/browser_frame_win.h2
-rw-r--r--views/widget/widget.h8
-rw-r--r--views/widget/widget_win.cc10
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;
}