browser_desktop_window_tree_host_x11.cc revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
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#include "chrome/browser/ui/views/frame/browser_desktop_window_tree_host_x11.h"
6
7////////////////////////////////////////////////////////////////////////////////
8// BrowserDesktopWindowTreeHostX11, public:
9
10BrowserDesktopWindowTreeHostX11::BrowserDesktopWindowTreeHostX11(
11    views::internal::NativeWidgetDelegate* native_widget_delegate,
12    views::DesktopNativeWidgetAura* desktop_native_widget_aura,
13    BrowserView* browser_view)
14    : DesktopWindowTreeHostX11(native_widget_delegate,
15                               desktop_native_widget_aura),
16      browser_view_(browser_view) {
17}
18
19BrowserDesktopWindowTreeHostX11::~BrowserDesktopWindowTreeHostX11() {
20}
21
22////////////////////////////////////////////////////////////////////////////////
23// BrowserDesktopWindowTreeHostX11,
24//     BrowserDesktopWindowTreeHost implementation:
25
26views::DesktopWindowTreeHost*
27    BrowserDesktopWindowTreeHostX11::AsDesktopWindowTreeHost() {
28  return this;
29}
30
31int BrowserDesktopWindowTreeHostX11::GetMinimizeButtonOffset() const {
32  return 0;
33}
34
35bool BrowserDesktopWindowTreeHostX11::UsesNativeSystemMenu() const {
36  return false;
37}
38
39////////////////////////////////////////////////////////////////////////////////
40// BrowserDesktopWindowTreeHostX11,
41//     views::DesktopWindowTreeHostX11 implementation:
42
43void BrowserDesktopWindowTreeHostX11::Init(
44    aura::Window* content_window,
45    const views::Widget::InitParams& params,
46    aura::RootWindow::CreateParams* rw_create_params) {
47  views::DesktopWindowTreeHostX11::Init(content_window, params,
48                                        rw_create_params);
49
50  // We have now created our backing X11 window. We now need to (possibly)
51  // alert Unity that there's a menu bar attached to it.
52  global_menu_bar_x11_.reset(new GlobalMenuBarX11(browser_view_, this));
53}
54
55void BrowserDesktopWindowTreeHostX11::CloseNow() {
56  global_menu_bar_x11_.reset();
57  DesktopWindowTreeHostX11::CloseNow();
58}
59
60////////////////////////////////////////////////////////////////////////////////
61// BrowserDesktopWindowTreeHost, public:
62
63// static
64BrowserDesktopWindowTreeHost*
65    BrowserDesktopWindowTreeHost::CreateBrowserDesktopWindowTreeHost(
66        views::internal::NativeWidgetDelegate* native_widget_delegate,
67        views::DesktopNativeWidgetAura* desktop_native_widget_aura,
68        BrowserView* browser_view,
69        BrowserFrame* browser_frame) {
70  return new BrowserDesktopWindowTreeHostX11(native_widget_delegate,
71                                             desktop_native_widget_aura,
72                                             browser_view);
73}
74