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

Issue 389573008: Enforce clearing renderers' paint invalidation state (Closed)

Created:
6 years, 5 months ago by Julien - ping for review
Modified:
6 years, 5 months ago
CC:
blink-reviews, blink-reviews-rendering, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, pdr., rune+blink, zoltan1
Project:
blink
Visibility:
Public.

Description

Enforce clearing renderers' paint invalidation state The ASSERT checks that no flags cleared by clearPaintInvalidationState() is still set up after calling repaint-after-compositing-update. The ASSERT is skipped for SVG subtree as we have an optimization that skips them. We could reproduce the exact condition but it seems not very useful to do so. The change caught several bugs (yay!): - one in shouldCheckForPaintInvalidationAfterLayout() that made the ASSERT trip on fast/repaint/table-row.html. - one where setShouldDoFullPaintInvalidationAfterLayout didn't mark the containing block chain for invalidation. BUG=385169 R=dsinclair@chromium.org, leviw@chromium.org Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=178719

Patch Set 1 #

Total comments: 6

Patch Set 2 : Fixed patchset (was missing some cases) #

Patch Set 3 : Fixed CrOS issues #

Patch Set 4 : Fixed code take II. #

Patch Set 5 : Added a missing test #

Patch Set 6 : Added a suppression for fast/forms/select/listbox-in-multicolumn.html #

Patch Set 7 : Updated TestExpectations for landing. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+128 lines, -37 lines) Patch
M LayoutTests/TestExpectations View 1 2 3 4 5 6 1 chunk +23 lines, -0 lines 0 comments Download
M LayoutTests/compositing/repaint/resize-repaint-expected.txt View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M LayoutTests/css3/flexbox/repaint-column-reverse-expected.txt View 1 1 chunk +1 line, -4 lines 0 comments Download
M LayoutTests/fast/box-shadow/negative-shadow-box-expand-expected.txt View 1 2 1 chunk +3 lines, -1 line 0 comments Download
M LayoutTests/fast/box-shadow/negative-shadow-box-shrink-expected.txt View 1 2 1 chunk +3 lines, -1 line 0 comments Download
M LayoutTests/fast/repaint/add-table-overpaint-expected.txt View 1 1 chunk +3 lines, -0 lines 0 comments Download
M LayoutTests/fast/repaint/box-shadow-inset-repaint-expected.txt View 1 2 1 chunk +3 lines, -1 line 0 comments Download
M LayoutTests/fast/repaint/content-into-overflow-expected.txt View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M LayoutTests/fast/repaint/overflow-into-content-expected.txt View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M LayoutTests/fast/repaint/repaint-table-row-in-composited-document-expected.txt View 1 1 chunk +1 line, -5 lines 0 comments Download
M LayoutTests/fast/repaint/table-row-expected.txt View 1 1 chunk +1 line, -0 lines 0 comments Download
M LayoutTests/fast/repaint/table-section-repaint-expected.txt View 1 2 1 chunk +0 lines, -3 lines 0 comments Download
M LayoutTests/fast/repaint/transform-disable-layoutstate-expected.txt View 1 2 1 chunk +1 line, -4 lines 0 comments Download
M LayoutTests/platform/linux/fast/repaint/block-no-inflow-children-expected.txt View 1 1 chunk +1 line, -0 lines 0 comments Download
M LayoutTests/platform/linux/fast/repaint/bugzilla-5699-expected.txt View 1 1 chunk +3 lines, -1 line 0 comments Download
M LayoutTests/platform/linux/fast/repaint/bugzilla-6278-expected.txt View 1 1 chunk +1 line, -4 lines 0 comments Download
M LayoutTests/platform/linux/fast/repaint/make-children-non-inline-expected.txt View 1 1 chunk +1 line, -0 lines 0 comments Download
M LayoutTests/platform/linux/fast/repaint/outline-change-invalidation-expected.txt View 1 1 chunk +2 lines, -0 lines 0 comments Download
M LayoutTests/platform/linux/fast/repaint/selection-clear-expected.txt View 1 1 chunk +1 line, -0 lines 0 comments Download
M LayoutTests/platform/linux/fast/repaint/stacked-diacritics-expected.txt View 1 1 chunk +1 line, -0 lines 0 comments Download
M LayoutTests/platform/linux/fast/repaint/table-collapsed-border-expected.txt View 1 2 1 chunk +7 lines, -0 lines 0 comments Download
M LayoutTests/platform/linux/fast/repaint/table-shrink-row-repaint-expected.txt View 1 1 chunk +0 lines, -3 lines 0 comments Download
M LayoutTests/platform/linux/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt View 1 1 chunk +2 lines, -1 line 0 comments Download
M LayoutTests/platform/linux/svg/custom/use-setAttribute-crash-expected.txt View 1 1 chunk +2 lines, -1 line 0 comments Download
M Source/core/frame/FrameView.cpp View 1 2 3 4 5 1 chunk +3 lines, -0 lines 0 comments Download
M Source/core/rendering/RenderBox.cpp View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M Source/core/rendering/RenderObject.h View 1 2 3 4 5 5 chunks +55 lines, -7 lines 0 comments Download
M Source/core/rendering/RenderObject.cpp View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download

