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.
5 #ifndef CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_DESKTOP_WINDOW_TREE_HOST_H_
6 #define CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_DESKTOP_WINDOW_TREE_HOST_H_
14 class DesktopNativeWidgetAura
;
15 class DesktopWindowTreeHost
;
17 class NativeWidgetDelegate
;
21 // Interface to a platform specific browser frame implementation. The object
22 // implementing this interface will also implement views::DesktopWindowTreeHost.
23 class BrowserDesktopWindowTreeHost
{
25 // BDRWH is owned by the RootWindow.
26 static BrowserDesktopWindowTreeHost
* CreateBrowserDesktopWindowTreeHost(
27 views::internal::NativeWidgetDelegate
* native_widget_delegate
,
28 views::DesktopNativeWidgetAura
* desktop_native_widget_aura
,
29 BrowserView
* browser_view
,
30 BrowserFrame
* browser_frame
);
32 virtual views::DesktopWindowTreeHost
* AsDesktopWindowTreeHost() = 0;
34 virtual int GetMinimizeButtonOffset() const = 0;
36 // Returns true if the OS takes care of showing the system menu. Returning
37 // false means BrowserFrame handles showing the system menu.
38 virtual bool UsesNativeSystemMenu() const = 0;
42 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_DESKTOP_WINDOW_TREE_HOST_H_