browser_desktop_window_tree_host_x11.h revision cedac228d2dd51db4b79ea1e72c7f249408ee061
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_BROWSER_DESKTOP_WINDOW_TREE_HOST_X11_H_
6#define CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_DESKTOP_WINDOW_TREE_HOST_X11_H_
7
8#include "ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h"
9#include "chrome/browser/ui/views/frame/browser_desktop_window_tree_host.h"
10#include "chrome/browser/ui/views/frame/global_menu_bar_x11.h"
11
12class BrowserFrame;
13class BrowserView;
14
15namespace views {
16class DesktopNativeWidgetAura;
17}
18
19class BrowserDesktopWindowTreeHostX11
20    : public BrowserDesktopWindowTreeHost,
21      public views::DesktopWindowTreeHostX11 {
22 public:
23  BrowserDesktopWindowTreeHostX11(
24      views::internal::NativeWidgetDelegate* native_widget_delegate,
25      views::DesktopNativeWidgetAura* desktop_native_widget_aura,
26      BrowserView* browser_view,
27      BrowserFrame* browser_frame);
28  virtual ~BrowserDesktopWindowTreeHostX11();
29
30 private:
31  // Overridden from BrowserDesktopWindowTreeHost:
32  virtual DesktopWindowTreeHost* AsDesktopWindowTreeHost() OVERRIDE;
33  virtual int GetMinimizeButtonOffset() const OVERRIDE;
34  virtual bool UsesNativeSystemMenu() const OVERRIDE;
35
36  // Overridden from views::DesktopWindowTreeHostX11:
37  virtual void Init(
38      aura::Window* content_window,
39      const views::Widget::InitParams& params) OVERRIDE;
40  virtual void CloseNow() OVERRIDE;
41
42  BrowserView* browser_view_;
43
44  // Each browser frame maintains its own menu bar object because the lower
45  // level dbus protocol associates a xid to a menu bar; we can't map multiple
46  // xids to the same menu bar.
47  scoped_ptr<GlobalMenuBarX11> global_menu_bar_x11_;
48
49  DISALLOW_COPY_AND_ASSIGN(BrowserDesktopWindowTreeHostX11);
50};
51
52#endif  // CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_DESKTOP_WINDOW_TREE_HOST_X11_H_
53