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

Issue 2480863002: DCHECK that paint properties are never null (Closed)

Created:
4 years, 1 month ago by pdr.
Modified:
4 years, 1 month ago
Reviewers:
szager1, trchen
CC:
ajuma+watch_chromium.org, blink-reviews, blink-reviews-platform-graphics_chromium.org, Rik, chromium-reviews, danakj+watch_chromium.org, dshwang, drott+blinkwatch_chromium.org, krit, f(malita), jbroman, Justin Novosad, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

DCHECK that paint properties are never null This patch adds a new DCHECK that paint chunk properties are not null, along with comments describing how to fix this situation if one is unlucky enough to hit it. Now that we have root paint property nodes, the properties of a paint chunk should never be null. The asserts in this patch uncovered a bug where FrameView scrollbars were painted with null paint property nodes. This has been fixed by ensuring all properties, not just the transform property, are specified in FramePainter. This fixed 18 test failures due to the new assert. The asserts in this patch also uncovered a case where we were using null paint properties in SkPictureBuilder when optimizing the display item list of the CompositingRecorder. An assert disabler has been added because this case is safe, and comments have been added describing why. BUG=645615 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Committed: https://crrev.com/29bb3301df59c321abee8d9d226bf38e3877a5fb Cr-Commit-Position: refs/heads/master@{#431967}

Patch Set 1 #

Patch Set 2 : Fix null paint properties in FrameView scrollbar painting #

Total comments: 1

Patch Set 3 : Fix typeo #

Patch Set 4 : Fix null paint property crashes from SkPictureBuilder #

Patch Set 5 : dcheckmate #

Unified diffs Side-by-side diffs Delta from patch set Stats (+198 lines, -72 lines) Patch
M third_party/WebKit/Source/core/paint/FramePainter.cpp View 1 2 1 chunk +12 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/CompositingRecorder.cpp View 1 2 3 1 chunk +8 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintChunker.h View 1 2 3 2 chunks +14 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintChunker.cpp View 1 2 3 4 2 chunks +19 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintChunkerTest.cpp View 1 2 3 8 chunks +21 lines, -11 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp View 1 2 3 40 chunks +118 lines, -58 lines 0 comments Download
M third_party/WebKit/Source/web/tests/WebPluginContainerTest.cpp View 1 2 3 1 chunk +6 lines, -0 lines 0 comments Download

Messages

Total messages: 26 (17 generated)
pdr.
This is ready for review, though it can't land until two other patches land that ...
4 years, 1 month ago (2016-11-04 20:58:52 UTC) #2
szager1
lgtm
4 years, 1 month ago (2016-11-08 21:02:51 UTC) #3
pdr.
Stefan, this patch caught another case of null properties in FramePainter. I've fixed that in ...
4 years, 1 month ago (2016-11-12 02:13:02 UTC) #5
szager1
https://codereview.chromium.org/2480863002/diff/20001/third_party/WebKit/Source/core/paint/FramePainter.cpp File third_party/WebKit/Source/core/paint/FramePainter.cpp (right): https://codereview.chromium.org/2480863002/diff/20001/third_party/WebKit/Source/core/paint/FramePainter.cpp#newcode107 third_party/WebKit/Source/core/paint/FramePainter.cpp:107: auto* scrollBarScroll = contentsState->scroll(); As far as I can ...
4 years, 1 month ago (2016-11-14 05:34:04 UTC) #19
pdr.
On 2016/11/14 at 05:34:04, szager wrote: > https://codereview.chromium.org/2480863002/diff/20001/third_party/WebKit/Source/core/paint/FramePainter.cpp > File third_party/WebKit/Source/core/paint/FramePainter.cpp (right): > > https://codereview.chromium.org/2480863002/diff/20001/third_party/WebKit/Source/core/paint/FramePainter.cpp#newcode107 ...
4 years, 1 month ago (2016-11-14 17:57:52 UTC) #20
szager1
lgtm
4 years, 1 month ago (2016-11-14 21:32:08 UTC) #21
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/2480863002/80001
4 years, 1 month ago (2016-11-14 21:34:40 UTC) #23
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 1 month ago (2016-11-14 23:28:43 UTC) #24
commit-bot: I haz the power
4 years, 1 month ago (2016-11-14 23:33:51 UTC) #26
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/29bb3301df59c321abee8d9d226bf38e3877a5fb
Cr-Commit-Position: refs/heads/master@{#431967}

Powered by Google App Engine
This is Rietveld 408576698