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

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

Issue 2651753003: Wires up ShouldDescendIntoChildForEventHandling() for DesktopNativeWidgetAura (Closed)
Patch Set: improve comments Created 3 years, 11 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/widget/native_widget_delegate.h ('k') | ui/views/widget/widget.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/widget/widget.h
diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h
index 2c5ba165dd74f95145584a07675811d383f3064d..a9861ec27b214d7b3efcb0e64fbe3a9505e852a7 100644
--- a/ui/views/widget/widget.h
+++ b/ui/views/widget/widget.h
@@ -715,9 +715,9 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
// reordering if there are no views with an associated NativeView.
void ReorderNativeViews();
- // Schedules an update to the root layers. The actual processing occurs when
- // GetRootLayers() is invoked.
- void UpdateRootLayers();
+ // Called by a View when the status of it's layer or one of the views
+ // descendants layer status changes.
+ void LayerTreeChanged();
const NativeWidget* native_widget() const;
NativeWidget* native_widget();
@@ -816,12 +816,16 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
void OnScrollEvent(ui::ScrollEvent* event) override;
void OnGestureEvent(ui::GestureEvent* event) override;
bool ExecuteCommand(int command_id) override;
- const std::vector<ui::Layer*>& GetRootLayers() override;
bool HasHitTestMask() const override;
void GetHitTestMask(gfx::Path* mask) const override;
Widget* AsWidget() override;
const Widget* AsWidget() const override;
bool SetInitialFocus(ui::WindowShowState show_state) override;
+ bool ShouldDescendIntoChildForEventHandling(
+ ui::Layer* root_layer,
+ gfx::NativeView child,
+ ui::Layer* child_layer,
+ const gfx::Point& location) override;
// Overridden from ui::EventSource:
ui::EventProcessor* GetEventProcessor() override;
@@ -855,6 +859,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
friend class ComboboxTest;
friend class CustomButtonTest;
friend class TextfieldTest;
+ friend class ViewAuraTest;
// Persists the window's restored position and "show" state using the
// window delegate.
@@ -876,6 +881,10 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
bool GetSavedWindowPlacement(gfx::Rect* bounds,
ui::WindowShowState* show_state);
+ // Returns the Views whose layers are parented directly to the Widget's
+ // layer.
+ const View::Views& GetViewsWithLayers();
+
internal::NativeWidgetPrivate* native_widget_;
base::ObserverList<WidgetObserver> observers_;
@@ -967,11 +976,11 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
// true.
bool auto_release_capture_;
- // See description in GetRootLayers().
- std::vector<ui::Layer*> root_layers_;
+ // See description in GetViewsWithLayers().
+ View::Views views_with_layers_;
- // Is |root_layers_| out of date?
- bool root_layers_dirty_;
+ // Does |views_with_layers_| need updating?
+ bool views_with_layers_dirty_;
// True when window movement via mouse interaction with the frame should be
// disabled.
« no previous file with comments | « ui/views/widget/native_widget_delegate.h ('k') | ui/views/widget/widget.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698