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

Issue 1840113005: Move viewport actions into an ApplyScroll callback. (Closed)

Created:
4 years, 8 months ago by bokan
Modified:
4 years, 8 months ago
Reviewers:
tdresser
CC:
chromium-reviews, kenneth.christiansen, blink-reviews-html_chromium.org, szager+layoutwatch_chromium.org, zoltan1, blink-reviews-layout_chromium.org, sof, eae+blinkwatch, leviw+renderwatch, blink-reviews-dom_chromium.org, dglazkov+blink, dtapuska+blinkwatch_chromium.org, jchaffraix+rendering, pdr+renderingwatchlist_chromium.org, blink-reviews, rwlbuis, dtapuska
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Move viewport actions into an ApplyScroll callback. This CL moves viewport related actions like top controls movement and overscroll handling into an applyScroll callback. This callback is installed on the root document's scrollingElement, or the documentElement if scrollingElement is null. Since scroll customization isn't enabled by default, this requires enabling some of its machinery to run without enabling scroll customization for web content. In addition, we're still scrolling on non-scroll customization paths in EventHandler so this patch explicitly checks if an element has an apply scroll callback and branches into the scroll customization path in that case. The rationale for this change is to bundle up all the viewport actions in one place as a prerequisite for the non-document root scrollers proposal. The followup to this will be to allow content to somehow move the callback onto elements other than the scrollingElement which will cause them to become the de factor "root scroller". BUG=505516 Committed: https://crrev.com/3bd3454e3882716955c7db2b0b6ed8a2f1454107 Cr-Commit-Position: refs/heads/master@{#387224}

Patch Set 1 : #

Total comments: 26

Patch Set 2 : Rebase #

Patch Set 3 : Addressing Tim's feedback #

Patch Set 4 : Removed TODO re: start_position #

Patch Set 5 : Rebase and Disable track-word-breaking.html test #

Patch Set 6 : Rebase #

Patch Set 7 : Nit: removed unused headers #

Patch Set 8 : Disabled track-word-breaking.html on release too and remove position in defaultWheelEventHandler #

Total comments: 7

Patch Set 9 : Addressing Tim's feedback #

Patch Set 10 : Rebase #

Patch Set 11 : Add timeout expectation on Crashing test due to problem on Mac #

Patch Set 12 : Rebase #

Patch Set 13 : Fixed start_position -> position #

Patch Set 14 : Rebase over my own changes #

Unified diffs Side-by-side diffs Delta from patch set Stats (+466 lines, -126 lines) Patch
M third_party/WebKit/LayoutTests/TestExpectations View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/core.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Document.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +11 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Document.cpp View 1 2 3 4 5 6 7 8 9 4 chunks +45 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Element.h View 1 2 3 4 5 6 7 8 9 1 chunk +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Element.cpp View 1 2 3 4 5 6 7 8 9 3 chunks +39 lines, -31 lines 0 comments Download
M third_party/WebKit/Source/core/frame/LocalFrame.h View 1 2 3 4 5 2 chunks +0 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/frame/LocalFrame.cpp View 1 2 3 4 5 6 1 chunk +0 lines, -44 lines 0 comments Download
M third_party/WebKit/Source/core/input/EventHandler.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +22 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/input/EventHandler.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 9 chunks +164 lines, -41 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutView.cpp View 1 2 3 4 1 chunk +8 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/page/scrolling/ScrollCustomizationCallbacks.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/page/scrolling/ScrollCustomizationCallbacks.cpp View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/page/scrolling/ViewportScrollCallback.h View 1 2 3 4 5 6 7 8 1 chunk +41 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/page/scrolling/ViewportScrollCallback.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +121 lines, -0 lines 0 comments Download

Messages

Total messages: 83 (45 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1840113005/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1840113005/1
4 years, 8 months ago (2016-03-31 15:49:33 UTC) #2
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: ios_rel_device_gn on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_rel_device_gn/builds/11742) mac_chromium_rel_ng on ...
4 years, 8 months ago (2016-03-31 15:51:27 UTC) #4
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1840113005/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1840113005/20001
4 years, 8 months ago (2016-03-31 18:18:50 UTC) #6
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_chromium_compile_dbg_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg_ng/builds/167205)
4 years, 8 months ago (2016-03-31 18:22:27 UTC) #8
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1840113005/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1840113005/40001
4 years, 8 months ago (2016-03-31 20:39:55 UTC) #10
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/197369)
4 years, 8 months ago (2016-03-31 21:56:44 UTC) #12
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1840113005/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1840113005/60001
4 years, 8 months ago (2016-04-01 22:22:19 UTC) #14
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win8_chromium_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win8_chromium_ng/builds/126110)
4 years, 8 months ago (2016-04-01 22:34:27 UTC) #16
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1840113005/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1840113005/80001
4 years, 8 months ago (2016-04-01 23:19:00 UTC) #18
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/204350)
4 years, 8 months ago (2016-04-02 00:30:22 UTC) #20
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1840113005/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1840113005/120001
4 years, 8 months ago (2016-04-04 18:19:29 UTC) #22
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_gn_rel on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_gn_rel/builds/89690)
4 years, 8 months ago (2016-04-04 18:34:12 UTC) #24
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1840113005/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1840113005/140001
4 years, 8 months ago (2016-04-04 18:39:02 UTC) #26
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/198979)
4 years, 8 months ago (2016-04-04 19:48:46 UTC) #28
bokan
Hey Tim, PTAL, I've called out a few issues I'd like your input on. I've ...
4 years, 8 months ago (2016-04-04 21:44:38 UTC) #38
tdresser
+dtapuska, for wheel overscroll question. https://codereview.chromium.org/1840113005/diff/160001/third_party/WebKit/Source/core/dom/Document.cpp File third_party/WebKit/Source/core/dom/Document.cpp (right): https://codereview.chromium.org/1840113005/diff/160001/third_party/WebKit/Source/core/dom/Document.cpp#newcode726 third_party/WebKit/Source/core/dom/Document.cpp:726: if (m_oldScrollingElement) { Ah, ...
4 years, 8 months ago (2016-04-05 19:31:12 UTC) #39
dtapuska
https://codereview.chromium.org/1840113005/diff/160001/third_party/WebKit/Source/core/input/EventHandler.cpp File third_party/WebKit/Source/core/input/EventHandler.cpp (right): https://codereview.chromium.org/1840113005/diff/160001/third_party/WebKit/Source/core/input/EventHandler.cpp#newcode1990 third_party/WebKit/Source/core/input/EventHandler.cpp:1990: // hacky, there should be a more explicit way ...
4 years, 8 months ago (2016-04-05 19:58:58 UTC) #41
bokan
https://codereview.chromium.org/1840113005/diff/160001/third_party/WebKit/Source/core/dom/Document.cpp File third_party/WebKit/Source/core/dom/Document.cpp (right): https://codereview.chromium.org/1840113005/diff/160001/third_party/WebKit/Source/core/dom/Document.cpp#newcode726 third_party/WebKit/Source/core/dom/Document.cpp:726: if (m_oldScrollingElement) { On 2016/04/05 19:31:12, tdresser wrote: > ...
4 years, 8 months ago (2016-04-06 15:21:01 UTC) #42
bokan
https://codereview.chromium.org/1840113005/diff/160001/third_party/WebKit/Source/core/dom/Document.h File third_party/WebKit/Source/core/dom/Document.h (right): https://codereview.chromium.org/1840113005/diff/160001/third_party/WebKit/Source/core/dom/Document.h#newcode1277 third_party/WebKit/Source/core/dom/Document.h:1277: Member<Element> m_oldScrollingElement; On 2016/04/06 15:21:01, bokan wrote: > On ...
4 years, 8 months ago (2016-04-07 00:39:14 UTC) #43
bokan
+eae@ for layout issue/question: In Document.cpp, I added updateViewportApplyScroll to check if the scrollingElement() has ...
4 years, 8 months ago (2016-04-07 01:27:15 UTC) #45
bokan
Seems eae@ is OOO, +Levi do you know the answer to my question above? Or ...
4 years, 8 months ago (2016-04-07 22:36:23 UTC) #47
bokan
Seems eae@ is OOO, +Levi do you know the answer to my question above? Or ...
4 years, 8 months ago (2016-04-07 22:36:24 UTC) #49
leviw_travelin_and_unemployed
On 2016/04/07 at 01:27:15, bokan wrote: > +eae@ for layout issue/question: In Document.cpp, I added ...
4 years, 8 months ago (2016-04-07 23:50:37 UTC) #50
bokan
On 2016/04/07 23:50:37, leviw wrote: > On 2016/04/07 at 01:27:15, bokan wrote: > > +eae@ ...
4 years, 8 months ago (2016-04-08 17:37:24 UTC) #51
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1840113005/280001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1840113005/280001
4 years, 8 months ago (2016-04-11 18:16:49 UTC) #54
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/208989) win_chromium_rel_ng on ...
4 years, 8 months ago (2016-04-11 20:01:07 UTC) #56
bokan
Tim, ptal. I've addressed all the feedback. The issue with the placement of updateViewportApplyScroll in ...
4 years, 8 months ago (2016-04-11 23:52:59 UTC) #58
tdresser
LGTM https://codereview.chromium.org/1840113005/diff/320001/third_party/WebKit/Source/core/dom/Document.h File third_party/WebKit/Source/core/dom/Document.h (right): https://codereview.chromium.org/1840113005/diff/320001/third_party/WebKit/Source/core/dom/Document.h#newcode1288 third_party/WebKit/Source/core/dom/Document.h:1288: // it around until we move its ApplyScroll ...
4 years, 8 months ago (2016-04-12 13:59:16 UTC) #59
bokan
https://codereview.chromium.org/1840113005/diff/320001/third_party/WebKit/LayoutTests/TestExpectations File third_party/WebKit/LayoutTests/TestExpectations (right): https://codereview.chromium.org/1840113005/diff/320001/third_party/WebKit/LayoutTests/TestExpectations#newcode56 third_party/WebKit/LayoutTests/TestExpectations:56: crbug.com/372245 media/track/track-word-breaking.html [ Failure ] Changed this to a ...
4 years, 8 months ago (2016-04-12 15:13:53 UTC) #61
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1840113005/360001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1840113005/360001
4 years, 8 months ago (2016-04-12 15:14:00 UTC) #62
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/209730)
4 years, 8 months ago (2016-04-12 16:39:41 UTC) #65
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1840113005/400001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1840113005/400001
4 years, 8 months ago (2016-04-13 20:08:57 UTC) #68
commit-bot: I haz the power
Try jobs failed on following builders: cast_shell_android on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/cast_shell_android/builds/50008)
4 years, 8 months ago (2016-04-13 20:19:23 UTC) #70
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1840113005/420001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1840113005/420001
4 years, 8 months ago (2016-04-13 22:47:24 UTC) #73
commit-bot: I haz the power
Failed to apply patch for third_party/WebKit/Source/core/input/EventHandler.cpp: While running git apply --index -3 -p1; error: patch ...
4 years, 8 months ago (2016-04-14 00:37:49 UTC) #75
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1840113005/440001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1840113005/440001
4 years, 8 months ago (2016-04-14 01:43:07 UTC) #79
commit-bot: I haz the power
Committed patchset #14 (id:440001)
4 years, 8 months ago (2016-04-14 03:18:24 UTC) #81
commit-bot: I haz the power
4 years, 8 months ago (2016-04-14 03:20:09 UTC) #83
Message was sent while issue was closed.
Patchset 14 (id:??) landed as
https://crrev.com/3bd3454e3882716955c7db2b0b6ed8a2f1454107
Cr-Commit-Position: refs/heads/master@{#387224}

Powered by Google App Engine
This is Rietveld 408576698