void RenderRubyBase::moveChildren(RenderRubyBase* toBase, RenderObject* beforeChild) { // This function removes all children that are before (!) beforeChild // and appends them to toBase. ASSERT_ARG(toBase, toBase); if (beforeChild && beforeChild->parent() != this) beforeChild = splitAnonymousBoxesAroundChild(beforeChild); if (childrenInline()) moveInlineChildren(toBase, beforeChild); else moveBlockChildren(toBase, beforeChild); setNeedsLayoutAndPrefWidthsRecalc(); toBase->setNeedsLayoutAndPrefWidthsRecalc(); }
void LayoutRubyBase::moveChildren(LayoutRubyBase* toBase, LayoutObject* beforeChild) { // This function removes all children that are before (!) beforeChild // and appends them to toBase. ASSERT_ARG(toBase, toBase); if (beforeChild && beforeChild->parent() != this) beforeChild = splitAnonymousBoxesAroundChild(beforeChild); if (childrenInline()) moveInlineChildren(toBase, beforeChild); else moveBlockChildren(toBase, beforeChild); setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation(LayoutInvalidationReason::Unknown); toBase->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation(LayoutInvalidationReason::Unknown); }
void RenderRubyBase::moveChildren(RenderRubyBase* toBase, RenderObject* fromBeforeChild) { // This function removes all children that are before (!) beforeChild // and appends them to toBase. ASSERT(toBase); // First make sure that beforeChild (if set) is indeed a direct child of this. // Inline children might be wrapped in an anonymous block if there's a continuation. // Theoretically, in ruby bases, this can happen with only the first such a child, // so it should be OK to just climb the tree. while (fromBeforeChild && fromBeforeChild->parent() != this) fromBeforeChild = fromBeforeChild->parent(); if (childrenInline()) moveInlineChildren(toBase, fromBeforeChild); else moveBlockChildren(toBase, fromBeforeChild); setNeedsLayoutAndPrefWidthsRecalc(); toBase->setNeedsLayoutAndPrefWidthsRecalc(); }