Chromium Code Reviews
Help | Chromium Project | Gerrit Changes | Sign in
(4)

Issue 2884423003: Use scroll-boundary-behavior to control overscroll-refresh/glow on android.

Can't Edit
Can't Publish+Mail
Start Review
Created:
1 week, 2 days ago by sunyunjia
Modified:
2 days, 6 hours ago
Reviewers:
majidvp, dtapuska
CC:
chromium-reviews, kenneth.christiansen, nasko+codewatch_chromium.org, eae+blinkwatch, apavlov+blink_chromium.org, kinuko+watch, rwlbuis, blink-reviews-css, jam, blink-reviews-dom_chromium.org, dglazkov+blink, darin-cc_chromium.org, blink-reviews, blink-reviews-api_chromium.org, mlamouri+watch-content_chromium.org, creis+watch_chromium.org, blink-reviews-style_chromium.org, sof, darktears, piman+watch_chromium.org, blink-reviews-frames_chromium.org, dtapuska+chromiumwatch_chromium.org, cc-bugs_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Use scroll-boundary-behavior to control overscroll-refresh/glow on android. Overscroll-navigation is a feature of Chrome. Users can pull verticallly to refresh the page, or swipe horizontally to browse history. Overscroll-glow is an effect indicating user that his scroll has reached the extend of the scroller. However, in some mobile web applications, navigation or glow does not make sense. This patch allows users to use a css attribute (scroll-boundary-behavior) to the root element in order to control overscroll-navigation and overscroll-glow. The plumbing and machinery have been implemented in both main thread and compositor thread. The scroll-boundary-behavior is bundled in did_overscroll_params and is passed through OverscrollControllerAndroid::Overscrolled(). Thus, we make the decision of whether to pull-to-refresh and whether to glow on Overscrolled() as opposed to immediately after ScrollUpdateAck. BUG=656801 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Patch Set 1 #

Patch Set 2 : Added missing files #

Total comments: 20

Patch Set 3 : Fixed the comments #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+390 lines, -50 lines) Patch
M cc/input/input_handler.h View 2 chunks +4 lines, -0 lines 0 comments Download
A cc/input/scroll_boundary_behavior.h View 1 2 1 chunk +40 lines, -0 lines 0 comments Download
M cc/ipc/cc_param_traits.h View 1 chunk +1 line, -0 lines 1 comment Download
M cc/trees/layer_tree_host.h View 3 chunks +4 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host.cc View 3 chunks +9 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 chunk +2 lines, -1 line 0 comments Download
M cc/trees/layer_tree_impl.h View 3 chunks +8 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_impl.cc View 2 chunks +7 lines, -0 lines 0 comments Download
M content/browser/android/overscroll_controller_android.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/android/overscroll_controller_android.cc View 1 2 2 chunks +35 lines, -8 lines 0 comments Download
M content/common/input_messages.h View 2 chunks +11 lines, -0 lines 0 comments Download
M content/renderer/gpu/render_widget_compositor.h View 1 chunk +3 lines, -0 lines 0 comments Download
M content/renderer/gpu/render_widget_compositor.cc View 2 chunks +6 lines, -0 lines 0 comments Download
M content/renderer/input/input_handler_wrapper.h View 1 chunk +6 lines, -4 lines 0 comments Download
M content/renderer/input/input_handler_wrapper.cc View 1 chunk +3 lines, -1 line 0 comments Download
M content/renderer/input/render_widget_input_handler.h View 2 chunks +6 lines, -5 lines 0 comments Download
M content/renderer/input/render_widget_input_handler.cc View 3 chunks +4 lines, -1 line 0 comments Download
M content/renderer/render_view_impl.h View 1 chunk +2 lines, -1 line 0 comments Download
M content/renderer/render_view_impl.cc View 1 chunk +3 lines, -2 lines 0 comments Download
M content/renderer/render_widget.h View 1 chunk +2 lines, -1 line 0 comments Download
M content/renderer/render_widget.cc View 2 chunks +3 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/css/CSSComputedStyleDeclaration.cpp View 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h View 1 chunk +33 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/css/CSSProperties.json5 View 2 chunks +18 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/css/CSSValueKeywords.json5 View 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp View 1 1 chunk +8 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/css/StylePropertySerializer.cpp View 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/css/parser/CSSParserFastPaths.cpp View 2 chunks +8 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/css/parser/CSSPropertyParser.h View 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp View 2 chunks +19 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Document.cpp View 1 2 4 chunks +16 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/exported/WebViewBase.h View 2 chunks +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/UseCounter.cpp View 2 chunks +7 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/loader/EmptyClients.h View 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/page/ChromeClient.h View 3 chunks +5 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/page/scrolling/OverscrollController.h View 3 chunks +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/page/scrolling/OverscrollController.cpp View 1 chunk +11 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/web/AssertMatchingEnums.cpp View 2 chunks +9 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/ChromeClientImpl.h View 2 chunks +3 lines, -1 line 0 comments Download
M third_party/WebKit/Source/web/ChromeClientImpl.cpp View 2 chunks +13 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/web/WebViewImpl.h View 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/WebViewImpl.cpp View 1 chunk +6 lines, -0 lines 0 comments Download
M third_party/WebKit/public/platform/WebLayerTreeView.h View 2 chunks +3 lines, -0 lines 1 comment Download
A third_party/WebKit/public/platform/WebScrollBoundaryBehavior.h View 1 2 1 chunk +27 lines, -0 lines 1 comment Download
M third_party/WebKit/public/web/WebViewClient.h View 2 chunks +3 lines, -1 line 0 comments Download
M third_party/WebKit/public/web/WebWidgetClient.h View 1 chunk +2 lines, -1 line 0 comments Download
M ui/android/overscroll_refresh.h View 1 2 1 chunk +4 lines, -3 lines 0 comments Download
M ui/android/overscroll_refresh.cc View 1 2 1 chunk +2 lines, -2 lines 0 comments Download
M ui/events/blink/DEPS View 1 chunk +1 line, -0 lines 0 comments Download
M ui/events/blink/did_overscroll_params.h View 2 chunks +5 lines, -0 lines 0 comments Download
M ui/events/blink/input_handler_proxy.cc View 1 chunk +4 lines, -1 line 0 comments Download
M ui/events/blink/input_handler_proxy_client.h View 1 chunk +2 lines, -1 line 0 comments Download
Trybot results: Sign in to try more bots
Commit queue not available (can’t edit this change).

Messages

Total messages: 9 (5 generated)
sunyunjia
Hi Majid, Here is the new patch that uses scroll-boundary-behavior to control pull-to-refresh on android. ...
1 week, 2 days ago (2017-05-17 01:02:18 UTC) #3
majidvp
I am not a CSS parser expert so I didn't review that part too closely. ...
1 week ago (2017-05-18 15:26:10 UTC) #4
sunyunjia
Hi Dave, Can you help look at this patch? We're uncertain about the css declarations, ...
6 days, 11 hours ago (2017-05-19 20:14:24 UTC) #8
dtapuska
2 days, 14 hours ago (2017-05-23 17:13:40 UTC) #9
https://codereview.chromium.org/2884423003/diff/40001/cc/ipc/cc_param_traits.h
File cc/ipc/cc_param_traits.h (right):

https://codereview.chromium.org/2884423003/diff/40001/cc/ipc/cc_param_traits....
cc/ipc/cc_param_traits.h:11: #include "cc/input/scroll_boundary_behavior.h"
This is an odd include. Where is this used?

https://codereview.chromium.org/2884423003/diff/40001/third_party/WebKit/publ...
File third_party/WebKit/public/platform/WebLayerTreeView.h (right):

https://codereview.chromium.org/2884423003/diff/40001/third_party/WebKit/publ...
third_party/WebKit/public/platform/WebLayerTreeView.h:117: virtual void
SetScrollBoundaryBehavior(WebScrollBoundaryBehavior) const {}
This is odd that this is a const method especially since it is "Set"

https://codereview.chromium.org/2884423003/diff/40001/third_party/WebKit/publ...
File third_party/WebKit/public/platform/WebScrollBoundaryBehavior.h (right):

https://codereview.chromium.org/2884423003/diff/40001/third_party/WebKit/publ...
third_party/WebKit/public/platform/WebScrollBoundaryBehavior.h:14: struct
WebScrollBoundaryBehavior : public ScrollBoundaryBehavior {
Is this all really needed?

TouchAction was used this way...

https://cs.chromium.org/chromium/src/third_party/WebKit/public/platform/WebTo...
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld 650457f06