Title: [258455] trunk
- Revision
- 258455
- Author
- za...@apple.com
- Date
- 2020-03-13 18:43:38 -0700 (Fri, 13 Mar 2020)
Log Message
[Tree building] Block::attachIgnoringContinuation should allow inline tables as before child container
https://bugs.webkit.org/show_bug.cgi?id=209095
<rdar://problem/59837588>
Reviewed by Simon Fraser.
Source/WebCore:
It's perfectly valid to have an inline table as the anonymous container for the before child.
It'll get wrapped inside an anonymous block right before we insert the block box candidate, so
the final result will be something like:
new block level child (this is the child we are inserting)
anonymous block wrapper
inline table (this is the before child's inline container)
before child
Test: fast/table/before-child-is-inline-table.html
* rendering/updating/RenderTreeBuilderBlock.cpp:
(WebCore::RenderTreeBuilder::Block::attachIgnoringContinuation):
LayoutTests:
* fast/table/before-child-is-inline-table-expected.txt: Added.
* fast/table/before-child-is-inline-table.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (258454 => 258455)
--- trunk/LayoutTests/ChangeLog 2020-03-14 01:27:59 UTC (rev 258454)
+++ trunk/LayoutTests/ChangeLog 2020-03-14 01:43:38 UTC (rev 258455)
@@ -1,3 +1,14 @@
+2020-03-13 Zalan Bujtas <za...@apple.com>
+
+ [Tree building] Block::attachIgnoringContinuation should allow inline tables as before child container
+ https://bugs.webkit.org/show_bug.cgi?id=209095
+ <rdar://problem/59837588>
+
+ Reviewed by Simon Fraser.
+
+ * fast/table/before-child-is-inline-table-expected.txt: Added.
+ * fast/table/before-child-is-inline-table.html: Added.
+
2020-03-13 Jason Lawrence <lawrenc...@apple.com>
Unreviewed, reverting r258446.
Added: trunk/LayoutTests/fast/table/before-child-is-inline-table-expected.txt (0 => 258455)
--- trunk/LayoutTests/fast/table/before-child-is-inline-table-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/table/before-child-is-inline-table-expected.txt 2020-03-14 01:43:38 UTC (rev 258455)
@@ -0,0 +1 @@
+Pass if no crash or assert.
Added: trunk/LayoutTests/fast/table/before-child-is-inline-table.html (0 => 258455)
--- trunk/LayoutTests/fast/table/before-child-is-inline-table.html (rev 0)
+++ trunk/LayoutTests/fast/table/before-child-is-inline-table.html 2020-03-14 01:43:38 UTC (rev 258455)
@@ -0,0 +1,18 @@
+<style>
+.table-caption {
+ display: table-cell;
+}
+embed {
+ padding-top: 1vw;
+ display: block;
+}
+summary {
+ display: inline;
+}
+</style>
+<details><summary><embed type><div class=table-caption></div></summary></details>
+Pass if no crash or assert.
+<script>
+if (window.testRunner)
+ testRunner.dumpAsText();
+</script>
Modified: trunk/Source/WebCore/ChangeLog (258454 => 258455)
--- trunk/Source/WebCore/ChangeLog 2020-03-14 01:27:59 UTC (rev 258454)
+++ trunk/Source/WebCore/ChangeLog 2020-03-14 01:43:38 UTC (rev 258455)
@@ -1,3 +1,25 @@
+2020-03-13 Zalan Bujtas <za...@apple.com>
+
+ [Tree building] Block::attachIgnoringContinuation should allow inline tables as before child container
+ https://bugs.webkit.org/show_bug.cgi?id=209095
+ <rdar://problem/59837588>
+
+ Reviewed by Simon Fraser.
+
+ It's perfectly valid to have an inline table as the anonymous container for the before child.
+ It'll get wrapped inside an anonymous block right before we insert the block box candidate, so
+ the final result will be something like:
+
+ new block level child (this is the child we are inserting)
+ anonymous block wrapper
+ inline table (this is the before child's inline container)
+ before child
+
+ Test: fast/table/before-child-is-inline-table.html
+
+ * rendering/updating/RenderTreeBuilderBlock.cpp:
+ (WebCore::RenderTreeBuilder::Block::attachIgnoringContinuation):
+
2020-03-13 Said Abou-Hallawa <sabouhall...@apple.com>
[GPU Process] GraphicsContextStateChange::apply() should process ShadowsIgnoreTransformsChange before processing ShadowChange
Modified: trunk/Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp (258454 => 258455)
--- trunk/Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp 2020-03-14 01:27:59 UTC (rev 258454)
+++ trunk/Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp 2020-03-14 01:43:38 UTC (rev 258455)
@@ -173,7 +173,7 @@
m_builder.attach(parent, WTFMove(child), beforeChildContainer);
return;
}
- RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(!beforeChildContainer->isInline());
+ RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(!beforeChildContainer->isInline() || beforeChildContainer->isTable());
// If the requested beforeChild is not one of our children, then this is because
// there is an anonymous container within this object that contains the beforeChild.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes