Changeset 234329 in webkit


Ignore:
Timestamp:
Jul 27, 2018 3:11:32 PM (6 years ago)
Author:
Alan Bujtas
Message:

[WK1] ASSERTION FAILED: renderer().repaintLayoutRects().m_repaintRect == renderer().clippedOverflowRectForRepaint(renderer().containerForRepaint()) in WebCore::RenderLayer::updateLayerPositionsAfterScroll
https://bugs.webkit.org/show_bug.cgi?id=188122
<rdar://problem/42584790>

Reviewed by Simon Fraser.

Source/WebCore:

When ScrollView's m_paintsEntireContents flag flips due to layer backing changes, the repaint area transitions from
visual to layout overflow. When this happens the cached repaint rects become invalid and they need to be recomputed.
Currently there's no mechanism to trigger repaint cache invalidation from ScrollView.
Skip assertion for now on WK1 (see webkit.org/b/188121)

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPositionsAfterScroll):

LayoutTests:

  • platform/mac-wk1/TestExpectations:
Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r234325 r234329  
     12018-07-27  Zalan Bujtas  <zalan@apple.com>
     2
     3        [WK1] ASSERTION FAILED: renderer().repaintLayoutRects().m_repaintRect == renderer().clippedOverflowRectForRepaint(renderer().containerForRepaint()) in WebCore::RenderLayer::updateLayerPositionsAfterScroll
     4        https://bugs.webkit.org/show_bug.cgi?id=188122
     5        <rdar://problem/42584790>
     6
     7        Reviewed by Simon Fraser.
     8
     9        * platform/mac-wk1/TestExpectations:
     10
    1112018-07-27  Michael Catanzaro  <mcatanzaro@igalia.com>
    212
  • trunk/LayoutTests/platform/mac-wk1/TestExpectations

    r234263 r234329  
    587587webkit.org/b/187711 [ Debug ] svg/custom/linking-uri-01-b.svg [ Pass Failure ]
    588588
    589 # <rdar://problem/42584790>
    590 [ Mojave+ Debug ] fast/css/sticky/inflow-sticky.html [ Skip ]
    591 [ Mojave+ Debug ] fast/css/sticky/inline-sticky-abspos-child.html [ Skip ]
    592 [ Mojave+ Debug ] fast/css/sticky/inline-sticky.html [ Skip ]
    593 [ Mojave+ Debug ] fast/css/sticky/replaced-sticky.html [ Skip ]
    594 [ Mojave+ Debug ] fast/css/sticky/sticky-as-positioning-container.html [ Skip ]
    595 [ Mojave+ Debug ] fast/css/sticky/sticky-both-sides.html [ Skip ]
    596 [ Mojave+ Debug ] fast/css/sticky/sticky-left-percentage.html [ Skip ]
    597 [ Mojave+ Debug ] fast/css/sticky/sticky-left.html [ Skip ]
    598 [ Mojave+ Debug ] fast/css/sticky/sticky-margins.html [ Skip ]
    599 [ Mojave+ Debug ] fast/css/sticky/sticky-overflowing.html [ Skip ]
    600 [ Mojave+ Debug ] fast/css/sticky/sticky-side-margins.html [ Skip ]
    601 [ Mojave+ Debug ] fast/css/sticky/sticky-table-row-top.html [ Skip ]
    602 [ Mojave+ Debug ] fast/css/sticky/sticky-table-thead-top.html [ Skip ]
    603 [ Mojave+ Debug ] fast/css/sticky/sticky-top-margins.html [ Skip ]
    604 [ Mojave+ Debug ] fast/css/sticky/sticky-top.html [ Skip ]
    605 [ Mojave+ Debug ] fast/css/sticky/sticky-writing-mode-horizontal-bt.html [ Skip ]
    606 [ Mojave+ Debug ] fast/css/sticky/sticky-writing-mode-vertical-lr.html [ Skip ]
    607 [ Mojave+ Debug ] fast/css/sticky/sticky-writing-mode-vertical-rl.html [ Skip ]
    608 [ Mojave+ Debug ] fast/events/document-elementFromPoint.html [ Skip ]
    609 [ Mojave+ Debug ] fast/events/offsetX-offsetY.html [ Skip ]
    610 [ Mojave+ Debug ] fast/hidpi/hidpi-long-page-with-inset-element.html [ Skip ]
    611 [ Mojave+ Debug ] fast/repaint/absolute-position-changed.html [ Skip ]
    612 [ Mojave+ Debug ] fast/repaint/fixed-scale.html [ Skip ]
    613 [ Mojave+ Debug ] fast/repaint/fixed-table-cell.html [ Skip ]
    614 [ Mojave+ Debug ] fast/repaint/fixed-table-overflow-zindex.html [ Skip ]
    615 [ Mojave+ Debug ] fast/repaint/fixed-table-overflow.html [ Skip ]
    616 [ Mojave+ Debug ] fast/repaint/fixed.html [ Skip ]
    617 [ Mojave+ Debug ] fast/repaint/scroll-fixed-layer-with-reflection.html [ Skip ]
    618 [ Mojave+ Debug ] fast/scrolling/rtl-scrollbars-sticky-document-2.html [ Skip ]
    619 [ Mojave+ Debug ] fast/visual-viewport/client-coordinates-relative-to-layout-viewport.html [ Skip ]
    620 [ Mojave+ Debug ] fast/visual-viewport/zoomed-fixed-scroll-down-then-up.html [ Skip ]
    621 [ Mojave+ Debug ] fast/visual-viewport/zoomed-scroll-to-anchor-in-position-fixed.html [ Skip ]
    622 [ Mojave+ Debug ] fast/zooming/client-rect-in-fixed-zoomed.html [ Skip ]
    623 [ Mojave+ Debug ] transforms/2d/perspective-not-fixed-container.html [ Skip ]
    624 [ Mojave+ Debug ] transforms/2d/preserve3d-not-fixed-container.html [ Skip ]
    625 
    626589# <rdar://problem/42625657>
    627590[ Mojave+ ] fast/images/animated-gif-paint-after-animation.html [ Skip ]
  • trunk/Source/WebCore/ChangeLog

    r234318 r234329  
     12018-07-27  Zalan Bujtas  <zalan@apple.com>
     2
     3        [WK1] ASSERTION FAILED: renderer().repaintLayoutRects().m_repaintRect == renderer().clippedOverflowRectForRepaint(renderer().containerForRepaint()) in WebCore::RenderLayer::updateLayerPositionsAfterScroll
     4        https://bugs.webkit.org/show_bug.cgi?id=188122
     5        <rdar://problem/42584790>
     6
     7        Reviewed by Simon Fraser.
     8
     9        When ScrollView's m_paintsEntireContents flag flips due to layer backing changes, the repaint area transitions from
     10        visual to layout overflow. When this happens the cached repaint rects become invalid and they need to be recomputed.
     11        Currently there's no mechanism to trigger repaint cache invalidation from ScrollView.
     12        Skip assertion for now on WK1 (see webkit.org/b/188121)
     13
     14        * rendering/RenderLayer.cpp:
     15        (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
     16
    1172018-07-27  Myles C. Maxfield  <mmaxfield@apple.com>
    218
  • trunk/Source/WebCore/rendering/RenderLayer.cpp

    r234291 r234329  
    882882        else // FIXME: We could track the repaint container as we walk down the tree.
    883883            computeRepaintRects(renderer().containerForRepaint(), geometryMap);
    884     } else {
     884    } else if (!renderer().view().frameView().platformWidget()) {
     885        // When ScrollView's m_paintsEntireContents flag flips due to layer backing changes, the repaint area transitions from
     886        // visual to layout overflow. When this happens the cached repaint rects become invalid and they need to be recomputed (see webkit.org/b/188121).
    885887        // Check that our cached rects are correct.
    886888        ASSERT(!renderer().hasRepaintLayoutRects() || renderer().repaintLayoutRects().m_repaintRect == renderer().clippedOverflowRectForRepaint(renderer().containerForRepaint()));
Note: See TracChangeset for help on using the changeset viewer.