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

Issue 2618323004: Don't force-update style and layout in Document::scrollingElement (Closed)

Created:
3 years, 11 months ago by chrishtr
Modified:
3 years, 11 months ago
Reviewers:
wkorman
CC:
blink-reviews, blink-reviews-dom_chromium.org, chromium-reviews, dglazkov+blink, eae+blinkwatch, rwlbuis, sof
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Don't force-update style and layout in Document::scrollingElement This method has callsites inside of compositing, in which it's illegal to try to update layout and style because compositing comes after. However, it's also pointless to do so from such callsites. The other call sites are: FrameView::scrollBehaviorStyle Various scrolling methods in Element. All of the Element callsites already update style and layout; this CL adds it to the former (which has a very complicated set of ways it can be called, making it very hard to determine if style or layout could be dirty before calling it). BUG=679099 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2618323004 Cr-Commit-Position: refs/heads/master@{#443049} Committed: https://chromium.googlesource.com/chromium/src/+/e8c827b638b54a43e065cd6b3a431fefc5ae9768

Patch Set 1 #

Patch Set 2 : none #

Patch Set 3 : none #

Patch Set 4 : none #

Total comments: 6

Patch Set 5 : none #

Patch Set 6 : none #

Total comments: 1

Patch Set 7 : none #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+43 lines, -10 lines) Patch
M third_party/WebKit/Source/core/dom/Document.h View 1 2 3 4 1 chunk +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Document.cpp View 1 2 3 4 5 1 chunk +7 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/dom/Element.cpp View 1 2 3 4 5 6 8 chunks +32 lines, -8 lines 1 comment Download
M third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 45 (24 generated)
chrishtr
3 years, 11 months ago (2017-01-10 00:27:21 UTC) #3
wkorman
lgtm Is there a test case we can reduce from the linked bug to prevent ...
3 years, 11 months ago (2017-01-10 00:33:10 UTC) #6
chrishtr
On 2017/01/10 at 00:33:10, wkorman wrote: > lgtm > > Is there a test case ...
3 years, 11 months ago (2017-01-10 00:34:19 UTC) #7
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/2618323004/1
3 years, 11 months ago (2017-01-10 00:34:45 UTC) #10
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL)
3 years, 11 months ago (2017-01-10 02:30:13 UTC) #12
chrishtr
Updated the CL to remove forced-style/layout update in all cases, and break out a different ...
3 years, 11 months ago (2017-01-11 03:47:26 UTC) #18
wkorman
https://codereview.chromium.org/2618323004/diff/60001/third_party/WebKit/Source/core/dom/Document.cpp File third_party/WebKit/Source/core/dom/Document.cpp (right): https://codereview.chromium.org/2618323004/diff/60001/third_party/WebKit/Source/core/dom/Document.cpp#newcode1354 third_party/WebKit/Source/core/dom/Document.cpp:1354: if (RuntimeEnabledFeatures::scrollTopLeftInteropEnabled()) { Maybe add a DCHECK to ensure ...
3 years, 11 months ago (2017-01-11 03:56:39 UTC) #19
chrishtr
https://codereview.chromium.org/2618323004/diff/60001/third_party/WebKit/Source/core/dom/Document.cpp File third_party/WebKit/Source/core/dom/Document.cpp (right): https://codereview.chromium.org/2618323004/diff/60001/third_party/WebKit/Source/core/dom/Document.cpp#newcode1354 third_party/WebKit/Source/core/dom/Document.cpp:1354: if (RuntimeEnabledFeatures::scrollTopLeftInteropEnabled()) { On 2017/01/11 at 03:56:39, wkorman wrote: ...
3 years, 11 months ago (2017-01-11 04:09:09 UTC) #20
wkorman
lgtm
3 years, 11 months ago (2017-01-11 04:20:07 UTC) #23
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/2618323004/80001
3 years, 11 months ago (2017-01-11 04:57:35 UTC) #26
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/290681)
3 years, 11 months ago (2017-01-11 05:39:15 UTC) #28
chrishtr
https://codereview.chromium.org/2618323004/diff/100001/third_party/WebKit/Source/core/dom/Document.cpp File third_party/WebKit/Source/core/dom/Document.cpp (right): https://codereview.chromium.org/2618323004/diff/100001/third_party/WebKit/Source/core/dom/Document.cpp#newcode1356 third_party/WebKit/Source/core/dom/Document.cpp:1356: DCHECK(m_lifecycle.state() >= DocumentLifecycle::StyleClean); StyleClean is the right one, since ...
3 years, 11 months ago (2017-01-11 17:19:00 UTC) #30
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/2618323004/100001
3 years, 11 months ago (2017-01-11 17:19:37 UTC) #32
dglazkov
How could we capture this with a test? Maybe a Sim test would help here?
3 years, 11 months ago (2017-01-11 17:26:29 UTC) #33
chrishtr
On 2017/01/11 at 17:26:29, dglazkov wrote: > How could we capture this with a test? ...
3 years, 11 months ago (2017-01-11 17:38:00 UTC) #34
dglazkov
On 2017/01/11 at 17:38:00, chrishtr wrote: > On 2017/01/11 at 17:26:29, dglazkov wrote: > > ...
3 years, 11 months ago (2017-01-11 19:16:41 UTC) #35
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/361928)
3 years, 11 months ago (2017-01-11 19:59:58 UTC) #37
chrishtr
On 2017/01/11 at 19:16:41, dglazkov wrote: > On 2017/01/11 at 17:38:00, chrishtr wrote: > > ...
3 years, 11 months ago (2017-01-11 21:05:04 UTC) #38
chrishtr
https://codereview.chromium.org/2618323004/diff/120001/third_party/WebKit/Source/core/dom/Element.cpp File third_party/WebKit/Source/core/dom/Element.cpp (right): https://codereview.chromium.org/2618323004/diff/120001/third_party/WebKit/Source/core/dom/Element.cpp#newcode777 third_party/WebKit/Source/core/dom/Element.cpp:777: if (!inActiveDocument()) These were needed because updateStyleAndLayoutIgnorePendingStylesheetsForNode early-outs if ...
3 years, 11 months ago (2017-01-11 21:43:19 UTC) #41
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/2618323004/120001
3 years, 11 months ago (2017-01-11 21:43:37 UTC) #42
commit-bot: I haz the power
3 years, 11 months ago (2017-01-11 23:17:44 UTC) #45
Message was sent while issue was closed.
Committed patchset #7 (id:120001) as
https://chromium.googlesource.com/chromium/src/+/e8c827b638b54a43e065cd6b3a43...

Powered by Google App Engine
This is Rietveld 408576698