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

Unified Diff: cc/trees/layer_tree_host_impl.cc

Issue 1631963002: Plumb firing passive event listeners. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master_wheel_passive_listeners_2a
Patch Set: Set dependency correctly Created 4 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
Index: cc/trees/layer_tree_host_impl.cc
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
index 3d134464edae5174c63c823f59a117e31be51dbf..a89df81ebc1a12fd8c09d5e3e56a242a2b70597b 100644
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -571,18 +571,6 @@ bool LayerTreeHostImpl::IsCurrentlyScrollingLayerAt(
return false;
}
-bool LayerTreeHostImpl::HaveWheelEventHandlersAt(
- const gfx::Point& viewport_point) {
- gfx::PointF device_viewport_point = gfx::ScalePoint(
- gfx::PointF(viewport_point), active_tree_->device_scale_factor());
-
- LayerImpl* layer_impl =
- active_tree_->FindLayerWithWheelHandlerThatIsHitByPoint(
- device_viewport_point);
-
- return layer_impl != NULL;
-}
-
static LayerImpl* NextLayerInScrollOrder(LayerImpl* layer) {
if (layer->scroll_parent())
return layer->scroll_parent();
@@ -620,6 +608,38 @@ bool LayerTreeHostImpl::DoTouchEventsBlockScrollAt(
return layer_impl != NULL;
}
+uint32_t LayerTreeHostImpl::EffectiveWheelEventListenerPropertiesAt(
+ const gfx::Point& viewport_point) {
+ gfx::PointF device_viewport_point = gfx::ScalePoint(
+ gfx::PointF(viewport_point), active_tree_->device_scale_factor());
+
+ LayerImpl* layer_impl =
+ active_tree_->FindLayerThatIsHitByPoint(device_viewport_point);
+
+ uint32_t result = EventListenerProperties::kNone;
+ for (; layer_impl; layer_impl = NextLayerInScrollOrder(layer_impl)) {
+ result |= layer_impl->wheel_event_properties();
+ }
+
+ return result;
+}
+
+uint32_t LayerTreeHostImpl::EffectiveTouchEventListenerPropertiesAt(
+ const gfx::Point& viewport_point) {
+ gfx::PointF device_viewport_point = gfx::ScalePoint(
+ gfx::PointF(viewport_point), active_tree_->device_scale_factor());
+
+ LayerImpl* layer_impl =
+ active_tree_->FindLayerThatIsHitByPoint(device_viewport_point);
+
+ uint32_t result = EventListenerProperties::kNone;
tdresser 2016/01/26 16:34:37 Where is EventListenerProperties defined? Could we
dtapuska 2016/01/26 16:53:15 Defined in dependent patch: https://codereview.chr
tdresser 2016/01/26 18:45:42 What about something like: struct EventListenerPro
dtapuska 2016/01/26 18:56:49 I think that limits the verbosity of the code. For
tdresser 2016/01/26 18:58:19 Good point. SGTM
+ for (; layer_impl; layer_impl = NextLayerInScrollOrder(layer_impl)) {
+ result |= layer_impl->touch_event_properties();
+ }
+
+ return result;
+}
+
scoped_ptr<SwapPromiseMonitor>
LayerTreeHostImpl::CreateLatencyInfoSwapPromiseMonitor(
ui::LatencyInfo* latency) {

Powered by Google App Engine
This is Rietveld 408576698