Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: ui/views/widget/desktop_root_window_host_linux.h

Issue 10941040: linux_aura: Make combo boxes work with DesktopRootWindowHostLinux. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Move the DesktopLayoutManager to ui/views/ Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_VIEWS_WIDGET_DESKTOP_ROOT_WINDOW_HOST_LINUX_H_ 5 #ifndef UI_VIEWS_WIDGET_DESKTOP_ROOT_WINDOW_HOST_LINUX_H_
6 #define UI_VIEWS_WIDGET_DESKTOP_ROOT_WINDOW_HOST_LINUX_H_ 6 #define UI_VIEWS_WIDGET_DESKTOP_ROOT_WINDOW_HOST_LINUX_H_
7 7
8 #include <X11/Xlib.h> 8 #include <X11/Xlib.h>
9 9
10 // Get rid of a macro from Xlib.h that conflicts with Aura's RootWindow class. 10 // Get rid of a macro from Xlib.h that conflicts with Aura's RootWindow class.
(...skipping 16 matching lines...) Expand all
27 } 27 }
28 28
29 namespace views { 29 namespace views {
30 class DesktopCaptureClient; 30 class DesktopCaptureClient;
31 class X11WindowEventFilter; 31 class X11WindowEventFilter;
32 32
33 class DesktopRootWindowHostLinux : public DesktopRootWindowHost, 33 class DesktopRootWindowHostLinux : public DesktopRootWindowHost,
34 public aura::RootWindowHost, 34 public aura::RootWindowHost,
35 public MessageLoop::Dispatcher { 35 public MessageLoop::Dispatcher {
36 public: 36 public:
37 DesktopRootWindowHostLinux(); 37 DesktopRootWindowHostLinux(
38 internal::NativeWidgetDelegate* native_widget_delegate,
39 const gfx::Rect& initial_bounds);
38 virtual ~DesktopRootWindowHostLinux(); 40 virtual ~DesktopRootWindowHostLinux();
39 41
40 private: 42 private:
41 // Initializes our X11 surface to draw on. This method performs all 43 // Initializes our X11 surface to draw on. This method performs all
42 // initialization related to talking to the X11 server. 44 // initialization related to talking to the X11 server.
43 void InitX11Window(const gfx::Rect& bounds); 45 void InitX11Window(const Widget::InitParams& params);
44 46
45 // Creates an aura::RootWindow to contain the |content_window|, along with 47 // Creates an aura::RootWindow to contain the |content_window|, along with
46 // all aura client objects that direct behavior. 48 // all aura client objects that direct behavior.
47 void InitRootWindow(const Widget::InitParams& params); 49 void InitRootWindow(const Widget::InitParams& params);
48 50
49 // Returns true if there's an X window manager present... in most cases. Some 51 // Returns true if there's an X window manager present... in most cases. Some
50 // window managers (notably, ion3) don't implement enough of ICCCM for us to 52 // window managers (notably, ion3) don't implement enough of ICCCM for us to
51 // detect that they're there. 53 // detect that they're there.
52 bool IsWindowManagerPresent(); 54 bool IsWindowManagerPresent();
53 55
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 scoped_ptr<aura::DesktopActivationClient> activation_client_; 140 scoped_ptr<aura::DesktopActivationClient> activation_client_;
139 scoped_ptr<aura::DesktopDispatcherClient> dispatcher_client_; 141 scoped_ptr<aura::DesktopDispatcherClient> dispatcher_client_;
140 142
141 // Toplevel event filter which dispatches to other event filters. 143 // Toplevel event filter which dispatches to other event filters.
142 aura::shared::CompoundEventFilter* root_window_event_filter_; 144 aura::shared::CompoundEventFilter* root_window_event_filter_;
143 145
144 // An event filter that pre-handles all key events to send them to an IME. 146 // An event filter that pre-handles all key events to send them to an IME.
145 scoped_ptr<aura::shared::InputMethodEventFilter> input_method_filter_; 147 scoped_ptr<aura::shared::InputMethodEventFilter> input_method_filter_;
146 scoped_ptr<X11WindowEventFilter> x11_window_event_filter_; 148 scoped_ptr<X11WindowEventFilter> x11_window_event_filter_;
147 149
150 // TODO(beng): Consider providing an interface to DesktopNativeWidgetAura
151 // instead of providing this route back to Widget.
152 internal::NativeWidgetDelegate* native_widget_delegate_;
153
148 aura::RootWindowHostDelegate* root_window_host_delegate_; 154 aura::RootWindowHostDelegate* root_window_host_delegate_;
149 aura::Window* content_window_; 155 aura::Window* content_window_;
150 156
151 DISALLOW_COPY_AND_ASSIGN(DesktopRootWindowHostLinux); 157 DISALLOW_COPY_AND_ASSIGN(DesktopRootWindowHostLinux);
152 }; 158 };
153 159
154 } // namespace views 160 } // namespace views
155 161
156 #endif // UI_VIEWS_WIDGET_DESKTOP_ROOT_WINDOW_HOST_LINUX_H_ 162 #endif // UI_VIEWS_WIDGET_DESKTOP_ROOT_WINDOW_HOST_LINUX_H_
OLDNEW
« no previous file with comments | « ui/views/widget/desktop_layout_manager.cc ('k') | ui/views/widget/desktop_root_window_host_linux.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698