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

Issue 1752043002: Merged FrameView and LayoutBox scrolling in EventHandler. (Closed)

Created:
4 years, 9 months ago by bokan
Modified:
4 years, 9 months ago
Reviewers:
skobes, tdresser, szager1
CC:
chromium-reviews, szager+layoutwatch_chromium.org, zoltan1, blink-reviews-layout_chromium.org, pdr+renderingwatchlist_chromium.org, eae+blinkwatch, leviw+renderwatch, jchaffraix+rendering, blink-reviews, skobes, dtapuska
Base URL:
https://chromium.googlesource.com/chromium/src.git@invertScrollCustomizationPath
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Merged FrameView and LayoutBox scrolling in EventHandler. Scrolling a FrameView (window and iframes) has some small differences from scrolling a normal LayoutBox. Because of this, we've generally forked all our scrolling code to take two different paths based on whether a LayoutBox is a FrameView/LayoutView. This has caused pain in that much logic has been duplicated between the two. This patch removes the duplication in the calling code and makes the decision based on the virtual LayoutBox::scroll function. BUG=591124 Committed: https://crrev.com/fd7ede807eb0e64820c805e8d5d0caf7ba9c5516 Cr-Commit-Position: refs/heads/master@{#380403}

Patch Set 1 #

Total comments: 21

Patch Set 2 : szager@ feedback + fixing iframe scroll chaining after recent changes #

Total comments: 2

Patch Set 3 : Added comment on LayoutView::scroll #

Total comments: 2

Patch Set 4 : Rebase #

Patch Set 5 : Made |consumed| a pointer #

Patch Set 6 : Rebase #

