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

Issue 2531603003: Only scroll on main if the targeted frames need to scroll on main (Closed)

Created:
4 years ago by yigu
Modified:
4 years ago
Reviewers:
flackr, *pdr.
CC:
blink-layers+watch_chromium.org, blink-reviews, chromium-reviews, kenneth.christiansen
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Only scroll on main if the targeted frames need to scroll on main BUG=568901 TEST=ScrollingCoordinatorTest.BackgroundAttachmentFixedShouldTriggerMainThreadScroll; FrameThrottlingTest.ScrollingCoordinatorShouldSkipThrottledFrame; ScrollingCoordinatorTest.RecalculateMainThreadScrollingReasonsUponResize third_party/WebKit/LayoutTests/compositing/layer-creation/iframe-background-attachment-fixed.html CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Committed: https://crrev.com/2e656635bd3f676e8385095b0e830af73d74d382 Cr-Commit-Position: refs/heads/master@{#439801}

Patch Set 1 #

Patch Set 2 : Refine conditions for skipping frame check #

Patch Set 3 : Performance update #

Patch Set 4 : Update FrameTree recursively #

Total comments: 4

Patch Set 5 : No need to update the entire frame tree. Rather, search the subtree from the target frame to main f… #

Patch Set 6 : Bug fix #

Total comments: 15

Patch Set 7 : Remove scroll layer creation for certain iframes & update the layout test files #

Patch Set 8 : Recover two condition checks #

Total comments: 5

