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 12 class BrowserFrame; 13 class BrowserView; 14 15 namespace views { 16 class DesktopNativeWidgetAura; 17 } 18 19 class 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