Patch Set 7 : Fixes for layout tests breaks #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+88 lines, -130 lines) Patch
M third_party/WebKit/LayoutTests/fast/events/platform-wheelevent-paging-x-in-scrolling-div.html View 1 2 3 4 5 6 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/events/platform-wheelevent-paging-xy-in-scrolling-div.html View 1 2 3 4 5 6 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/events/platform-wheelevent-paging-y-in-scrolling-div.html View 1 2 3 4 5 6 1 chunk +2 lines, -2 lines 2 comments Download
M third_party/WebKit/LayoutTests/fast/events/touch/gesture/touch-gesture-scroll-page.html View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/fast/events/touch/gesture/touch-gesture-scroll-page-zoomed.html View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/frame/LocalFrame.h View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/frame/LocalFrame.cpp View 1 2 3 2 chunks +5 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/input/EventHandler.h View 1 2 3 4 5 6 1 chunk +10 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/input/EventHandler.cpp View 1 2 3 4 5 6 11 chunks +51 lines, -111 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutView.h View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutView.cpp View 1 2 3 4 5 1 chunk +8 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/tests/TopControlsTest.cpp View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 35 (13 generated)
bokan
In case you're not sick of these yet :P https://codereview.chromium.org/1752043002/diff/1/third_party/WebKit/Source/core/input/EventHandler.cpp File third_party/WebKit/Source/core/input/EventHandler.cpp (right): https://codereview.chromium.org/1752043002/diff/1/third_party/WebKit/Source/core/input/EventHandler.cpp#newcode1821 third_party/WebKit/Source/core/input/EventHandler.cpp:1821: ...
4 years, 9 months ago (2016-03-01 19:49:25 UTC) #2
tdresser
https://codereview.chromium.org/1752043002/diff/1/third_party/WebKit/Source/core/input/EventHandler.cpp File third_party/WebKit/Source/core/input/EventHandler.cpp (left): https://codereview.chromium.org/1752043002/diff/1/third_party/WebKit/Source/core/input/EventHandler.cpp#oldcode1785 third_party/WebKit/Source/core/input/EventHandler.cpp:1785: deltaY = deltaY > 0 ? 1 : -1; ...
4 years, 9 months ago (2016-03-01 21:57:40 UTC) #3
bokan
https://codereview.chromium.org/1752043002/diff/1/third_party/WebKit/Source/core/input/EventHandler.cpp File third_party/WebKit/Source/core/input/EventHandler.cpp (left): https://codereview.chromium.org/1752043002/diff/1/third_party/WebKit/Source/core/input/EventHandler.cpp#oldcode1785 third_party/WebKit/Source/core/input/EventHandler.cpp:1785: deltaY = deltaY > 0 ? 1 : -1; ...
4 years, 9 months ago (2016-03-01 22:09:39 UTC) #4
tdresser
https://codereview.chromium.org/1752043002/diff/1/third_party/WebKit/Source/core/input/EventHandler.cpp File third_party/WebKit/Source/core/input/EventHandler.cpp (left): https://codereview.chromium.org/1752043002/diff/1/third_party/WebKit/Source/core/input/EventHandler.cpp#oldcode1785 third_party/WebKit/Source/core/input/EventHandler.cpp:1785: deltaY = deltaY > 0 ? 1 : -1; ...
4 years, 9 months ago (2016-03-02 14:27:21 UTC) #5
szager1
Minor drive-by... https://codereview.chromium.org/1752043002/diff/1/third_party/WebKit/Source/core/input/EventHandler.cpp File third_party/WebKit/Source/core/input/EventHandler.cpp (right): https://codereview.chromium.org/1752043002/diff/1/third_party/WebKit/Source/core/input/EventHandler.cpp#newcode633 third_party/WebKit/Source/core/input/EventHandler.cpp:633: curBox = curBox->isLayoutView() ? nullptr : curBox->containingBlock(); ...
4 years, 9 months ago (2016-03-02 19:14:35 UTC) #8
bokan
Had to fix up how I do wheel scroll chaining after: https://codereview.chromium.org/1731353003/ +skobes@ to take ...
4 years, 9 months ago (2016-03-02 20:37:14 UTC) #10
skobes
https://codereview.chromium.org/1752043002/diff/1/third_party/WebKit/Source/core/layout/LayoutView.cpp File third_party/WebKit/Source/core/layout/LayoutView.cpp (right): https://codereview.chromium.org/1752043002/diff/1/third_party/WebKit/Source/core/layout/LayoutView.cpp#newcode1026 third_party/WebKit/Source/core/layout/LayoutView.cpp:1026: { On 2016/03/02 20:37:13, bokan wrote: > On 2016/03/02 ...
4 years, 9 months ago (2016-03-02 23:26:30 UTC) #11
bokan
https://codereview.chromium.org/1752043002/diff/1/third_party/WebKit/Source/core/layout/LayoutView.cpp File third_party/WebKit/Source/core/layout/LayoutView.cpp (right): https://codereview.chromium.org/1752043002/diff/1/third_party/WebKit/Source/core/layout/LayoutView.cpp#newcode1026 third_party/WebKit/Source/core/layout/LayoutView.cpp:1026: { On 2016/03/02 23:26:30, skobes wrote: > On 2016/03/02 ...
4 years, 9 months ago (2016-03-02 23:33:19 UTC) #12
skobes
lgtm
4 years, 9 months ago (2016-03-02 23:36:17 UTC) #13
bokan
Tim, ptal, I'll await your l-g-t-m as well.
4 years, 9 months ago (2016-03-02 23:37:19 UTC) #14
tdresser
LGTM with nit. https://codereview.chromium.org/1752043002/diff/40001/third_party/WebKit/Source/core/input/EventHandler.h File third_party/WebKit/Source/core/input/EventHandler.h (right): https://codereview.chromium.org/1752043002/diff/40001/third_party/WebKit/Source/core/input/EventHandler.h#newcode282 third_party/WebKit/Source/core/input/EventHandler.h:282: ScrollResult physicalScroll(ScrollGranularity, const FloatSize& delta, Node* ...
4 years, 9 months ago (2016-03-03 15:28:27 UTC) #15
bokan
https://codereview.chromium.org/1752043002/diff/40001/third_party/WebKit/Source/core/input/EventHandler.h File third_party/WebKit/Source/core/input/EventHandler.h (right): https://codereview.chromium.org/1752043002/diff/40001/third_party/WebKit/Source/core/input/EventHandler.h#newcode282 third_party/WebKit/Source/core/input/EventHandler.h:282: ScrollResult physicalScroll(ScrollGranularity, const FloatSize& delta, Node* startNode, Node** stopNode, ...
4 years, 9 months ago (2016-03-03 19:53:26 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1752043002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1752043002/80001
4 years, 9 months ago (2016-03-03 19:54:41 UTC) #19
commit-bot: I haz the power
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/189930)
4 years, 9 months ago (2016-03-03 21:36:44 UTC) #21
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1752043002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1752043002/120001
4 years, 9 months ago (2016-03-09 22:32:38 UTC) #23
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/186850)
4 years, 9 months ago (2016-03-10 02:41:52 UTC) #25
bokan
I had to update some adjustments to and because of layout tests for this change. ...
4 years, 9 months ago (2016-03-10 13:45:13 UTC) #26
tdresser
Still LGTM. https://codereview.chromium.org/1752043002/diff/120001/third_party/WebKit/LayoutTests/fast/events/platform-wheelevent-paging-y-in-scrolling-div.html File third_party/WebKit/LayoutTests/fast/events/platform-wheelevent-paging-y-in-scrolling-div.html (right): https://codereview.chromium.org/1752043002/diff/120001/third_party/WebKit/LayoutTests/fast/events/platform-wheelevent-paging-y-in-scrolling-div.html#newcode6 third_party/WebKit/LayoutTests/fast/events/platform-wheelevent-paging-y-in-scrolling-div.html:6: var givenScrollTop = 2; // When paging, ...
4 years, 9 months ago (2016-03-10 13:53:07 UTC) #27
bokan
https://codereview.chromium.org/1752043002/diff/120001/third_party/WebKit/LayoutTests/fast/events/platform-wheelevent-paging-y-in-scrolling-div.html File third_party/WebKit/LayoutTests/fast/events/platform-wheelevent-paging-y-in-scrolling-div.html (right): https://codereview.chromium.org/1752043002/diff/120001/third_party/WebKit/LayoutTests/fast/events/platform-wheelevent-paging-y-in-scrolling-div.html#newcode6 third_party/WebKit/LayoutTests/fast/events/platform-wheelevent-paging-y-in-scrolling-div.html:6: var givenScrollTop = 2; // When paging, this is ...
4 years, 9 months ago (2016-03-10 13:54:12 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1752043002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1752043002/120001
4 years, 9 months ago (2016-03-10 13:54:35 UTC) #31
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years, 9 months ago (2016-03-10 14:54:45 UTC) #33
commit-bot: I haz the power
4 years, 9 months ago (2016-03-10 14:55:54 UTC) #35
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/fd7ede807eb0e64820c805e8d5d0caf7ba9c5516
Cr-Commit-Position: refs/heads/master@{#380403}

Powered by Google App Engine
This is Rietveld 408576698