Title: [257998] trunk
Revision
257998
Author
[email protected]
Date
2020-03-06 08:39:06 -0800 (Fri, 06 Mar 2020)

Log Message

[LFC][TFC] Absolute positioned table should generate a static table box inside the out-of-flow table wrapper box
https://bugs.webkit.org/show_bug.cgi?id=208713
<rdar://problem/60151358>

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/layoutformattingcontext/absolute-positioned-simple-table.html

<table style="position: absolute"> should generate
1. absolute positioned table wrapper box
2. static (inflow) positioned table box inside the out-of-flow table wrapper box.

* layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::TreeBuilder::buildTableStructure):

LayoutTests:

* fast/layoutformattingcontext/absolute-positioned-simple-table-expected.html: Added.
* fast/layoutformattingcontext/absolute-positioned-simple-table.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (257997 => 257998)


--- trunk/LayoutTests/ChangeLog	2020-03-06 16:08:33 UTC (rev 257997)
+++ trunk/LayoutTests/ChangeLog	2020-03-06 16:39:06 UTC (rev 257998)
@@ -1,3 +1,14 @@
+2020-03-06  Zalan Bujtas  <[email protected]>
+
+        [LFC][TFC] Absolute positioned table should generate a static table box inside the out-of-flow table wrapper box
+        https://bugs.webkit.org/show_bug.cgi?id=208713
+        <rdar://problem/60151358>
+
+        Reviewed by Antti Koivisto.
+
+        * fast/layoutformattingcontext/absolute-positioned-simple-table-expected.html: Added.
+        * fast/layoutformattingcontext/absolute-positioned-simple-table.html: Added.
+
 2020-03-06  Antoine Quint  <[email protected]>
 
         Remove the experimental flag for Pointer Events

Added: trunk/LayoutTests/fast/layoutformattingcontext/absolute-positioned-simple-table-expected.html (0 => 257998)


--- trunk/LayoutTests/fast/layoutformattingcontext/absolute-positioned-simple-table-expected.html	                        (rev 0)
+++ trunk/LayoutTests/fast/layoutformattingcontext/absolute-positioned-simple-table-expected.html	2020-03-06 16:39:06 UTC (rev 257998)
@@ -0,0 +1,7 @@
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:LayoutFormattingContextEnabled=true internal:LayoutFormattingContextIntegrationEnabled=false ] -->
+<style>
+div {
+	margin: -5px;
+}
+</style>
+<div>table cell</div>
\ No newline at end of file

Added: trunk/LayoutTests/fast/layoutformattingcontext/absolute-positioned-simple-table.html (0 => 257998)


--- trunk/LayoutTests/fast/layoutformattingcontext/absolute-positioned-simple-table.html	                        (rev 0)
+++ trunk/LayoutTests/fast/layoutformattingcontext/absolute-positioned-simple-table.html	2020-03-06 16:39:06 UTC (rev 257998)
@@ -0,0 +1,11 @@
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:LayoutFormattingContextEnabled=true internal:LayoutFormattingContextIntegrationEnabled=false ] -->
+<style>
+table { 
+    position: absolute;
+    top: 0px;
+    bottom: 10px;
+    left: 0px;
+    right: 10px;
+}
+</style>
+<table><tr><td>table cell</td></tr></table>

Modified: trunk/Source/WebCore/ChangeLog (257997 => 257998)


--- trunk/Source/WebCore/ChangeLog	2020-03-06 16:08:33 UTC (rev 257997)
+++ trunk/Source/WebCore/ChangeLog	2020-03-06 16:39:06 UTC (rev 257998)
@@ -1,3 +1,20 @@
+2020-03-06  Zalan Bujtas  <[email protected]>
+
+        [LFC][TFC] Absolute positioned table should generate a static table box inside the out-of-flow table wrapper box
+        https://bugs.webkit.org/show_bug.cgi?id=208713
+        <rdar://problem/60151358>
+
+        Reviewed by Antti Koivisto.
+
+        Test: fast/layoutformattingcontext/absolute-positioned-simple-table.html
+
+        <table style="position: absolute"> should generate
+        1. absolute positioned table wrapper box
+        2. static (inflow) positioned table box inside the out-of-flow table wrapper box. 
+
+        * layout/layouttree/LayoutTreeBuilder.cpp:
+        (WebCore::Layout::TreeBuilder::buildTableStructure):
+
 2020-03-05  Darin Adler  <[email protected]>
 
         Improve some media code

Modified: trunk/Source/WebCore/layout/layouttree/LayoutTreeBuilder.cpp (257997 => 257998)


--- trunk/Source/WebCore/layout/layouttree/LayoutTreeBuilder.cpp	2020-03-06 16:08:33 UTC (rev 257997)
+++ trunk/Source/WebCore/layout/layouttree/LayoutTreeBuilder.cpp	2020-03-06 16:39:06 UTC (rev 257998)
@@ -291,7 +291,10 @@
         tableChild = tableChild->nextSibling();
     }
 
-    auto& tableBox = createContainer(Box::ElementAttributes { Box::ElementType::TableBox }, RenderStyle::clone(tableRenderer.style()));
+    auto tableBoxStyle = RenderStyle::clone(tableRenderer.style());
+    tableBoxStyle.setPosition(PositionType::Static);
+    tableBoxStyle.setFloating(Float::No);
+    auto& tableBox = createContainer(Box::ElementAttributes { Box::ElementType::TableBox }, WTFMove(tableBoxStyle));
     appendChild(tableWrapperBox, tableBox);
     auto* sectionRenderer = tableChild;
     while (sectionRenderer) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to