Title: [283835] trunk
Revision
283835
Author
[email protected]
Date
2021-10-08 13:56:46 -0700 (Fri, 08 Oct 2021)

Log Message

ASSERTION FAILED: m_collapsibleLogicalWidth <= m_logicalWidth in WebCore::Layout::InlineContentBreaker::ContinuousContent::append
https://bugs.webkit.org/show_bug.cgi?id=231274

Reviewed by Antti Koivisto.

Source/WebCore:

Remove incorrect assertions. They stopped working when negative horizontal margin was enabled for IFC.

Test: fast/inline/negative-margin-with-collapsible-content-assert.html

* layout/formattingContexts/inline/InlineContentBreaker.cpp:
(WebCore::Layout::InlineContentBreaker::ContinuousContent::append):

LayoutTests:

* fast/inline/negative-margin-with-collapsible-content-assert-expected.txt: Added.
* fast/inline/negative-margin-with-collapsible-content-assert.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (283834 => 283835)


--- trunk/LayoutTests/ChangeLog	2021-10-08 20:01:18 UTC (rev 283834)
+++ trunk/LayoutTests/ChangeLog	2021-10-08 20:56:46 UTC (rev 283835)
@@ -1,3 +1,13 @@
+2021-10-08  Alan Bujtas  <[email protected]>
+
+        ASSERTION FAILED: m_collapsibleLogicalWidth <= m_logicalWidth in WebCore::Layout::InlineContentBreaker::ContinuousContent::append
+        https://bugs.webkit.org/show_bug.cgi?id=231274
+
+        Reviewed by Antti Koivisto.
+
+        * fast/inline/negative-margin-with-collapsible-content-assert-expected.txt: Added.
+        * fast/inline/negative-margin-with-collapsible-content-assert.html: Added.
+
 2021-10-08  Eric Hutchison  <[email protected]>
 
         [ iOS15 ] imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow.html is a flaky crash.

Added: trunk/LayoutTests/fast/inline/negative-margin-with-collapsible-content-assert-expected.txt (0 => 283835)


--- trunk/LayoutTests/fast/inline/negative-margin-with-collapsible-content-assert-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/inline/negative-margin-with-collapsible-content-assert-expected.txt	2021-10-08 20:56:46 UTC (rev 283835)
@@ -0,0 +1 @@
+Pass if no crash or assert.

Added: trunk/LayoutTests/fast/inline/negative-margin-with-collapsible-content-assert.html (0 => 283835)


--- trunk/LayoutTests/fast/inline/negative-margin-with-collapsible-content-assert.html	                        (rev 0)
+++ trunk/LayoutTests/fast/inline/negative-margin-with-collapsible-content-assert.html	2021-10-08 20:56:46 UTC (rev 283835)
@@ -0,0 +1,10 @@
+<style>
+span {
+    margin-left: -50px;
+}
+</style>
+<div><span> </span>Pass if no crash or assert.</div>
+<script>
+if (window.testRunner)
+  testRunner.dumpAsText();
+</script>

Modified: trunk/Source/WebCore/ChangeLog (283834 => 283835)


--- trunk/Source/WebCore/ChangeLog	2021-10-08 20:01:18 UTC (rev 283834)
+++ trunk/Source/WebCore/ChangeLog	2021-10-08 20:56:46 UTC (rev 283835)
@@ -1,3 +1,17 @@
+2021-10-08  Alan Bujtas  <[email protected]>
+
+        ASSERTION FAILED: m_collapsibleLogicalWidth <= m_logicalWidth in WebCore::Layout::InlineContentBreaker::ContinuousContent::append
+        https://bugs.webkit.org/show_bug.cgi?id=231274
+
+        Reviewed by Antti Koivisto.
+
+        Remove incorrect assertions. They stopped working when negative horizontal margin was enabled for IFC.
+
+        Test: fast/inline/negative-margin-with-collapsible-content-assert.html
+
+        * layout/formattingContexts/inline/InlineContentBreaker.cpp:
+        (WebCore::Layout::InlineContentBreaker::ContinuousContent::append):
+
 2021-10-08  Chris Dumez  <[email protected]>
 
         Merge optimizations to AudioParamTimeline::hasValues() from Blink

Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineContentBreaker.cpp (283834 => 283835)


--- trunk/Source/WebCore/layout/formattingContexts/inline/InlineContentBreaker.cpp	2021-10-08 20:01:18 UTC (rev 283834)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineContentBreaker.cpp	2021-10-08 20:56:46 UTC (rev 283835)
@@ -582,15 +582,14 @@
         m_collapsibleLogicalWidth = { };
         return;
     }
+    ASSERT(*collapsibleWidth <= logicalWidth);
     if (*collapsibleWidth == logicalWidth) {
         // Fully collapsible run.
         m_collapsibleLogicalWidth += logicalWidth;
-        ASSERT(m_collapsibleLogicalWidth <= m_logicalWidth);
         return;
     }
     // Partially collapsible run.
     m_collapsibleLogicalWidth = *collapsibleWidth;
-    ASSERT(m_collapsibleLogicalWidth <= m_logicalWidth);
 }
 
 void InlineContentBreaker::ContinuousContent::reset()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to