Title: [204880] trunk
Revision
204880
Author
[email protected]
Date
2016-08-23 19:23:19 -0700 (Tue, 23 Aug 2016)

Log Message

ASSERTION FAILED: !view().layoutStateEnabled() || style().styleType() == FIRST_LETTER in WebCore::RenderInline::clippedOverflowRectForRepaint
https://bugs.webkit.org/show_bug.cgi?id=155363
<rdar://problem/27720434>

Reviewed by David Hyatt.

Source/WebCore:

Loosen ASSERT to include calls when the inline has a self painting layer. It's valid to end up here during layout when
the layer's composite state changes.

Test: fast/layers/assert-on-self-painting-inline-with-scrolling.html

* rendering/RenderInline.cpp:
(WebCore::RenderInline::clippedOverflowRectForRepaint):

LayoutTests:

* fast/layers/assert-on-self-painting-inline-with-scrolling-expected.txt: Added.
* fast/layers/assert-on-self-painting-inline-with-scrolling.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (204879 => 204880)


--- trunk/LayoutTests/ChangeLog	2016-08-24 02:19:50 UTC (rev 204879)
+++ trunk/LayoutTests/ChangeLog	2016-08-24 02:23:19 UTC (rev 204880)
@@ -1,3 +1,14 @@
+2016-08-23  Zalan Bujtas  <[email protected]>
+
+        ASSERTION FAILED: !view().layoutStateEnabled() || style().styleType() == FIRST_LETTER in WebCore::RenderInline::clippedOverflowRectForRepaint
+        https://bugs.webkit.org/show_bug.cgi?id=155363
+        <rdar://problem/27720434>
+
+        Reviewed by David Hyatt.
+
+        * fast/layers/assert-on-self-painting-inline-with-scrolling-expected.txt: Added.
+        * fast/layers/assert-on-self-painting-inline-with-scrolling.html: Added.
+
 2016-08-23  Chris Dumez  <[email protected]>
 
         Add support for CanvasRenderingContext2D.resetTransform()

Added: trunk/LayoutTests/fast/layers/assert-on-self-painting-inline-with-scrolling-expected.txt (0 => 204880)


--- trunk/LayoutTests/fast/layers/assert-on-self-painting-inline-with-scrolling-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/layers/assert-on-self-painting-inline-with-scrolling-expected.txt	2016-08-24 02:23:19 UTC (rev 204880)
@@ -0,0 +1 @@
+PASS if no assert in debug.

Added: trunk/LayoutTests/fast/layers/assert-on-self-painting-inline-with-scrolling.html (0 => 204880)


--- trunk/LayoutTests/fast/layers/assert-on-self-painting-inline-with-scrolling.html	                        (rev 0)
+++ trunk/LayoutTests/fast/layers/assert-on-self-painting-inline-with-scrolling.html	2016-08-24 02:23:19 UTC (rev 204880)
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>This tests that inline does not assert when its composite state changes.</title>
+<script>
+if (window.testRunner)
+    testRunner.dumpAsText();
+</script>
+
+<style>
+ html, body {
+    overflow-x: scroll;
+    will-change: transform;
+}
+
+span {
+    mix-blend-mode: exclusion;
+}
+</style>
+</head>
+<body>
+PASS if no assert in debug.
+<span class="class_0"></span>
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (204879 => 204880)


--- trunk/Source/WebCore/ChangeLog	2016-08-24 02:19:50 UTC (rev 204879)
+++ trunk/Source/WebCore/ChangeLog	2016-08-24 02:23:19 UTC (rev 204880)
@@ -1,3 +1,19 @@
+2016-08-23  Zalan Bujtas  <[email protected]>
+
+        ASSERTION FAILED: !view().layoutStateEnabled() || style().styleType() == FIRST_LETTER in WebCore::RenderInline::clippedOverflowRectForRepaint
+        https://bugs.webkit.org/show_bug.cgi?id=155363
+        <rdar://problem/27720434>
+
+        Reviewed by David Hyatt.
+
+        Loosen ASSERT to include calls when the inline has a self painting layer. It's valid to end up here during layout when
+        the layer's composite state changes.
+
+        Test: fast/layers/assert-on-self-painting-inline-with-scrolling.html
+
+        * rendering/RenderInline.cpp:
+        (WebCore::RenderInline::clippedOverflowRectForRepaint):
+
 2016-08-23  Anders Carlsson  <[email protected]>
 
         Create a phony WebKitLegacy framework that the WebCoreTestSupport dylib can find

Modified: trunk/Source/WebCore/rendering/RenderInline.cpp (204879 => 204880)


--- trunk/Source/WebCore/rendering/RenderInline.cpp	2016-08-24 02:19:50 UTC (rev 204879)
+++ trunk/Source/WebCore/rendering/RenderInline.cpp	2016-08-24 02:23:19 UTC (rev 204880)
@@ -1206,7 +1206,7 @@
 LayoutRect RenderInline::clippedOverflowRectForRepaint(const RenderLayerModelObject* repaintContainer) const
 {
     // Only first-letter renderers are allowed in here during layout. They mutate the tree triggering repaints.
-    ASSERT(!view().layoutStateEnabled() || style().styleType() == FIRST_LETTER);
+    ASSERT(!view().layoutStateEnabled() || style().styleType() == FIRST_LETTER || hasSelfPaintingLayer());
 
     if (!firstLineBoxIncludingCulling() && !continuation())
         return LayoutRect();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to