Title: [207082] releases/WebKitGTK/webkit-2.14
- Revision
- 207082
- Author
- carlo...@webkit.org
- Date
- 2016-10-11 03:42:59 -0700 (Tue, 11 Oct 2016)
Log Message
Merge r206100 - ASSERTION FAILED: clipRectsContext.rootLayer == m_clipRectsCache->m_clipRectsRoot[clipRectsType] while loading guardian.co.uk
https://bugs.webkit.org/show_bug.cgi?id=162129
<rdar://problem/28353350>
Reviewed by Antti Koivisto.
Source/WebCore:
Neither ::localClipRect() nor ::selfClipRect() accounts for paginated context while computing the cliprects (See FIXMEs).
This patch ensures that we don't end up caching these invalid cliprects.
Test: fast/multicol/assert-on-cliprect-caching-when-paginated.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
LayoutTests:
* fast/multicol/assert-on-cliprect-caching-when-paginated-expected.txt: Added.
* fast/multicol/assert-on-cliprect-caching-when-paginated.html: Added.
Modified Paths
Added Paths
Diff
Modified: releases/WebKitGTK/webkit-2.14/LayoutTests/ChangeLog (207081 => 207082)
--- releases/WebKitGTK/webkit-2.14/LayoutTests/ChangeLog 2016-10-11 10:40:16 UTC (rev 207081)
+++ releases/WebKitGTK/webkit-2.14/LayoutTests/ChangeLog 2016-10-11 10:42:59 UTC (rev 207082)
@@ -1,3 +1,14 @@
+2016-09-19 Zalan Bujtas <za...@apple.com>
+
+ ASSERTION FAILED: clipRectsContext.rootLayer == m_clipRectsCache->m_clipRectsRoot[clipRectsType] while loading guardian.co.uk
+ https://bugs.webkit.org/show_bug.cgi?id=162129
+ <rdar://problem/28353350>
+
+ Reviewed by Antti Koivisto.
+
+ * fast/multicol/assert-on-cliprect-caching-when-paginated-expected.txt: Added.
+ * fast/multicol/assert-on-cliprect-caching-when-paginated.html: Added.
+
2016-09-16 Chris Dumez <cdu...@apple.com>
Cancelling one frame's load cancels load in other frames that have the same URL as well
Added: releases/WebKitGTK/webkit-2.14/LayoutTests/fast/multicol/assert-on-cliprect-caching-when-paginated-expected.txt (0 => 207082)
--- releases/WebKitGTK/webkit-2.14/LayoutTests/fast/multicol/assert-on-cliprect-caching-when-paginated-expected.txt (rev 0)
+++ releases/WebKitGTK/webkit-2.14/LayoutTests/fast/multicol/assert-on-cliprect-caching-when-paginated-expected.txt 2016-10-11 10:42:59 UTC (rev 207082)
@@ -0,0 +1 @@
+Pass if no assert in debug.
Added: releases/WebKitGTK/webkit-2.14/LayoutTests/fast/multicol/assert-on-cliprect-caching-when-paginated.html (0 => 207082)
--- releases/WebKitGTK/webkit-2.14/LayoutTests/fast/multicol/assert-on-cliprect-caching-when-paginated.html (rev 0)
+++ releases/WebKitGTK/webkit-2.14/LayoutTests/fast/multicol/assert-on-cliprect-caching-when-paginated.html 2016-10-11 10:42:59 UTC (rev 207082)
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>This tests that cliprect caching works with paginated content and composited ancestor.</title>
+<script>
+if (window.testRunner)
+ testRunner.dumpAsText();
+</script>
+</head>
+<body>
+<div style="transform: translateZ(0);">
+ <div style="column-count: 2;">
+ <div style="opacity: 0.9;">Pass if no assert in debug.</div>
+ </div>
+</div>
+</body>
+</html>
Modified: releases/WebKitGTK/webkit-2.14/Source/WebCore/ChangeLog (207081 => 207082)
--- releases/WebKitGTK/webkit-2.14/Source/WebCore/ChangeLog 2016-10-11 10:40:16 UTC (rev 207081)
+++ releases/WebKitGTK/webkit-2.14/Source/WebCore/ChangeLog 2016-10-11 10:42:59 UTC (rev 207082)
@@ -1,3 +1,19 @@
+2016-09-19 Zalan Bujtas <za...@apple.com>
+
+ ASSERTION FAILED: clipRectsContext.rootLayer == m_clipRectsCache->m_clipRectsRoot[clipRectsType] while loading guardian.co.uk
+ https://bugs.webkit.org/show_bug.cgi?id=162129
+ <rdar://problem/28353350>
+
+ Reviewed by Antti Koivisto.
+
+ Neither ::localClipRect() nor ::selfClipRect() accounts for paginated context while computing the cliprects (See FIXMEs).
+ This patch ensures that we don't end up caching these invalid cliprects.
+
+ Test: fast/multicol/assert-on-cliprect-caching-when-paginated.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::calculateClipRects):
+
2016-09-17 David Kilzer <ddkil...@apple.com>
MainThreadBridge needs an isolatedCopy() of SecurityOrigin
Modified: releases/WebKitGTK/webkit-2.14/Source/WebCore/rendering/RenderLayer.cpp (207081 => 207082)
--- releases/WebKitGTK/webkit-2.14/Source/WebCore/rendering/RenderLayer.cpp 2016-10-11 10:40:16 UTC (rev 207081)
+++ releases/WebKitGTK/webkit-2.14/Source/WebCore/rendering/RenderLayer.cpp 2016-10-11 10:42:59 UTC (rev 207082)
@@ -5726,7 +5726,8 @@
LayoutRect layerBounds;
ClipRect backgroundRect;
ClipRect foregroundRect;
- ClipRectsContext clipRectsContext(clippingRootLayer, PaintingClipRects);
+ auto clipRectType = !m_enclosingPaginationLayer || m_enclosingPaginationLayer == clippingRootLayer ? PaintingClipRects : TemporaryClipRects;
+ ClipRectsContext clipRectsContext(clippingRootLayer, clipRectType);
calculateRects(clipRectsContext, renderer().view().documentRect(), layerBounds, backgroundRect, foregroundRect, offsetFromAncestor(clippingRootLayer));
return clippingRootLayer->renderer().localToAbsoluteQuad(FloatQuad(backgroundRect.rect())).enclosingBoundingBox();
}
@@ -5742,7 +5743,8 @@
LayoutRect layerBounds;
ClipRect backgroundRect;
ClipRect foregroundRect;
- ClipRectsContext clipRectsContext(clippingRootLayer, PaintingClipRects);
+ auto clipRectType = !m_enclosingPaginationLayer || m_enclosingPaginationLayer == clippingRootLayer ? PaintingClipRects : TemporaryClipRects;
+ ClipRectsContext clipRectsContext(clippingRootLayer, clipRectType);
calculateRects(clipRectsContext, LayoutRect::infiniteRect(), layerBounds, backgroundRect, foregroundRect, offsetFromRoot);
LayoutRect clipRect = backgroundRect.rect();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes