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

Issue 2773593005: Move logic of recording main thread scrolling reasons from cc to blink::ScrollManager (Closed)

Created:
3 years, 9 months ago by yigu
Modified:
3 years, 8 months ago
Reviewers:
flackr, bokan, ajuma, tdresser, jwd
CC:
chromium-reviews, dtapuska+blinkwatch_chromium.org, kinuko+watch, Navid Zolghadr, dtapuska+chromiumwatch_chromium.org, dshwang, blink-reviews-paint_chromium.org, blink-reviews, cc-bugs_chromium.org, blink-reviews-frames_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Move logic of recording main thread scrolling reasons from cc to blink::ScrollManager Due to crbug.com/701355, all style related main thread scrolling reasons stop being recorded. This patch moves the logic of storing the style related reasons to PLSA and move the recording logic to ScrollManager because the information on the compositor side is insufficient. The disabled test due to the previous bug has been enabled again with minor modification. BUG=704805 TEST=All/NonCompositedMainThreadScrollingReasonTest.*; EventHandlerTest.NonCompositedMainThreadScrollingReason* CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2773593005 Cr-Original-Commit-Position: refs/heads/master@{#464073} Committed: https://chromium.googlesource.com/chromium/src/+/76d0929033d6cd3ec36b96d1b4845166e70c9349 Review-Url: https://codereview.chromium.org/2773593005 Cr-Commit-Position: refs/heads/master@{#464461} Committed: https://chromium.googlesource.com/chromium/src/+/b797bf2e48843177bc5657622bb7fd1f09bb9e24

Patch Set 1 #

Patch Set 2 : Unit test update #

Patch Set 3 : nit #

Total comments: 13

Patch Set 4 : Address comments #

Patch Set 5 : Bug fix #

Total comments: 11

Patch Set 6 : Update recording logic for non composited reasons #

Total comments: 15

Patch Set 7 : nit #

Patch Set 8 : Address comments #

Patch Set 9 : bug fix #

Total comments: 5

Patch Set 10 : Update recording logic #

Total comments: 5

Patch Set 11 : Remove the UnknownNonCompositedRegion bucket #

Total comments: 22

Patch Set 12 : Add unit tests #

Total comments: 20

Patch Set 13 : Split unit tests into smaller ones #

Total comments: 32

Patch Set 14 : Add readability to unit tests && handle blink reformat #

Total comments: 4

Patch Set 15 : nit #

Total comments: 19

Patch Set 16 : Address comments #

Total comments: 2

Patch Set 17 : nit #

Patch Set 18 : fix incorrect test for android devices #

Unified diffs Side-by-side diffs Delta from patch set Stats (+453 lines, -168 lines) Patch
M cc/input/main_thread_scrolling_reason.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 5 chunks +14 lines, -18 lines 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 2 chunks +0 lines, -8 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 4 chunks +4 lines, -27 lines 0 comments Download
M third_party/WebKit/Source/core/input/EventHandlerTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 5 chunks +234 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/input/ScrollManager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/input/ScrollManager.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +64 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +4 lines, -6 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 6 chunks +12 lines, -55 lines 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 2 chunks +110 lines, -54 lines 0 comments Download
M third_party/WebKit/Source/web/tests/data/two_scrollable_area.html View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +4 lines, -0 lines 0 comments Download
M ui/events/blink/input_handler_proxy.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +4 lines, -0 lines 0 comments Download

Messages

Total messages: 63 (22 generated)
yigu
PTAL. Thanks!
3 years, 9 months ago (2017-03-24 13:23:45 UTC) #6
ajuma
cc/ lgtm
3 years, 9 months ago (2017-03-24 14:00:12 UTC) #8
bokan
Ok, I think I understand this a little better now. The reasons you added could ...
3 years, 9 months ago (2017-03-24 17:55:55 UTC) #9
yigu
Thanks for the feedback! I've updated the patch based on it. PTAL. https://codereview.chromium.org/2773593005/diff/40001/third_party/WebKit/Source/core/input/ScrollManager.cpp File third_party/WebKit/Source/core/input/ScrollManager.cpp ...
3 years, 8 months ago (2017-03-27 21:02:08 UTC) #10
bokan
Tim, Rob, any thoughts on my comment in ScrollManager? I don't think we have enough ...
3 years, 8 months ago (2017-03-28 15:30:16 UTC) #11
tdresser
https://codereview.chromium.org/2773593005/diff/80001/third_party/WebKit/Source/core/input/ScrollManager.cpp File third_party/WebKit/Source/core/input/ScrollManager.cpp (right): https://codereview.chromium.org/2773593005/diff/80001/third_party/WebKit/Source/core/input/ScrollManager.cpp#newcode208 third_party/WebKit/Source/core/input/ScrollManager.cpp:208: if (scrollableArea->isScrollable()) { On 2017/03/28 15:30:15, bokan wrote: > ...
3 years, 8 months ago (2017-03-28 17:10:22 UTC) #12
bokan
https://codereview.chromium.org/2773593005/diff/80001/third_party/WebKit/Source/core/input/ScrollManager.cpp File third_party/WebKit/Source/core/input/ScrollManager.cpp (right): https://codereview.chromium.org/2773593005/diff/80001/third_party/WebKit/Source/core/input/ScrollManager.cpp#newcode208 third_party/WebKit/Source/core/input/ScrollManager.cpp:208: if (scrollableArea->isScrollable()) { On 2017/03/28 17:10:22, tdresser wrote: > ...
3 years, 8 months ago (2017-03-28 18:23:02 UTC) #13
tdresser
https://codereview.chromium.org/2773593005/diff/80001/third_party/WebKit/Source/core/input/ScrollManager.cpp File third_party/WebKit/Source/core/input/ScrollManager.cpp (right): https://codereview.chromium.org/2773593005/diff/80001/third_party/WebKit/Source/core/input/ScrollManager.cpp#newcode208 third_party/WebKit/Source/core/input/ScrollManager.cpp:208: if (scrollableArea->isScrollable()) { On 2017/03/28 18:23:02, bokan wrote: > ...
3 years, 8 months ago (2017-03-28 19:25:14 UTC) #14
yigu
Hi David. I've reorganized the recording logic for noncompositedreaons and updated the unit tests accordingly. ...
3 years, 8 months ago (2017-03-30 18:26:43 UTC) #15
jwd
lgtm
3 years, 8 months ago (2017-03-30 20:30:28 UTC) #17
bokan
Did you determine where will-change: transform forces compositing? Will we clear the NonComposited reasons in ...
3 years, 8 months ago (2017-03-31 16:55:53 UTC) #18
bokan
PS, please remember to wrap the commit message at 72 chars
3 years, 8 months ago (2017-03-31 19:10:45 UTC) #19
yigu
Thanks David for the feedback! PTAL. https://codereview.chromium.org/2773593005/diff/100001/cc/input/main_thread_scrolling_reason.h File cc/input/main_thread_scrolling_reason.h (right): https://codereview.chromium.org/2773593005/diff/100001/cc/input/main_thread_scrolling_reason.h#newcode90 cc/input/main_thread_scrolling_reason.h:90: // Usually a ...
3 years, 8 months ago (2017-03-31 19:18:55 UTC) #22
bokan
https://codereview.chromium.org/2773593005/diff/100001/cc/input/main_thread_scrolling_reason.h File cc/input/main_thread_scrolling_reason.h (right): https://codereview.chromium.org/2773593005/diff/100001/cc/input/main_thread_scrolling_reason.h#newcode90 cc/input/main_thread_scrolling_reason.h:90: // Usually a scroller won't be composited with the ...
3 years, 8 months ago (2017-04-04 18:14:26 UTC) #25
yigu
PTAL. Thanks! https://codereview.chromium.org/2773593005/diff/100001/cc/input/main_thread_scrolling_reason.h File cc/input/main_thread_scrolling_reason.h (right): https://codereview.chromium.org/2773593005/diff/100001/cc/input/main_thread_scrolling_reason.h#newcode90 cc/input/main_thread_scrolling_reason.h:90: // Usually a scroller won't be composited ...
3 years, 8 months ago (2017-04-05 20:18:02 UTC) #26
bokan
Ok, I think the current logic is fine for a single frame, but this doesn't ...
3 years, 8 months ago (2017-04-06 14:25:24 UTC) #27
yigu
On 2017/04/06 14:25:24, bokan wrote: > Ok, I think the current logic is fine for ...
3 years, 8 months ago (2017-04-06 15:58:32 UTC) #28
bokan
Ok, logic is looking good now. There's a few fixes, comments, and I'd like to ...
3 years, 8 months ago (2017-04-06 21:45:10 UTC) #29
yigu
Thanks David for helping me to get away from the dark:) PTAL. https://codereview.chromium.org/2773593005/diff/200001/cc/input/main_thread_scrolling_reason.h File cc/input/main_thread_scrolling_reason.h ...
3 years, 8 months ago (2017-04-07 16:35:32 UTC) #31
bokan
BTW, if you're going to rebase your local branch, rebase first and upload the rebased ...
3 years, 8 months ago (2017-04-07 17:39:03 UTC) #32
yigu
Thanks David. PTAL. https://codereview.chromium.org/2773593005/diff/220001/cc/input/main_thread_scrolling_reason.h File cc/input/main_thread_scrolling_reason.h (right): https://codereview.chromium.org/2773593005/diff/220001/cc/input/main_thread_scrolling_reason.h#newcode94 cc/input/main_thread_scrolling_reason.h:94: (non_composited_reasons == (reasons | non_composited_reasons)); On ...
3 years, 8 months ago (2017-04-07 19:26:27 UTC) #34
bokan
Ok, everything looks good. The tests are just a little hard to follow so I've ...
3 years, 8 months ago (2017-04-07 21:05:57 UTC) #35
yigu
Hi David. Thanks for the feedback especially for the readability part! The unit tests look ...
3 years, 8 months ago (2017-04-10 20:39:05 UTC) #36
bokan
Ok, this is lgtm from me with two final changes. Please have either tdresser@ or ...
3 years, 8 months ago (2017-04-11 17:30:52 UTC) #37
tdresser
https://codereview.chromium.org/2773593005/diff/280001/cc/input/main_thread_scrolling_reason.h File cc/input/main_thread_scrolling_reason.h (right): https://codereview.chromium.org/2773593005/diff/280001/cc/input/main_thread_scrolling_reason.h#newcode92 cc/input/main_thread_scrolling_reason.h:92: kHasClipRelatedProperty | kHasBoxShadowFromNonRootLayer; Can we just do some math ...
3 years, 8 months ago (2017-04-11 18:50:48 UTC) #38
bokan
https://codereview.chromium.org/2773593005/diff/280001/third_party/WebKit/Source/core/input/EventHandlerTest.cpp File third_party/WebKit/Source/core/input/EventHandlerTest.cpp (right): https://codereview.chromium.org/2773593005/diff/280001/third_party/WebKit/Source/core/input/EventHandlerTest.cpp#newcode42 third_party/WebKit/Source/core/input/EventHandlerTest.cpp:42: count); On 2017/04/11 18:50:47, tdresser wrote: > I'm not ...
3 years, 8 months ago (2017-04-11 19:23:26 UTC) #39
flackr
https://codereview.chromium.org/2773593005/diff/280001/third_party/WebKit/Source/core/input/ScrollManager.cpp File third_party/WebKit/Source/core/input/ScrollManager.cpp (right): https://codereview.chromium.org/2773593005/diff/280001/third_party/WebKit/Source/core/input/ScrollManager.cpp#newcode223 third_party/WebKit/Source/core/input/ScrollManager.cpp:223: } What is the state when we handle these ...
3 years, 8 months ago (2017-04-11 19:35:36 UTC) #40
flackr
https://codereview.chromium.org/2773593005/diff/280001/third_party/WebKit/Source/core/input/ScrollManager.cpp File third_party/WebKit/Source/core/input/ScrollManager.cpp (right): https://codereview.chromium.org/2773593005/diff/280001/third_party/WebKit/Source/core/input/ScrollManager.cpp#newcode223 third_party/WebKit/Source/core/input/ScrollManager.cpp:223: } On 2017/04/11 19:35:35, flackr wrote: > What is ...
3 years, 8 months ago (2017-04-11 20:13:03 UTC) #41
tdresser
https://codereview.chromium.org/2773593005/diff/280001/third_party/WebKit/Source/core/input/EventHandlerTest.cpp File third_party/WebKit/Source/core/input/EventHandlerTest.cpp (right): https://codereview.chromium.org/2773593005/diff/280001/third_party/WebKit/Source/core/input/EventHandlerTest.cpp#newcode42 third_party/WebKit/Source/core/input/EventHandlerTest.cpp:42: count); On 2017/04/11 19:23:26, bokan wrote: > On 2017/04/11 ...
3 years, 8 months ago (2017-04-11 20:33:27 UTC) #42
yigu
Thanks for the feedback! PTAL. https://codereview.chromium.org/2773593005/diff/260001/third_party/WebKit/Source/core/input/EventHandlerTest.cpp File third_party/WebKit/Source/core/input/EventHandlerTest.cpp (right): https://codereview.chromium.org/2773593005/diff/260001/third_party/WebKit/Source/core/input/EventHandlerTest.cpp#newcode101 third_party/WebKit/Source/core/input/EventHandlerTest.cpp:101: const WebGestureDevice = kWebGestureDeviceTouchpad); ...
3 years, 8 months ago (2017-04-11 21:28:11 UTC) #43
bokan
https://codereview.chromium.org/2773593005/diff/280001/third_party/WebKit/Source/core/input/EventHandlerTest.cpp File third_party/WebKit/Source/core/input/EventHandlerTest.cpp (right): https://codereview.chromium.org/2773593005/diff/280001/third_party/WebKit/Source/core/input/EventHandlerTest.cpp#newcode42 third_party/WebKit/Source/core/input/EventHandlerTest.cpp:42: count); On 2017/04/11 20:33:27, tdresser wrote: > On 2017/04/11 ...
3 years, 8 months ago (2017-04-11 22:27:16 UTC) #44
flackr
https://codereview.chromium.org/2773593005/diff/300001/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp File third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp (right): https://codereview.chromium.org/2773593005/diff/300001/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp#newcode1865 third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp:1865: non_composited_main_thread_scrolling_reasons_)); Actually what we want to check here is: ...
3 years, 8 months ago (2017-04-11 22:31:21 UTC) #45
tdresser
ui/events/blink/input_handler_proxy.cc LGTM
3 years, 8 months ago (2017-04-12 14:34:25 UTC) #46
yigu
Hi Rob. Have updated the DCHECK by adding a combination variable in main_thread_scrolling_reasons.h. PTAL. Thanks. ...
3 years, 8 months ago (2017-04-12 15:29:45 UTC) #47
flackr
lgtm
3 years, 8 months ago (2017-04-12 15:33:22 UTC) #48
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/2773593005/320001
3 years, 8 months ago (2017-04-12 15:34:52 UTC) #51
commit-bot: I haz the power
Committed patchset #17 (id:320001) as https://chromium.googlesource.com/chromium/src/+/76d0929033d6cd3ec36b96d1b4845166e70c9349
3 years, 8 months ago (2017-04-12 17:45:59 UTC) #54
jdoerrie
A revert of this CL (patchset #17 id:320001) has been created in https://codereview.chromium.org/2816973002/ by jdoerrie@chromium.org. ...
3 years, 8 months ago (2017-04-13 08:09:17 UTC) #55
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/2773593005/340001
3 years, 8 months ago (2017-04-13 15:48:31 UTC) #59
yigu
On 2017/04/13 08:09:17, jdoerrie wrote: > A revert of this CL (patchset #17 id:320001) has ...
3 years, 8 months ago (2017-04-13 15:49:33 UTC) #60
commit-bot: I haz the power
3 years, 8 months ago (2017-04-13 17:51:48 UTC) #63
Message was sent while issue was closed.
Committed patchset #18 (id:340001) as
https://chromium.googlesource.com/chromium/src/+/b797bf2e48843177bc5657622bb7...

Powered by Google App Engine
This is Rietveld 408576698