Index: ui/aura/window.h |
diff --git a/ui/aura/window.h b/ui/aura/window.h |
index a97194c0b7a3869b099aa7a318001fae67cb82b3..fd799c97f2dee96e3795396cc30be853aa2c129d 100644 |
--- a/ui/aura/window.h |
+++ b/ui/aura/window.h |
@@ -178,13 +178,18 @@ class AURA_EXPORT Window : public ui::LayerDelegate { |
void RemoveObserver(WindowObserver* observer); |
// When set to true, this Window will stop propagation of all events targeted |
- // at Windows below it in the z-order, but only if this Window has children. |
+ // at Windows below it in the z-order, but only if this Window has children |
+ // with the stops_event_propagation_ is true. If none of child has this |
+ // property as true, then event will not be stopped. |
// This is used to implement lock-screen type functionality where we do not |
// want events to be sent to running logged-in windows when the lock screen is |
// displayed. |
void set_stops_event_propagation(bool stops_event_propagation) { |
stops_event_propagation_ = stops_event_propagation; |
} |
+ bool stops_event_propagation() const { |
+ return stops_event_propagation_; |
+ } |
void set_ignore_events(bool ignore_events) { ignore_events_ = ignore_events; } |
@@ -220,6 +225,9 @@ class AURA_EXPORT Window : public ui::LayerDelegate { |
// Returns true if the Window can be focused. |
virtual bool CanFocus() const; |
+ // Returns true if the Window can receive events. |
+ virtual bool CanReceiveEvents() const; |
+ |
// Returns the FocusManager for the Window, which may be attached to a parent |
// Window. Can return NULL if the Window has no FocusManager. |
virtual internal::FocusManager* GetFocusManager(); |
@@ -250,6 +258,10 @@ class AURA_EXPORT Window : public ui::LayerDelegate { |
void* GetProperty(const char* name) const; |
int GetIntProperty(const char* name) const; |
+ // This window is currently stopping event propagation for any windows behind |
+ // it in the z-order. |
+ bool StopsEventPropagation() const; |
+ |
protected: |
// Returns the root window or NULL if we aren't yet attached to the root |
// window. |
@@ -272,10 +284,6 @@ class AURA_EXPORT Window : public ui::LayerDelegate { |
// Schedules a paint for the Window's entire bounds. |
void SchedulePaint(); |
- // This window is currently stopping event propagation for any windows behind |
- // it in the z-order. |
- bool StopsEventPropagation() const; |
- |
// Gets a Window (either this one or a subwindow) containing |local_point|. |
// If |return_tightest| is true, returns the tightest-containing (i.e. |
// furthest down the hierarchy) Window containing the point; otherwise, |
@@ -298,6 +306,9 @@ class AURA_EXPORT Window : public ui::LayerDelegate { |
// Updates the layer name with a name based on the window's name and id. |
void UpdateLayerName(const std::string& name); |
+ // Returns true if the Window is behind a window that stops event propagation. |
+ bool IsBehindStopEventsWindow() const; |
+ |
client::WindowType type_; |
WindowDelegate* delegate_; |