Patch Set 9 : Logic refactoring so that no modification is made in const function mainThreadScrollingReasons(Loca… #

Patch Set 10 : Update sub-frame using loops instead of recursion & integrate a patch to fix spv2 problem #

Total comments: 9

Patch Set 11 : Add unit tests && remove mainthreadscrollingreasons when necessary #

Total comments: 5

Patch Set 12 : Refactoring && add unit tests #

Patch Set 13 : Bug fixed #

Total comments: 14

Patch Set 14 : Moving mainThreadScrollingReason related function from ScrollingCoordinator to FrameView to indicat… #

Total comments: 12

Patch Set 15 : Remove unnecessary parameters & make some methods const #

Patch Set 16 : Fix compiling error due to using backslash at the end of a commenting line" #

Total comments: 8

Patch Set 17 : Refactoring #

Patch Set 18 : Add unit tests for the main thread scrolling reason kHasNonLayerViewportConstrainedObjects #

Patch Set 19 : Resolve conflict #

Unified diffs Side-by-side diffs Delta from patch set Stats (+424 lines, -153 lines) Patch
M third_party/WebKit/LayoutTests/compositing/layer-creation/iframe-background-attachment-fixed.html View 1 2 3 4 5 6 7 8 1 chunk +15 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/compositing/layer-creation/iframe-background-attachment-fixed-expected.txt View 1 2 3 4 5 6 1 chunk +3 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/compositing/layer-creation/resources/background-attachment-fixed.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +12 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 5 chunks +29 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 7 chunks +153 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/core/page/Page.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/page/Page.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +0 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +0 lines, -9 lines 0 comments Download
M third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +7 lines, -111 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/testing/Internals.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -5 lines 0 comments Download
M third_party/WebKit/Source/platform/scroll/ScrollAnimator.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp View 1 2 3 4 1 chunk +3 lines, -1 line 0 comments Download
M third_party/WebKit/Source/web/tests/ScrollingCoordinatorTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +180 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/web/tests/data/has-non-layer-viewport-constrained-objects.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +4 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/web/tests/data/iframe-background-attachment-fixed.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +3 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/web/tests/data/iframe-background-attachment-fixed-inner.html View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +10 lines, -0 lines 0 comments Download

Messages

Total messages: 77 (33 generated)
yigu
Hi Rob, Could you please take a look at the current solution? Thanks. Yi
4 years ago (2016-11-28 22:23:49 UTC) #7
flackr
Can you add tests of some of the cases we talked about? Like the following ...
4 years ago (2016-11-30 16:02:11 UTC) #8
yigu
On 2016/11/30 16:02:11, flackr wrote: > Can you add tests of some of the cases ...
4 years ago (2016-12-01 21:00:42 UTC) #9
yigu
Hi Rob, Made few changes to fix a bug. PTAL. Thanks. https://codereview.chromium.org/2531603003/diff/60001/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp File third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp (right): ...
4 years ago (2016-12-02 19:08:08 UTC) #10
flackr
https://codereview.chromium.org/2531603003/diff/100001/third_party/WebKit/LayoutTests/compositing/layer-creation/iframe-background-attachment-fixed.html File third_party/WebKit/LayoutTests/compositing/layer-creation/iframe-background-attachment-fixed.html (right): https://codereview.chromium.org/2531603003/diff/100001/third_party/WebKit/LayoutTests/compositing/layer-creation/iframe-background-attachment-fixed.html#newcode19 third_party/WebKit/LayoutTests/compositing/layer-creation/iframe-background-attachment-fixed.html:19: <div class="composited scroller"> Does this scroller affect the test? ...
4 years ago (2016-12-02 19:24:02 UTC) #11
yigu
Hi Rob, Updated the layout test and removed the scroll layer creation. PTAL. Thanks! https://codereview.chromium.org/2531603003/diff/100001/third_party/WebKit/LayoutTests/compositing/layer-creation/iframe-background-attachment-fixed.html ...
4 years ago (2016-12-02 20:32:49 UTC) #12
yigu
Hi Philip, This patch is meant to guarantee that the main frame will not scroll ...
4 years ago (2016-12-05 18:48:05 UTC) #19
pdr.
https://codereview.chromium.org/2531603003/diff/140001/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp File third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp (right): https://codereview.chromium.org/2531603003/diff/140001/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp#newcode1141 third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp:1141: MainThreadScrollingReasons ScrollingCoordinator::mainThreadScrollingReasons( Changing this function to call addMainThreadScrollingReasons seems ...
4 years ago (2016-12-06 06:39:14 UTC) #20
flackr
https://codereview.chromium.org/2531603003/diff/100001/third_party/WebKit/LayoutTests/compositing/layer-creation/iframe-background-attachment-fixed.html File third_party/WebKit/LayoutTests/compositing/layer-creation/iframe-background-attachment-fixed.html (right): https://codereview.chromium.org/2531603003/diff/100001/third_party/WebKit/LayoutTests/compositing/layer-creation/iframe-background-attachment-fixed.html#newcode19 third_party/WebKit/LayoutTests/compositing/layer-creation/iframe-background-attachment-fixed.html:19: <div class="composited scroller"> On 2016/12/02 at 20:32:49, yigu wrote: ...
4 years ago (2016-12-06 14:50:53 UTC) #21
yigu
Thank you for pointing out this issue! The addMainThreadScrollingReasons function is now called in "setShouldUpdateScrollLayerPositionOnMainThread" ...
4 years ago (2016-12-06 21:09:46 UTC) #22
pdr.
I wrote a patch that should fix the spv2 codepath: https://codereview.chromium.org/2550273004 Would you like to ...
4 years ago (2016-12-07 01:55:55 UTC) #23
yigu
On 2016/12/07 01:55:55, pdr. wrote: > I wrote a patch that should fix the spv2 ...
4 years ago (2016-12-07 21:46:16 UTC) #24
flackr
https://codereview.chromium.org/2531603003/diff/180001/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp File third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp (right): https://codereview.chromium.org/2531603003/diff/180001/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp#newcode856 third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp:856: } Do the reasons need to be cleared if ...
4 years ago (2016-12-07 21:53:11 UTC) #25
pdr.
https://codereview.chromium.org/2531603003/diff/180001/third_party/WebKit/Source/core/page/Page.cpp File third_party/WebKit/Source/core/page/Page.cpp (right): https://codereview.chromium.org/2531603003/diff/180001/third_party/WebKit/Source/core/page/Page.cpp#newcode170 third_party/WebKit/Source/core/page/Page.cpp:170: // TODO(pdr): This walk should be unified with ScrollingCoordinator's ...
4 years ago (2016-12-07 22:25:30 UTC) #26
yigu
Hi Rob. Please take a look the current patch which adds the unit test and ...
4 years ago (2016-12-08 18:52:29 UTC) #28
pdr.
Sorry I didn't get to this today. Fixing the spv2 issue in this patch may ...
4 years ago (2016-12-09 04:38:40 UTC) #29
pdr.
https://codereview.chromium.org/2531603003/diff/200001/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp File third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp (right): https://codereview.chromium.org/2531603003/diff/200001/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp#newcode843 third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp:843: for (Frame* frame = m_page->mainFrame(); frame; This walk may ...
4 years ago (2016-12-09 05:33:50 UTC) #30
yigu
Thanks! I will remove the spv2 fix in my patch as you suggested and change ...
4 years ago (2016-12-09 14:33:52 UTC) #31
flackr
https://codereview.chromium.org/2531603003/diff/200001/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp File third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp (right): https://codereview.chromium.org/2531603003/diff/200001/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp#newcode843 third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp:843: for (Frame* frame = m_page->mainFrame(); frame; On 2016/12/09 at ...
4 years ago (2016-12-09 15:03:40 UTC) #32
yigu
On 2016/12/09 15:03:40, flackr wrote: > https://codereview.chromium.org/2531603003/diff/200001/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp > File third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp > (right): > > https://codereview.chromium.org/2531603003/diff/200001/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp#newcode843 ...
4 years ago (2016-12-09 16:32:37 UTC) #33
pdr.
On 2016/12/09 at 16:32:37, yigu wrote: > On 2016/12/09 15:03:40, flackr wrote: > > https://codereview.chromium.org/2531603003/diff/200001/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp ...
4 years ago (2016-12-12 21:07:42 UTC) #34
chromium-reviews
Hi Philip, Thanks for the suggestion! I used to update the frame tree recursively using ...
4 years ago (2016-12-12 21:40:30 UTC) #35
blink-reviews
Hi Philip, Thanks for the suggestion! I used to update the frame tree recursively using ...
4 years ago (2016-12-12 21:40:31 UTC) #36
pdr.
https://codereview.chromium.org/2531603003/diff/240001/third_party/WebKit/Source/core/page/Page.cpp File third_party/WebKit/Source/core/page/Page.cpp (right): https://codereview.chromium.org/2531603003/diff/240001/third_party/WebKit/Source/core/page/Page.cpp#newcode45 third_party/WebKit/Source/core/page/Page.cpp:45: #include "core/layout/LayoutView.h" Nit: Is this needed anymore? https://codereview.chromium.org/2531603003/diff/240001/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp File ...
4 years ago (2016-12-13 05:51:17 UTC) #37
pdr.
https://codereview.chromium.org/2531603003/diff/240001/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp File third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp (right): https://codereview.chromium.org/2531603003/diff/240001/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp#newcode852 third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp:852: for (Frame* frame = m_page->mainFrame(); frame; On 2016/12/13 at ...
4 years ago (2016-12-13 23:07:10 UTC) #38
yigu
On 2016/12/13 23:07:10, pdr. wrote: > https://codereview.chromium.org/2531603003/diff/240001/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp > File third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp > (right): > > https://codereview.chromium.org/2531603003/diff/240001/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp#newcode852 ...
4 years ago (2016-12-13 23:09:46 UTC) #39
pdr.
On 2016/12/13 at 23:09:46, yigu wrote: > The reasons are separate. I'm doing "reasons =" ...
4 years ago (2016-12-13 23:15:23 UTC) #40
yigu
On 2016/12/13 23:15:23, pdr. wrote: > On 2016/12/13 at 23:09:46, yigu wrote: > > The ...
4 years ago (2016-12-14 00:05:24 UTC) #41
pdr.
On 2016/12/14 at 00:05:24, yigu wrote: > On 2016/12/13 23:15:23, pdr. wrote: > > On ...
4 years ago (2016-12-14 00:18:57 UTC) #42
yigu
On 2016/12/14 00:18:57, pdr. wrote: > On 2016/12/14 at 00:05:24, yigu wrote: > > On ...
4 years ago (2016-12-14 00:24:35 UTC) #43
pdr.
On 2016/12/14 at 00:24:35, yigu wrote: > On 2016/12/14 00:18:57, pdr. wrote: > > On ...
4 years ago (2016-12-14 00:32:07 UTC) #44
yigu
On 2016/12/14 00:32:07, pdr. wrote: > On 2016/12/14 at 00:24:35, yigu wrote: > > On ...
4 years ago (2016-12-14 00:35:25 UTC) #45
pdr.
On 2016/12/14 at 00:35:25, yigu wrote: > On 2016/12/14 00:32:07, pdr. wrote: > > On ...
4 years ago (2016-12-14 00:40:52 UTC) #46
yigu
On 2016/12/14 00:40:52, pdr. wrote: > On 2016/12/14 at 00:35:25, yigu wrote: > > On ...
4 years ago (2016-12-14 00:52:35 UTC) #47
pdr.
Cool, I think we're on the same page. Please add a unit test for this ...
4 years ago (2016-12-14 00:54:34 UTC) #48
yigu
Hi Philip, In this patch I recursively update the frame tree to make sure all ...
4 years ago (2016-12-14 21:07:27 UTC) #49
pdr.
Sorry about taking so long to review this. I really like this latest patch, just ...
4 years ago (2016-12-17 05:50:16 UTC) #50
yigu
Hi Philip, Thanks for your thorough feedback! Made the changes as you suggested. PTAL. Yi ...
4 years ago (2016-12-18 17:57:12 UTC) #61
pdr.
https://codereview.chromium.org/2531603003/diff/300001/third_party/WebKit/LayoutTests/compositing/layer-creation/resources/background-attachment-fixed.html File third_party/WebKit/LayoutTests/compositing/layer-creation/resources/background-attachment-fixed.html (right): https://codereview.chromium.org/2531603003/diff/300001/third_party/WebKit/LayoutTests/compositing/layer-creation/resources/background-attachment-fixed.html#newcode15 third_party/WebKit/LayoutTests/compositing/layer-creation/resources/background-attachment-fixed.html:15: if (window.testRunner) Nit: is this test only loaded as ...
4 years ago (2016-12-19 04:04:28 UTC) #62
yigu
Hi Philip, New patch regarding you feedback is on. PTAL. Thanks! Yi https://codereview.chromium.org/2531603003/diff/300001/third_party/WebKit/LayoutTests/compositing/layer-creation/resources/background-attachment-fixed.html File third_party/WebKit/LayoutTests/compositing/layer-creation/resources/background-attachment-fixed.html ...
4 years ago (2016-12-20 00:48:34 UTC) #63
pdr.
LGTM
4 years ago (2016-12-20 03:02:57 UTC) #65
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2531603003/360001
4 years ago (2016-12-20 14:37:00 UTC) #72
commit-bot: I haz the power
Committed patchset #19 (id:360001)
4 years ago (2016-12-20 14:43:00 UTC) #75
commit-bot: I haz the power
4 years ago (2016-12-20 14:45:37 UTC) #77
Message was sent while issue was closed.
Patchset 19 (id:??) landed as
https://crrev.com/2e656635bd3f676e8385095b0e830af73d74d382
Cr-Commit-Position: refs/heads/master@{#439801}

Powered by Google App Engine
This is Rietveld 408576698