Title: [258583] branches/safari-609-branch
- Revision
- 258583
- Author
- [email protected]
- Date
- 2020-03-17 13:39:21 -0700 (Tue, 17 Mar 2020)
Log Message
Cherry-pick r258455. rdar://problem/60539179
[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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258455 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Modified Paths
Added Paths
Diff
Modified: branches/safari-609-branch/LayoutTests/ChangeLog (258582 => 258583)
--- branches/safari-609-branch/LayoutTests/ChangeLog 2020-03-17 20:39:17 UTC (rev 258582)
+++ branches/safari-609-branch/LayoutTests/ChangeLog 2020-03-17 20:39:21 UTC (rev 258583)
@@ -1,3 +1,48 @@
+2020-03-17 Alan Coon <[email protected]>
+
+ Cherry-pick r258455. rdar://problem/60539179
+
+ [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.
+
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258455 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2020-03-13 Zalan Bujtas <[email protected]>
+
+ [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-12 Ryan Haddad <[email protected]>
Cherry-pick r254979. rdar://problem/58836694
Added: branches/safari-609-branch/LayoutTests/fast/table/before-child-is-inline-table-expected.txt (0 => 258583)
--- branches/safari-609-branch/LayoutTests/fast/table/before-child-is-inline-table-expected.txt (rev 0)
+++ branches/safari-609-branch/LayoutTests/fast/table/before-child-is-inline-table-expected.txt 2020-03-17 20:39:21 UTC (rev 258583)
@@ -0,0 +1 @@
+Pass if no crash or assert.
Added: branches/safari-609-branch/LayoutTests/fast/table/before-child-is-inline-table.html (0 => 258583)
--- branches/safari-609-branch/LayoutTests/fast/table/before-child-is-inline-table.html (rev 0)
+++ branches/safari-609-branch/LayoutTests/fast/table/before-child-is-inline-table.html 2020-03-17 20:39:21 UTC (rev 258583)
@@ -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: branches/safari-609-branch/Source/WebCore/ChangeLog (258582 => 258583)
--- branches/safari-609-branch/Source/WebCore/ChangeLog 2020-03-17 20:39:17 UTC (rev 258582)
+++ branches/safari-609-branch/Source/WebCore/ChangeLog 2020-03-17 20:39:21 UTC (rev 258583)
@@ -1,5 +1,61 @@
2020-03-17 Alan Coon <[email protected]>
+ Cherry-pick r258455. rdar://problem/60539179
+
+ [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.
+
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258455 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2020-03-13 Zalan Bujtas <[email protected]>
+
+ [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-17 Alan Coon <[email protected]>
+
Cherry-pick r258267. rdar://problem/60539190
Consolidate detachment of document timeline into Document::commonTeardown.
Modified: branches/safari-609-branch/Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp (258582 => 258583)
--- branches/safari-609-branch/Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp 2020-03-17 20:39:17 UTC (rev 258582)
+++ branches/safari-609-branch/Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp 2020-03-17 20:39:21 UTC (rev 258583)
@@ -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
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes