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

Side by Side Diff: ui/aura/root_window_host_linux.h

Issue 10381063: Aura/ash split: Don't use X11 window borders. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Commnet that we're racing the window manager. Created 8 years, 7 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_AURA_ROOT_WINDOW_HOST_LINUX_H_ 5 #ifndef UI_AURA_ROOT_WINDOW_HOST_LINUX_H_
6 #define UI_AURA_ROOT_WINDOW_HOST_LINUX_H_ 6 #define UI_AURA_ROOT_WINDOW_HOST_LINUX_H_
7 #pragma once 7 #pragma once
8 8
9 #include <X11/Xlib.h> 9 #include <X11/Xlib.h>
10 10
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 virtual void SetCapture() OVERRIDE; 44 virtual void SetCapture() OVERRIDE;
45 virtual void ReleaseCapture() OVERRIDE; 45 virtual void ReleaseCapture() OVERRIDE;
46 virtual void SetCursor(gfx::NativeCursor cursor_type) OVERRIDE; 46 virtual void SetCursor(gfx::NativeCursor cursor_type) OVERRIDE;
47 virtual void ShowCursor(bool show) OVERRIDE; 47 virtual void ShowCursor(bool show) OVERRIDE;
48 virtual gfx::Point QueryMouseLocation() OVERRIDE; 48 virtual gfx::Point QueryMouseLocation() OVERRIDE;
49 virtual bool ConfineCursorToRootWindow() OVERRIDE; 49 virtual bool ConfineCursorToRootWindow() OVERRIDE;
50 virtual void UnConfineCursor() OVERRIDE; 50 virtual void UnConfineCursor() OVERRIDE;
51 virtual void MoveCursorTo(const gfx::Point& location) OVERRIDE; 51 virtual void MoveCursorTo(const gfx::Point& location) OVERRIDE;
52 virtual void SetFocusWhenShown(bool focus_when_shown) OVERRIDE; 52 virtual void SetFocusWhenShown(bool focus_when_shown) OVERRIDE;
53 virtual void PostNativeEvent(const base::NativeEvent& event) OVERRIDE; 53 virtual void PostNativeEvent(const base::NativeEvent& event) OVERRIDE;
54 virtual void SetUseHostWindowBorders(bool use_os_borders) OVERRIDE;
55 virtual bool DispatchHostWindowDragMovement(int hittest,
56 MouseEvent* event) OVERRIDE;
54 57
55 // Returns true if there's an X window manager present... in most cases. Some 58 // Returns true if there's an X window manager present... in most cases. Some
56 // window managers (notably, ion3) don't implement enough of ICCCM for us to 59 // window managers (notably, ion3) don't implement enough of ICCCM for us to
57 // detect that they're there. 60 // detect that they're there.
58 bool IsWindowManagerPresent(); 61 bool IsWindowManagerPresent();
59 62
60 // Sets the cursor on |xwindow_| to |cursor|. Does not check or update 63 // Sets the cursor on |xwindow_| to |cursor|. Does not check or update
61 // |current_cursor_|. 64 // |current_cursor_|.
62 void SetCursorInternal(gfx::NativeCursor cursor); 65 void SetCursorInternal(gfx::NativeCursor cursor);
63 66
67 // Signal to the window manager that it is to move the window as we've had a
68 // hit in our non-client area.
69 void SendWMMoveResize(int direction, int x_root, int y_root);
70
64 RootWindow* root_window_; 71 RootWindow* root_window_;
65 72
66 // The display and the native X window hosting the root window. 73 // The display and the native X window hosting the root window.
67 Display* xdisplay_; 74 Display* xdisplay_;
68 ::Window xwindow_; 75 ::Window xwindow_;
69 76
70 // The native root window. 77 // The native root window.
71 ::Window x_root_window_; 78 ::Window x_root_window_;
72 79
73 // Current Aura cursor. 80 // Current Aura cursor.
74 gfx::NativeCursor current_cursor_; 81 gfx::NativeCursor current_cursor_;
75 82
76 // Is the cursor currently shown? 83 // Is the cursor currently shown?
77 bool cursor_shown_; 84 bool cursor_shown_;
78 85
79 // The invisible cursor. 86 // The invisible cursor.
80 ::Cursor invisible_cursor_; 87 ::Cursor invisible_cursor_;
81 88
82 // The bounds of |xwindow_|. 89 // The bounds of |xwindow_|.
83 gfx::Rect bounds_; 90 gfx::Rect bounds_;
84 91
85 // Names of cached atoms that we fetch during the constructor to minimize 92 // Names of cached atoms that we fetch during the constructor to minimize
86 // round trips to the X11 server. 93 // round trips to the X11 server.
87 enum AtomList { 94 enum AtomList {
88 ATOM_WM_DELETE_WINDOW = 0, 95 ATOM_WM_DELETE_WINDOW = 0,
96 ATOM__NET_WM_MOVERESIZE,
89 ATOM__NET_WM_PING, 97 ATOM__NET_WM_PING,
90 ATOM__NET_WM_PID, 98 ATOM__NET_WM_PID,
91 ATOM_WM_S0, 99 ATOM_WM_S0,
92 100
101 ATOM__MOTIF_WM_HINTS,
102
93 ATOM_COUNT 103 ATOM_COUNT
94 }; 104 };
95 ::Atom cached_atoms_[ATOM_COUNT]; 105 ::Atom cached_atoms_[ATOM_COUNT];
96 106
97 // True if the window should be focused when the window is shown. 107 // True if the window should be focused when the window is shown.
98 bool focus_when_shown_; 108 bool focus_when_shown_;
99 109
100 scoped_array<XID> pointer_barriers_; 110 scoped_array<XID> pointer_barriers_;
101 111
102 scoped_ptr<ui::ViewProp> prop_; 112 scoped_ptr<ui::ViewProp> prop_;
103 113
104 DISALLOW_COPY_AND_ASSIGN(RootWindowHostLinux); 114 DISALLOW_COPY_AND_ASSIGN(RootWindowHostLinux);
105 }; 115 };
106 116
107 } // namespace aura 117 } // namespace aura
108 118
109 #endif // UI_AURA_ROOT_WINDOW_HOST_LINUX_H_ 119 #endif // UI_AURA_ROOT_WINDOW_HOST_LINUX_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698