native_browser_frame.h revision f2477e01787aa58f445919b809d89e252beef54f
1// Copyright (c) 2012 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#ifndef CHROME_BROWSER_UI_VIEWS_FRAME_NATIVE_BROWSER_FRAME_H_
6#define CHROME_BROWSER_UI_VIEWS_FRAME_NATIVE_BROWSER_FRAME_H_
7
8class BrowserFrame;
9class BrowserView;
10
11namespace views {
12class NativeWidget;
13}
14
15class NativeBrowserFrame {
16 public:
17  virtual ~NativeBrowserFrame() {}
18
19  virtual views::NativeWidget* AsNativeWidget() = 0;
20  virtual const views::NativeWidget* AsNativeWidget() const = 0;
21
22  // Returns true if the OS takes care of showing the system menu. Returning
23  // false means BrowserFrame handles showing the system menu.
24  virtual bool UsesNativeSystemMenu() const = 0;
25
26 protected:
27  friend class BrowserFrame;
28
29  // BrowserFrame pass-thrus ---------------------------------------------------
30  // See browser_frame.h for documentation:
31  virtual int GetMinimizeButtonOffset() const = 0;
32};
33
34#endif  // CHROME_BROWSER_UI_VIEWS_FRAME_NATIVE_BROWSER_FRAME_H_
35