Title: [280175] trunk
Revision
280175
Author
[email protected]
Date
2021-07-22 09:37:56 -0700 (Thu, 22 Jul 2021)

Log Message

REGRESSION(r269745) Google Developers maps does not fully load
https://bugs.webkit.org/show_bug.cgi?id=228182
<rdar://79787819>

Reviewed by Antti Koivisto.

Source/WebCore:

IFC integration does not support cases when the inline level element stretches as the containing block size changes.
This should include both percent and calc width/height values.

Test: fast/inline/incorrect-sizing-with-calc.html

* layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForChild):

LayoutTests:

* fast/inline/incorrect-sizing-with-calc-expected.html: Added.
* fast/inline/incorrect-sizing-with-calc.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (280174 => 280175)


--- trunk/LayoutTests/ChangeLog	2021-07-22 16:27:33 UTC (rev 280174)
+++ trunk/LayoutTests/ChangeLog	2021-07-22 16:37:56 UTC (rev 280175)
@@ -1,3 +1,14 @@
+2021-07-22  Alan Bujtas  <[email protected]>
+
+        REGRESSION(r269745) Google Developers maps does not fully load
+        https://bugs.webkit.org/show_bug.cgi?id=228182
+        <rdar://79787819>
+
+        Reviewed by Antti Koivisto.
+
+        * fast/inline/incorrect-sizing-with-calc-expected.html: Added.
+        * fast/inline/incorrect-sizing-with-calc.html: Added.
+
 2021-07-21  Sihui Liu  <[email protected]>
 
         Update LayoutTests/TestExpectations for imported w3c IndexedDB tests

Added: trunk/LayoutTests/fast/inline/incorrect-sizing-with-calc-expected.html (0 => 280175)


--- trunk/LayoutTests/fast/inline/incorrect-sizing-with-calc-expected.html	                        (rev 0)
+++ trunk/LayoutTests/fast/inline/incorrect-sizing-with-calc-expected.html	2021-07-22 16:37:56 UTC (rev 280175)
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<style>
+div {
+  width: 50px;
+  height: 100px;
+  background-color: green;
+  border: 10px solid blue;
+  box-sizing: border-box;
+}
+</style>
+<div></div><div></div><div></div>
\ No newline at end of file

Added: trunk/LayoutTests/fast/inline/incorrect-sizing-with-calc.html (0 => 280175)


--- trunk/LayoutTests/fast/inline/incorrect-sizing-with-calc.html	                        (rev 0)
+++ trunk/LayoutTests/fast/inline/incorrect-sizing-with-calc.html	2021-07-22 16:37:56 UTC (rev 280175)
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<style>
+div {
+  width: 50px;
+  height: 50px;
+  background-color: green;
+}
+
+iframe {
+  border: 10px solid blue;
+}
+
+.normal {
+  height: calc(100% - 20px);
+  width: calc(100% - 20px);
+}
+
+.min {
+  min-height: calc(100% - 20px);
+  min-width: calc(100% - 20px);
+  width: 30px;
+  height: 30px;
+}
+
+.max {
+  max-height: calc(100% - 20px);
+  max-width: calc(100% - 20px);
+}
+</style>
+<!-- iframes should grow with their containers -->
+<div><iframe class=normal src=""
+<div><iframe class=min src=""
+<div><iframe class=max src=""
+<script>
+document.body.offsetHeight;
+let containers = document.getElementsByTagName("div");
+for (let container of containers)
+  container.style.height = "100px";
+</script>

Modified: trunk/Source/WebCore/ChangeLog (280174 => 280175)


--- trunk/Source/WebCore/ChangeLog	2021-07-22 16:27:33 UTC (rev 280174)
+++ trunk/Source/WebCore/ChangeLog	2021-07-22 16:37:56 UTC (rev 280175)
@@ -1,3 +1,19 @@
+2021-07-22  Alan Bujtas  <[email protected]>
+
+        REGRESSION(r269745) Google Developers maps does not fully load
+        https://bugs.webkit.org/show_bug.cgi?id=228182
+        <rdar://79787819>
+
+        Reviewed by Antti Koivisto.
+
+        IFC integration does not support cases when the inline level element stretches as the containing block size changes.
+        This should include both percent and calc width/height values.
+
+        Test: fast/inline/incorrect-sizing-with-calc.html
+
+        * layout/integration/LayoutIntegrationCoverage.cpp:
+        (WebCore::LayoutIntegration::canUseForChild):
+
 2021-07-22  Frédéric Wang  <[email protected]>
 
         nullptr crash in ApplyStyleCommand::applyRelativeFontStyleChange

Modified: trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp (280174 => 280175)


--- trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp	2021-07-22 16:27:33 UTC (rev 280174)
+++ trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp	2021-07-22 16:37:56 UTC (rev 280175)
@@ -629,11 +629,11 @@
     auto isSupportedStyle = [] (const auto& style) {
         if (style.verticalAlign() == VerticalAlign::Sub || style.verticalAlign() == VerticalAlign::Super)
             return false;
-        if (style.width().isPercent() || style.height().isPercent())
+        if (style.width().isPercentOrCalculated() || style.height().isPercentOrCalculated())
             return false;
-        if (style.minWidth().isPercent() || style.maxWidth().isPercent())
+        if (style.minWidth().isPercentOrCalculated() || style.maxWidth().isPercentOrCalculated())
             return false;
-        if (style.minHeight().isPercent() || style.maxHeight().isPercent())
+        if (style.minHeight().isPercentOrCalculated() || style.maxHeight().isPercentOrCalculated())
             return false;
         if (style.boxShadow())
             return false;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to