Messages

Total messages: 28 (0 generated)
Julien - ping for review
6 years, 5 months ago (2014-07-11 20:43:04 UTC) #1
dsinclair
https://codereview.chromium.org/389573008/diff/1/Source/core/rendering/RenderObject.cpp File Source/core/rendering/RenderObject.cpp (right): https://codereview.chromium.org/389573008/diff/1/Source/core/rendering/RenderObject.cpp#newcode3400 Source/core/rendering/RenderObject.cpp:3400: ASSERT(paintInvalidationStateIsDirty()); Is this needed? We're basically checking that we ...
6 years, 5 months ago (2014-07-11 20:48:55 UTC) #2
Julien - ping for review
https://codereview.chromium.org/389573008/diff/1/Source/core/rendering/RenderObject.cpp File Source/core/rendering/RenderObject.cpp (right): https://codereview.chromium.org/389573008/diff/1/Source/core/rendering/RenderObject.cpp#newcode3400 Source/core/rendering/RenderObject.cpp:3400: ASSERT(paintInvalidationStateIsDirty()); On 2014/07/11 20:48:55, dsinclair wrote: > Is this ...
6 years, 5 months ago (2014-07-11 20:52:46 UTC) #3
dsinclair
lgtm
6 years, 5 months ago (2014-07-11 20:55:00 UTC) #4
leviw_travelin_and_unemployed
lgtm2!
6 years, 5 months ago (2014-07-14 17:32:54 UTC) #5
Julien - ping for review
The CQ bit was checked by jchaffraix@chromium.org
6 years, 5 months ago (2014-07-14 17:57:27 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jchaffraix@chromium.org/389573008/20001
6 years, 5 months ago (2014-07-14 17:58:59 UTC) #7
commit-bot: I haz the power
Change committed as 178089
6 years, 5 months ago (2014-07-14 18:39:46 UTC) #8
falken
On 2014/07/14 18:39:46, I haz the power (commit-bot) wrote: > Change committed as 178089 Some ...
6 years, 5 months ago (2014-07-15 01:38:12 UTC) #9
falken
On 2014/07/15 01:38:12, falken wrote: > On 2014/07/14 18:39:46, I haz the power (commit-bot) wrote: ...
6 years, 5 months ago (2014-07-15 02:10:41 UTC) #10
Julien - ping for review
On 2014/07/15 at 02:10:41, falken wrote: > On 2014/07/15 01:38:12, falken wrote: > > On ...
6 years, 5 months ago (2014-07-18 21:53:38 UTC) #11
Julien - ping for review
The CQ bit was checked by jchaffraix@chromium.org
6 years, 5 months ago (2014-07-18 23:47:23 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jchaffraix@chromium.org/389573008/60001
6 years, 5 months ago (2014-07-18 23:47:57 UTC) #13
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: mac_blink_rel on tryserver.blink ...
6 years, 5 months ago (2014-07-19 04:21:05 UTC) #14
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 5 months ago (2014-07-19 05:00:28 UTC) #15
commit-bot: I haz the power
Try jobs failed on following builders: mac_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/mac_blink_rel/builds/16242)
6 years, 5 months ago (2014-07-19 05:00:29 UTC) #16
Julien - ping for review
The CQ bit was checked by jchaffraix@chromium.org
6 years, 5 months ago (2014-07-21 15:22:19 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jchaffraix@chromium.org/389573008/70001
6 years, 5 months ago (2014-07-21 15:23:04 UTC) #18
commit-bot: I haz the power
Change committed as 178569
6 years, 5 months ago (2014-07-21 16:27:10 UTC) #19
Peter Kasting
A revert of this CL has been created in https://codereview.chromium.org/408083002/ by pkasting@chromium.org. The reason for ...
6 years, 5 months ago (2014-07-21 23:37:25 UTC) #20
Xianzhu
jchaffraix@, before resolving the assertion failure, could you create a change to add markContainingBlockChainForPaintInvalidation() first? ...
6 years, 5 months ago (2014-07-22 16:13:56 UTC) #21
Julien - ping for review
On 2014/07/22 at 16:13:56, wangxianzhu wrote: > jchaffraix@, before resolving the assertion failure, could you ...
6 years, 5 months ago (2014-07-22 19:39:52 UTC) #22
Julien - ping for review
The CQ bit was checked by jchaffraix@chromium.org
6 years, 5 months ago (2014-07-22 20:19:09 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jchaffraix@chromium.org/389573008/90001
6 years, 5 months ago (2014-07-22 20:19:49 UTC) #24
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: win_gpu_triggered_tests on tryserver.chromium.gpu ...
6 years, 5 months ago (2014-07-22 23:34:20 UTC) #25
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 5 months ago (2014-07-23 01:28:47 UTC) #26
commit-bot: I haz the power
Try jobs failed on following builders: win_gpu_triggered_tests on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/win_gpu_triggered_tests/builds/31142)
6 years, 5 months ago (2014-07-23 01:28:48 UTC) #27
Julien - ping for review
6 years, 5 months ago (2014-07-23 01:44:06 UTC) #28
Message was sent while issue was closed.
Committed patchset #7 manually as r178719 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698