OLD | NEW |
| (Empty) |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "chrome/browser/ui/views/frame/browser_frame_common_win.h" | |
6 | |
7 #include "chrome/browser/ui/views/frame/browser_view.h" | |
8 #include "ui/base/theme_provider.h" | |
9 #include "ui/views/widget/native_widget_private.h" | |
10 | |
11 namespace chrome { | |
12 | |
13 bool ShouldUseNativeFrame( | |
14 const views::internal::NativeWidgetPrivate* native_widget, | |
15 const BrowserView* browser_view, | |
16 const ui::ThemeProvider* theme_provider) { | |
17 // App panel windows draw their own frame. | |
18 if (browser_view->IsPanel()) | |
19 return false; | |
20 | |
21 // We don't theme popup or app windows, so regardless of whether or not a | |
22 // theme is active for normal browser windows, we don't want to use the custom | |
23 // frame for popups/apps. | |
24 if (!browser_view->IsBrowserTypeNormal() && | |
25 native_widget->ShouldUseNativeFrame()) { | |
26 return true; | |
27 } | |
28 // Otherwise, we use the native frame when we're told we should by the theme | |
29 // provider (e.g. no custom theme is active). | |
30 return theme_provider->ShouldUseNativeFrame(); | |
31 } | |
32 | |
33 } // namespace browser | |
34 | |
OLD | NEW |