Title: [234354] branches/safari-606-branch
- Revision
- 234354
- Author
- [email protected]
- Date
- 2018-07-29 23:28:10 -0700 (Sun, 29 Jul 2018)
Log Message
Cherry-pick r234329. rdar://problem/42721126
[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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Modified Paths
Diff
Modified: branches/safari-606-branch/LayoutTests/ChangeLog (234353 => 234354)
--- branches/safari-606-branch/LayoutTests/ChangeLog 2018-07-30 06:28:07 UTC (rev 234353)
+++ branches/safari-606-branch/LayoutTests/ChangeLog 2018-07-30 06:28:10 UTC (rev 234354)
@@ -1,5 +1,41 @@
2018-07-29 Babak Shafiei <[email protected]>
+ Cherry-pick r234329. rdar://problem/42721126
+
+ [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:
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2018-07-27 Zalan Bujtas <[email protected]>
+
+ [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.
+
+ * platform/mac-wk1/TestExpectations:
+
+2018-07-29 Babak Shafiei <[email protected]>
+
Cherry-pick r234125. rdar://problem/42721214
CrashTracer: com.apple.WebKit.Storage at WebCore: WebCore::encodeKey
Modified: branches/safari-606-branch/LayoutTests/platform/mac-wk1/TestExpectations (234353 => 234354)
--- branches/safari-606-branch/LayoutTests/platform/mac-wk1/TestExpectations 2018-07-30 06:28:07 UTC (rev 234353)
+++ branches/safari-606-branch/LayoutTests/platform/mac-wk1/TestExpectations 2018-07-30 06:28:10 UTC (rev 234354)
@@ -584,43 +584,6 @@
webkit.org/b/187557 [ Debug ] media/media-fragments/TC0090.html [ Pass Failure ]
webkit.org/b/187557 [ Debug ] media/media-fragments/TC0091.html [ Pass Failure ]
-# <rdar://problem/42584790>
-[ Mojave+ Debug ] fast/css/sticky/inflow-sticky.html [ Skip ]
-[ Mojave+ Debug ] fast/css/sticky/inline-sticky-abspos-child.html [ Skip ]
-[ Mojave+ Debug ] fast/css/sticky/inline-sticky.html [ Skip ]
-[ Mojave+ Debug ] fast/css/sticky/replaced-sticky.html [ Skip ]
-[ Mojave+ Debug ] fast/css/sticky/sticky-as-positioning-container.html [ Skip ]
-[ Mojave+ Debug ] fast/css/sticky/sticky-both-sides.html [ Skip ]
-[ Mojave+ Debug ] fast/css/sticky/sticky-left-percentage.html [ Skip ]
-[ Mojave+ Debug ] fast/css/sticky/sticky-left.html [ Skip ]
-[ Mojave+ Debug ] fast/css/sticky/sticky-margins.html [ Skip ]
-[ Mojave+ Debug ] fast/css/sticky/sticky-overflowing.html [ Skip ]
-[ Mojave+ Debug ] fast/css/sticky/sticky-side-margins.html [ Skip ]
-[ Mojave+ Debug ] fast/css/sticky/sticky-table-row-top.html [ Skip ]
-[ Mojave+ Debug ] fast/css/sticky/sticky-table-thead-top.html [ Skip ]
-[ Mojave+ Debug ] fast/css/sticky/sticky-top-margins.html [ Skip ]
-[ Mojave+ Debug ] fast/css/sticky/sticky-top.html [ Skip ]
-[ Mojave+ Debug ] fast/css/sticky/sticky-writing-mode-horizontal-bt.html [ Skip ]
-[ Mojave+ Debug ] fast/css/sticky/sticky-writing-mode-vertical-lr.html [ Skip ]
-[ Mojave+ Debug ] fast/css/sticky/sticky-writing-mode-vertical-rl.html [ Skip ]
-[ Mojave+ Debug ] fast/events/document-elementFromPoint.html [ Skip ]
-[ Mojave+ Debug ] fast/events/offsetX-offsetY.html [ Skip ]
-[ Mojave+ Debug ] fast/hidpi/hidpi-long-page-with-inset-element.html [ Skip ]
-[ Mojave+ Debug ] fast/repaint/absolute-position-changed.html [ Skip ]
-[ Mojave+ Debug ] fast/repaint/fixed-scale.html [ Skip ]
-[ Mojave+ Debug ] fast/repaint/fixed-table-cell.html [ Skip ]
-[ Mojave+ Debug ] fast/repaint/fixed-table-overflow-zindex.html [ Skip ]
-[ Mojave+ Debug ] fast/repaint/fixed-table-overflow.html [ Skip ]
-[ Mojave+ Debug ] fast/repaint/fixed.html [ Skip ]
-[ Mojave+ Debug ] fast/repaint/scroll-fixed-layer-with-reflection.html [ Skip ]
-[ Mojave+ Debug ] fast/scrolling/rtl-scrollbars-sticky-document-2.html [ Skip ]
-[ Mojave+ Debug ] fast/visual-viewport/client-coordinates-relative-to-layout-viewport.html [ Skip ]
-[ Mojave+ Debug ] fast/visual-viewport/zoomed-fixed-scroll-down-then-up.html [ Skip ]
-[ Mojave+ Debug ] fast/visual-viewport/zoomed-scroll-to-anchor-in-position-fixed.html [ Skip ]
-[ Mojave+ Debug ] fast/zooming/client-rect-in-fixed-zoomed.html [ Skip ]
-[ Mojave+ Debug ] transforms/2d/perspective-not-fixed-container.html [ Skip ]
-[ Mojave+ Debug ] transforms/2d/preserve3d-not-fixed-container.html [ Skip ]
-
# <rdar://problem/42625657>
[ Mojave+ ] fast/images/animated-gif-paint-after-animation.html [ Skip ]
[ Mojave+ ] fast/images/async-image-background-image-repeated.html [ Skip ]
Modified: branches/safari-606-branch/Source/WebCore/ChangeLog (234353 => 234354)
--- branches/safari-606-branch/Source/WebCore/ChangeLog 2018-07-30 06:28:07 UTC (rev 234353)
+++ branches/safari-606-branch/Source/WebCore/ChangeLog 2018-07-30 06:28:10 UTC (rev 234354)
@@ -1,5 +1,47 @@
2018-07-29 Babak Shafiei <[email protected]>
+ Cherry-pick r234329. rdar://problem/42721126
+
+ [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:
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2018-07-27 Zalan Bujtas <[email protected]>
+
+ [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.
+
+ 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):
+
+2018-07-29 Babak Shafiei <[email protected]>
+
Cherry-pick r234125. rdar://problem/42721214
CrashTracer: com.apple.WebKit.Storage at WebCore: WebCore::encodeKey
Modified: branches/safari-606-branch/Source/WebCore/rendering/RenderLayer.cpp (234353 => 234354)
--- branches/safari-606-branch/Source/WebCore/rendering/RenderLayer.cpp 2018-07-30 06:28:07 UTC (rev 234353)
+++ branches/safari-606-branch/Source/WebCore/rendering/RenderLayer.cpp 2018-07-30 06:28:10 UTC (rev 234354)
@@ -880,7 +880,9 @@
clearRepaintRects();
else // FIXME: We could track the repaint container as we walk down the tree.
computeRepaintRects(renderer().containerForRepaint(), geometryMap);
- } else {
+ } else if (!renderer().view().frameView().platformWidget()) {
+ // 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 (see webkit.org/b/188121).
// Check that our cached rects are correct.
ASSERT(!renderer().hasRepaintLayoutRects() || renderer().repaintLayoutRects().m_repaintRect == renderer().clippedOverflowRectForRepaint(renderer().containerForRepaint()));
ASSERT(!renderer().hasRepaintLayoutRects() || renderer().repaintLayoutRects().m_outlineBox == renderer().outlineBoundsForRepaint(renderer().containerForRepaint()));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes