blob: bac9775ab3e78ca3c53de64d4c450a651626c4f8 [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_DESKTOP_WINDOW_TREE_HOST_H_
#define CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_DESKTOP_WINDOW_TREE_HOST_H_
class BrowserFrame;
class BrowserView;
namespace views {
class DesktopNativeWidgetAura;
class DesktopWindowTreeHost;
namespace internal {
class NativeWidgetDelegate;
}
}
// Interface to a platform specific browser frame implementation. The object
// implementing this interface will also implement views::DesktopWindowTreeHost.
class BrowserDesktopWindowTreeHost {
public:
// BDRWH is owned by the RootWindow.
static BrowserDesktopWindowTreeHost* CreateBrowserDesktopWindowTreeHost(
views::internal::NativeWidgetDelegate* native_widget_delegate,
views::DesktopNativeWidgetAura* desktop_native_widget_aura,
BrowserView* browser_view,
BrowserFrame* browser_frame);
virtual views::DesktopWindowTreeHost* AsDesktopWindowTreeHost() = 0;
virtual int GetMinimizeButtonOffset() const = 0;
// Returns true if the OS takes care of showing the system menu. Returning
// false means BrowserFrame handles showing the system menu.
virtual bool UsesNativeSystemMenu() const = 0;
};
#endif // CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_DESKTOP_WINDOW_TREE_HOST_H_