Index: third_party/WebKit/Source/core/layout/LayoutBlock.cpp |
diff --git a/third_party/WebKit/Source/core/layout/LayoutBlock.cpp b/third_party/WebKit/Source/core/layout/LayoutBlock.cpp |
index 02862b5680802995c8ede1a25394cd3c54b7488b..cfb941d73364834f4cd148b52b28bc13bb53916f 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutBlock.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutBlock.cpp |
@@ -655,6 +655,11 @@ void LayoutBlock::collapseAnonymousBlockChild(LayoutBlock* parent, LayoutBlock* |
// destroyed. See crbug.com/282088 |
if (child->beingDestroyed()) |
return; |
+ if (child->continuation()) |
+ return; |
+ // Ruby elements use anonymous wrappers for ruby runs and ruby bases by design, so we don't remove them. |
+ if (child->isRubyRun() || child->isRubyBase()) |
+ return; |
parent->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation(LayoutInvalidationReason::ChildAnonymousBlockChanged); |
child->moveAllChildrenTo(parent, child->nextSibling(), child->hasLayer()); |