New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 907601 link

Starred by 2 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Feature



Sign in to add a comment

Fire overscroll and scrollend DOM events.

Project Member Reported by sahel@google.com, Nov 21

Issue description

Currently we send scroll dom events to notify that scrolling has happened. However we don't send overscroll and scrollend events. These two events are useful when a developer wants to customize overscroll actions such as pull to refresh.

For more information please check the design doc:
https://docs.google.com/document/d/1CJgCg7Y31v5MbO14RDHyBAa5Sf0ZnPVtZMiOFCNbgWc/edit?usp=sharing


 
Cc: ericfs@google.com
Project Member

Comment 2 by bugdroid1@chromium.org, Nov 30

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/03e5e255495d3d04948fd9910a65ef98c82179af

commit 03e5e255495d3d04948fd9910a65ef98c82179af
Author: Sahel Sharify <sahel@chromium.org>
Date: Fri Nov 30 21:02:44 2018

Overscroll and scrollend DOM events fired on main thread scrolling.

To test it locally make sure that threaded scrolling is disabled and
use --enable-blink-features=OverscrollCustomization.
For further details please check the design doc:
https://docs.google.com/document/d/1CJgCg7Y31v5MbO14RDHyBAa5Sf0ZnPVtZMiOFCNbgWc/edit?usp=sharing

Bug: 907601
Change-Id: If3269ee73ac6c8d986b82ec451d8c50ad5fcc226
Reviewed-on: https://chromium-review.googlesource.com/c/1348850
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: David Bokan <bokan@chromium.org>
Reviewed-by: Navid Zolghadr <nzolghadr@chromium.org>
Commit-Queue: Sahel Sharify <sahel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612782}
[modify] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/public/platform/web_runtime_features.h
[modify] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/renderer/core/BUILD.gn
[modify] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/renderer/core/core_idl_files.gni
[modify] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/renderer/core/dom/document.cc
[modify] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/renderer/core/dom/document.h
[modify] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/renderer/core/dom/global_event_handlers.h
[modify] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/renderer/core/dom/global_event_handlers.idl
[modify] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/renderer/core/events/BUILD.gn
[modify] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/renderer/core/events/event_type_names.json5
[add] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/renderer/core/events/overscroll_event.cc
[add] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/renderer/core/events/overscroll_event.h
[add] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/renderer/core/events/overscroll_event.idl
[add] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/renderer/core/events/overscroll_event_init.idl
[modify] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/renderer/core/html/html_attribute_names.json5
[modify] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/renderer/core/html/html_element.cc
[modify] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/renderer/core/input/scroll_manager.cc
[modify] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/renderer/platform/exported/web_runtime_features.cc
[modify] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/renderer/platform/runtime_enabled_features.json5
[modify] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/web_tests/TestExpectations
[add] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/web_tests/fast/scrolling/events/overscroll-event-fired-to-document.html
[add] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/web_tests/fast/scrolling/events/overscroll-event-fired-to-element-with-overscroll-behavior.html
[add] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/web_tests/fast/scrolling/events/overscroll-event-fired-to-scrolled-element.html
[add] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/web_tests/fast/scrolling/events/scrollend-event-fired-to-document.html
[add] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/web_tests/fast/scrolling/events/scrollend-event-fired-to-element-with-overscroll-behavior.html
[add] https://crrev.com/03e5e255495d3d04948fd9910a65ef98c82179af/third_party/blink/web_tests/fast/scrolling/events/scrollend-event-fired-to-scrolled-element.html

Labels: Proj-Portals-MVP
Since this blocks the portals carousel experience (under our current plan), I'm applying the Portals-MVP hotlist label to help in our tracking.
Project Member

Comment 4 by bugdroid1@chromium.org, Jan 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1

commit 676580c4edcda2179d27bf5bd8e2bb192b1ed9d1
Author: Sahel Sharify <sahel@chromium.org>
Date: Thu Jan 10 21:49:49 2019

Send overscroll and scrollend DOM events for scrolling on Impl.

This cl plumbs the overscroll delta, as well as the element id of the
element that scrolling is latched to from impl to the main thread.
On the main thread side after finding the proper target using the
received element id, overscroll and scrollend events are sent as needed.
The logic for smooth scrolling path will be landed in a different cl.

Bug: 907601
Change-Id: Ia3e381391e4fa70f3a6f6dfa6220d7dbd15e9bb8
Reviewed-on: https://chromium-review.googlesource.com/c/1387841
Reviewed-by: Charlie Reis <creis@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: David Bokan <bokan@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Commit-Queue: Sahel Sharify <sahel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621751}
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/cc/test/layer_tree_test.cc
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/cc/test/stub_layer_tree_host_client.h
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/cc/trees/layer_tree_host.cc
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/cc/trees/layer_tree_host.h
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/cc/trees/layer_tree_host_client.h
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/cc/trees/layer_tree_host_common.h
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/cc/trees/layer_tree_host_impl.h
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/content/browser/renderer_host/compositor_impl_android.h
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/content/renderer/compositor/layer_tree_view.cc
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/content/renderer/compositor/layer_tree_view.h
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/content/renderer/compositor/layer_tree_view_delegate.h
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/content/renderer/render_widget.cc
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/content/renderer/render_widget.h
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/content/test/stub_layer_tree_view_delegate.h
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/third_party/blink/public/web/DEPS
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/third_party/blink/public/web/web_widget.h
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/third_party/blink/renderer/core/exported/web_view_impl.cc
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/third_party/blink/renderer/core/exported/web_view_impl.h
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/third_party/blink/renderer/core/frame/web_frame_widget_base.cc
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/third_party/blink/renderer/core/frame/web_frame_widget_base.h
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/third_party/blink/renderer/core/frame/web_view_frame_widget.cc
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/third_party/blink/renderer/core/frame/web_view_frame_widget.h
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/third_party/blink/renderer/core/page/scrolling/scrolling_coordinator.cc
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/third_party/blink/renderer/core/page/scrolling/scrolling_coordinator.h
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/third_party/blink/web_tests/TestExpectations
[modify] https://crrev.com/676580c4edcda2179d27bf5bd8e2bb192b1ed9d1/ui/compositor/compositor.h

Sign in to add a comment