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

Unified Diff: ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h

Issue 268673017: Fix X11TopmostWindowFinder (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/views/views.gyp ('k') | ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
index b005f6d7ac843b329ae31bb4391f847904b5df18..fd72e57cef6a40cfc9701eceaabd89a4f543fde0 100644
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
@@ -15,6 +15,7 @@
#include "ui/base/cursor/cursor_loader_x11.h"
#include "ui/events/event_source.h"
#include "ui/events/platform/platform_event_dispatcher.h"
+#include "ui/gfx/insets.h"
#include "ui/gfx/rect.h"
#include "ui/gfx/x/x11_atom_cache.h"
#include "ui/views/views_export.h"
@@ -58,6 +59,14 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
// Returns the current bounds in terms of the X11 Root Window.
gfx::Rect GetX11RootWindowBounds() const;
+ // Returns the current bounds in terms of the X11 Root Window including the
+ // borders provided by the window manager (if any).
+ gfx::Rect GetX11RootWindowOuterBounds() const;
+
+ // Returns the window shape if the window is not rectangular. Returns NULL
+ // otherwise.
+ ::Region GetWindowShape() const;
+
// Called by X11DesktopHandler to notify us that the native windowing system
// has changed our activation.
void HandleNativeWidgetActivationChanged(bool active);
@@ -158,6 +167,12 @@ private:
// along with all aura client objects that direct behavior.
aura::WindowEventDispatcher* InitDispatcher(const Widget::InitParams& params);
+ // Called when |xwindow_|'s _NET_WM_STATE property is updated.
+ void OnWMStateUpdated();
+
+ // Called when |xwindow_|'s _NET_FRAME_EXTENTS property is updated.
+ void OnFrameExtentsUpdated();
+
// Sends a message to the x11 window manager, enabling or disabling the
// states |state1| and |state2|.
void SetWMSpecState(bool enabled, ::Atom state1, ::Atom state2);
@@ -275,8 +290,14 @@ private:
ObserverList<DesktopWindowTreeHostObserverX11> observer_list_;
- // Copy of custom window shape specified via SetShape(), if any.
- ::Region custom_window_shape_;
+ // The window shape if the window is non-rectangular.
+ ::Region window_shape_;
+
+ // Whether |window_shape_| was set via SetShape().
+ bool custom_window_shape_;
+
+ // The size of the window manager provided borders (if any).
+ gfx::Insets native_window_frame_borders_;
// The current root window host that has capture. While X11 has something
// like Windows SetCapture()/ReleaseCapture(), it is entirely implicit and
« no previous file with comments | « ui/views/views.gyp ('k') | ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698