Paint invalidation flag of multicol spanner is marked in wrong hierarchy |
||
Issue descriptionOpen the attached test case in content_shell or chrome with dcheck enabled, and it will crash: #3 0x0000053bd600 blink::LayoutObject::assertClearedPaintInvalidationFlags() #4 0x0000053ba608 blink::LayoutObject::assertSubtreeClearedPaintInvalidationFlags() #5 0x0000053abd05 blink::FrameView::invalidateTreeIfNeeded() #6 0x0000053b34ec blink::FrameView::invalidateTreeIfNeededRecursiveInternal() #7 0x0000053b1f2b blink::FrameView::invalidateTreeIfNeededRecursive() This is because when the spanner's style changes, we mark ancestors of the spanner for childShouldCheckForPaintInvalidation through the natural ancestor chain. We should go through the placeholder instead.
,
Jun 15 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9c97b32bc9b60b0ec26da4954895ad7eb38d5e79 commit 9c97b32bc9b60b0ec26da4954895ad7eb38d5e79 Author: wangxianzhu <wangxianzhu@chromium.org> Date: Tue Jun 14 00:22:01 2016 LayoutObject::paintInvalidationParent() to fix multicol spanner invalidation This was LayoutObject::parentCrossingFrameBoundaries(). Renamed and added special rule for column spanner, and used for both finding painting layer and marking ancestor chain for paint invalidation. Previously we marked ancestor chain for paint invalidation through the normal tree order, causing the placeholder not marked for paint invalidation and missing walking to the spanner. If dcheck was enabled, it would crash because the paint invalidation flags of the spanner is not cleared. BUG= 619263 TEST=fast/repaint/multicol-spanner-background-color.html Review-Url: https://codereview.chromium.org/2063543002 Cr-Commit-Position: refs/heads/master@{#399614} [add] https://crrev.com/9c97b32bc9b60b0ec26da4954895ad7eb38d5e79/third_party/WebKit/LayoutTests/fast/repaint/multicol-spanner-background-color-expected.html [add] https://crrev.com/9c97b32bc9b60b0ec26da4954895ad7eb38d5e79/third_party/WebKit/LayoutTests/fast/repaint/multicol-spanner-background-color.html [modify] https://crrev.com/9c97b32bc9b60b0ec26da4954895ad7eb38d5e79/third_party/WebKit/Source/core/layout/LayoutObject.cpp [modify] https://crrev.com/9c97b32bc9b60b0ec26da4954895ad7eb38d5e79/third_party/WebKit/Source/core/layout/LayoutObject.h [modify] https://crrev.com/9c97b32bc9b60b0ec26da4954895ad7eb38d5e79/third_party/WebKit/Source/core/layout/VisualRectMappingTest.cpp
,
Jun 15 2016
|
||
►
Sign in to add a comment |
||
Comment 1 by bugdroid1@chromium.org
, Jun 14 2016