Index: chrome/browser/ui/views/frame/browser_frame_win.cc |
=================================================================== |
--- chrome/browser/ui/views/frame/browser_frame_win.cc (revision 182293) |
+++ chrome/browser/ui/views/frame/browser_frame_win.cc (working copy) |
@@ -20,7 +20,6 @@ |
#include "chrome/browser/ui/browser_commands.h" |
#include "chrome/browser/ui/browser_finder.h" |
#include "chrome/browser/ui/tabs/tab_strip_model.h" |
-#include "chrome/browser/ui/views/frame/browser_frame_common_win.h" |
#include "chrome/browser/ui/views/frame/browser_view.h" |
#include "chrome/browser/ui/views/frame/system_menu_insertion_delegate_win.h" |
#include "chrome/browser/ui/views/tabs/tab_strip.h" |
@@ -277,9 +276,21 @@ |
} |
bool BrowserFrameWin::ShouldUseNativeFrame() const { |
- return chrome::ShouldUseNativeFrame(this, |
- browser_view_, |
- GetWidget()->GetThemeProvider()); |
+ // App panel windows draw their own frame. |
+ if (browser_view_->IsPanel()) |
+ return false; |
+ |
+ // We don't theme popup or app windows, so regardless of whether or not a |
+ // theme is active for normal browser windows, we don't want to use the custom |
+ // frame for popups/apps. |
+ if (!browser_view_->IsBrowserTypeNormal() && |
+ NativeWidgetWin::ShouldUseNativeFrame()) { |
+ return true; |
+ } |
+ |
+ // Otherwise, we use the native frame when we're told we should by the theme |
+ // provider (e.g. no custom theme is active). |
+ return GetWidget()->GetThemeProvider()->ShouldUseNativeFrame(); |
} |
void BrowserFrameWin::Show() { |