browser_frame_common_win.cc revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
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
10namespace chrome {
11
12bool ShouldUseNativeFrame(const BrowserView* browser_view,
13                          const ui::ThemeProvider* theme_provider) {
14  // App panel windows draw their own frame.
15  if (browser_view->IsPanel())
16    return false;
17
18  // We don't theme popup or app windows, so regardless of whether or not a
19  // theme is active for normal browser windows, we don't want to use the custom
20  // frame for popups/apps.
21  if (!browser_view->IsBrowserTypeNormal()) {
22    return true;
23  }
24  // Otherwise, we use the native frame when we're told we should by the theme
25  // provider (e.g. no custom theme is active).
26  return theme_provider->ShouldUseNativeFrame();
27}
28
29}  // namespace browser
30
31