Changeset 176478 in webkit
- Timestamp:
- Nov 21, 2014, 3:39:16 PM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 27 edited
-
ChangeLog (modified) (1 diff)
-
rendering/RenderBlock.cpp (modified) (5 diffs)
-
rendering/RenderBlock.h (modified) (1 diff)
-
rendering/RenderBlockFlow.cpp (modified) (2 diffs)
-
rendering/RenderBlockFlow.h (modified) (1 diff)
-
rendering/RenderButton.cpp (modified) (2 diffs)
-
rendering/RenderButton.h (modified) (1 diff)
-
rendering/RenderElement.cpp (modified) (3 diffs)
-
rendering/RenderElement.h (modified) (2 diffs)
-
rendering/RenderMenuList.cpp (modified) (1 diff)
-
rendering/RenderMenuList.h (modified) (1 diff)
-
rendering/RenderRuby.cpp (modified) (6 diffs)
-
rendering/RenderRuby.h (modified) (2 diffs)
-
rendering/RenderRubyRun.cpp (modified) (4 diffs)
-
rendering/RenderRubyRun.h (modified) (1 diff)
-
rendering/mathml/RenderMathMLRoot.cpp (modified) (1 diff)
-
rendering/mathml/RenderMathMLRoot.h (modified) (1 diff)
-
rendering/mathml/RenderMathMLScripts.cpp (modified) (6 diffs)
-
rendering/mathml/RenderMathMLScripts.h (modified) (4 diffs)
-
rendering/svg/RenderSVGContainer.cpp (modified) (1 diff)
-
rendering/svg/RenderSVGContainer.h (modified) (1 diff)
-
rendering/svg/RenderSVGInline.cpp (modified) (1 diff)
-
rendering/svg/RenderSVGInline.h (modified) (1 diff)
-
rendering/svg/RenderSVGRoot.cpp (modified) (1 diff)
-
rendering/svg/RenderSVGRoot.h (modified) (1 diff)
-
rendering/svg/RenderSVGText.cpp (modified) (2 diffs)
-
rendering/svg/RenderSVGText.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r176477 r176478 1 2014-11-21 Andreas Kling <akling@apple.com> 2 3 RenderElement::removeChild() doesn't need a return value. 4 <https://webkit.org/b/138985> 5 6 Reviewed by Pantti Koivisto. 7 8 Nobody uses the return value from RenderElement::removeChild(). 9 Change it to return void and remove all the unnecessary plumbing. 10 11 * rendering/RenderBlock.cpp: 12 (WebCore::RenderBlock::removeChild): 13 * rendering/RenderBlock.h: 14 * rendering/RenderBlockFlow.cpp: 15 (WebCore::RenderBlockFlow::removeChild): 16 * rendering/RenderBlockFlow.h: 17 * rendering/RenderButton.cpp: 18 (WebCore::RenderButton::removeChild): 19 * rendering/RenderButton.h: 20 * rendering/RenderElement.cpp: 21 (WebCore::RenderElement::removeChild): 22 (WebCore::RenderElement::removeChildInternal): 23 * rendering/RenderElement.h: 24 * rendering/RenderMenuList.cpp: 25 (RenderMenuList::removeChild): 26 * rendering/RenderMenuList.h: 27 * rendering/RenderRuby.cpp: 28 (WebCore::RenderRubyAsInline::removeChild): 29 (WebCore::RenderRubyAsBlock::removeChild): 30 * rendering/RenderRuby.h: 31 * rendering/RenderRubyRun.cpp: 32 (WebCore::RenderRubyRun::removeChild): 33 * rendering/RenderRubyRun.h: 34 * rendering/mathml/RenderMathMLRoot.cpp: 35 (WebCore::RenderMathMLRootWrapper::removeChildWithoutRestructuring): 36 (WebCore::RenderMathMLRootWrapper::removeChild): 37 * rendering/mathml/RenderMathMLRoot.h: 38 * rendering/mathml/RenderMathMLScripts.cpp: 39 (WebCore::RenderMathMLScripts::removeChildInternal): 40 (WebCore::RenderMathMLScripts::removeChild): 41 (WebCore::RenderMathMLScriptsWrapper::removeChildInternal): 42 (WebCore::RenderMathMLScriptsWrapper::removeChild): 43 * rendering/mathml/RenderMathMLScripts.h: 44 * rendering/svg/RenderSVGContainer.cpp: 45 (WebCore::RenderSVGContainer::removeChild): 46 * rendering/svg/RenderSVGContainer.h: 47 * rendering/svg/RenderSVGInline.cpp: 48 (WebCore::RenderSVGInline::removeChild): 49 * rendering/svg/RenderSVGInline.h: 50 * rendering/svg/RenderSVGRoot.cpp: 51 (WebCore::RenderSVGRoot::removeChild): 52 * rendering/svg/RenderSVGRoot.h: 53 * rendering/svg/RenderSVGText.cpp: 54 (WebCore::RenderSVGText::removeChild): 55 * rendering/svg/RenderSVGText.h: 56 1 57 2014-11-21 Tim Horton <timothy_horton@apple.com> 2 58 -
trunk/Source/WebCore/rendering/RenderBlock.cpp
r176387 r176478 688 688 } 689 689 690 RenderObject*RenderBlock::removeChild(RenderObject& oldChild)690 void RenderBlock::removeChild(RenderObject& oldChild) 691 691 { 692 692 // No need to waste time in merging or removing empty anonymous blocks. 693 693 // We can just bail out if our document is getting destroyed. 694 if (documentBeingDestroyed()) 695 return RenderBox::removeChild(oldChild); 694 if (documentBeingDestroyed()) { 695 RenderBox::removeChild(oldChild); 696 return; 697 } 696 698 697 699 // If this child is a block, and if our previous and next siblings are … … 746 748 invalidateLineLayoutPath(); 747 749 748 Render Object* nextSibling = RenderBox::removeChild(oldChild);750 RenderBox::removeChild(oldChild); 749 751 750 752 RenderObject* child = prev ? prev : next; … … 754 756 // box. 755 757 collapseAnonymousBoxChild(*this, downcast<RenderBlock>(child)); 756 nextSibling = nullptr;757 758 } else if (((prev && prev->isAnonymousBlock()) || (next && next->isAnonymousBlock())) && canCollapseAnonymousBlockChild()) { 758 759 // It's possible that the removal has knocked us down to a single anonymous … … 764 765 && (!anonBlock->nextSibling() || (anonBlock->nextSibling()->style().styleType() != NOPSEUDO && anonBlock->nextSibling()->isFloating() && !anonBlock->nextSibling()->nextSibling()))) { 765 766 collapseAnonymousBoxChild(*this, anonBlock); 766 nextSibling = nullptr;767 767 } 768 768 } 769 769 770 770 if (!firstChild()) { 771 nextSibling = nullptr;772 773 771 // If this was our last child be sure to clear out our line boxes. 774 772 if (childrenInline()) … … 801 799 } 802 800 } 803 804 return nextSibling;805 801 } 806 802 -
trunk/Source/WebCore/rendering/RenderBlock.h
r176365 r176478 76 76 77 77 virtual void addChild(RenderObject* newChild, RenderObject* beforeChild = 0) override; 78 virtual RenderObject*removeChild(RenderObject&) override;78 virtual void removeChild(RenderObject&) override; 79 79 80 80 virtual void layoutBlock(bool relayoutChildren, LayoutUnit pageLogicalHeight = 0); -
trunk/Source/WebCore/rendering/RenderBlockFlow.cpp
r176401 r176478 3707 3707 } 3708 3708 3709 RenderObject*RenderBlockFlow::removeChild(RenderObject& oldChild)3709 void RenderBlockFlow::removeChild(RenderObject& oldChild) 3710 3710 { 3711 3711 if (!documentBeingDestroyed()) { … … 3714 3714 flowThread->flowThreadRelativeWillBeRemoved(&oldChild); 3715 3715 } 3716 returnRenderBlock::removeChild(oldChild);3716 RenderBlock::removeChild(oldChild); 3717 3717 } 3718 3718 -
trunk/Source/WebCore/rendering/RenderBlockFlow.h
r175583 r176478 378 378 379 379 virtual void addChild(RenderObject* newChild, RenderObject* beforeChild = 0) override; 380 virtual RenderObject*removeChild(RenderObject&) override;380 virtual void removeChild(RenderObject&) override; 381 381 382 382 void createMultiColumnFlowThread(); -
trunk/Source/WebCore/rendering/RenderButton.cpp
r176459 r176478 78 78 } 79 79 80 RenderObject*RenderButton::removeChild(RenderObject& oldChild)80 void RenderButton::removeChild(RenderObject& oldChild) 81 81 { 82 82 // m_inner should be the only child, but checking for direct children who … … 85 85 if (&oldChild == m_inner || !m_inner || oldChild.parent() == this) { 86 86 ASSERT(&oldChild == m_inner || !m_inner); 87 Render Object* next = RenderFlexibleBox::removeChild(oldChild);87 RenderFlexibleBox::removeChild(oldChild); 88 88 m_inner = nullptr; 89 return next;90 89 } else 91 returnm_inner->removeChild(oldChild);90 m_inner->removeChild(oldChild); 92 91 } 93 92 -
trunk/Source/WebCore/rendering/RenderButton.h
r176459 r176478 44 44 45 45 virtual void addChild(RenderObject* newChild, RenderObject *beforeChild = 0) override; 46 virtual RenderObject*removeChild(RenderObject&) override;46 virtual void removeChild(RenderObject&) override; 47 47 virtual void removeLeftoverAnonymousBlock(RenderBlock*) override { } 48 48 virtual bool createsAnonymousWrapper() const override { return true; } -
trunk/Source/WebCore/rendering/RenderElement.cpp
r176365 r176478 515 515 } 516 516 517 RenderObject*RenderElement::removeChild(RenderObject& oldChild)518 { 519 re turn removeChildInternal(oldChild, NotifyChildren);517 void RenderElement::removeChild(RenderObject& oldChild) 518 { 519 removeChildInternal(oldChild, NotifyChildren); 520 520 } 521 521 … … 586 586 } 587 587 588 RenderObject*RenderElement::removeChildInternal(RenderObject& oldChild, NotifyChildrenType notifyChildren)588 void RenderElement::removeChildInternal(RenderObject& oldChild, NotifyChildrenType notifyChildren) 589 589 { 590 590 ASSERT(canHaveChildren() || canHaveGeneratedChildren()); … … 647 647 if (AXObjectCache* cache = document().existingAXObjectCache()) 648 648 cache->childrenChanged(this); 649 650 return nextSibling;651 649 } 652 650 -
trunk/Source/WebCore/rendering/RenderElement.h
r176365 r176478 85 85 virtual void addChild(RenderObject* newChild, RenderObject* beforeChild = 0); 86 86 virtual void addChildIgnoringContinuation(RenderObject* newChild, RenderObject* beforeChild = 0) { return addChild(newChild, beforeChild); } 87 virtual RenderObject*removeChild(RenderObject&);87 virtual void removeChild(RenderObject&); 88 88 89 89 // The following functions are used when the render tree hierarchy changes to make sure layers get … … 97 97 enum NotifyChildrenType { NotifyChildren, DontNotifyChildren }; 98 98 void insertChildInternal(RenderObject*, RenderObject* beforeChild, NotifyChildrenType); 99 RenderObject*removeChildInternal(RenderObject&, NotifyChildrenType);99 void removeChildInternal(RenderObject&, NotifyChildrenType); 100 100 101 101 virtual RenderElement* hoverAncestor() const; -
trunk/Source/WebCore/rendering/RenderMenuList.cpp
r176258 r176478 182 182 } 183 183 184 RenderObject*RenderMenuList::removeChild(RenderObject& oldChild)184 void RenderMenuList::removeChild(RenderObject& oldChild) 185 185 { 186 186 if (&oldChild == m_innerBlock || !m_innerBlock) { 187 Render Object* next = RenderFlexibleBox::removeChild(oldChild);187 RenderFlexibleBox::removeChild(oldChild); 188 188 m_innerBlock = 0; 189 return next;190 189 } else 191 returnm_innerBlock->removeChild(oldChild);190 m_innerBlock->removeChild(oldChild); 192 191 } 193 192 -
trunk/Source/WebCore/rendering/RenderMenuList.h
r174759 r176478 67 67 68 68 virtual void addChild(RenderObject* newChild, RenderObject* beforeChild = 0) override; 69 virtual RenderObject*removeChild(RenderObject&) override;69 virtual void removeChild(RenderObject&) override; 70 70 virtual bool createsAnonymousWrapper() const override { return true; } 71 71 -
trunk/Source/WebCore/rendering/RenderRuby.cpp
r175807 r176478 200 200 } 201 201 202 RenderObject*RenderRubyAsInline::removeChild(RenderObject& child)202 void RenderRubyAsInline::removeChild(RenderObject& child) 203 203 { 204 204 // If the child's parent is *this (must be a ruby run or generated content or anonymous block), … … 208 208 ASSERT(isRubyChildForNormalRemoval(child)); 209 209 #endif 210 return RenderInline::removeChild(child); 210 RenderInline::removeChild(child); 211 return; 211 212 } 212 213 // If the child's parent is an anoymous block (must be generated :before/:after content) … … 214 215 if (isAnonymousRubyInlineBlock(child.parent())) { 215 216 ASSERT(child.isBeforeContent() || child.isAfterContent()); 216 RenderObject* next =child.parent()->removeChild(child);217 child.parent()->removeChild(child); 217 218 removeChild(*child.parent()); 218 return next;219 return; 219 220 } 220 221 221 222 // Otherwise find the containing run and remove it from there. 222 RenderRubyRun& run = findRubyRunParent(child); 223 return run.removeChild(child); 223 findRubyRunParent(child).removeChild(child); 224 224 } 225 225 … … 306 306 } 307 307 308 RenderObject*RenderRubyAsBlock::removeChild(RenderObject& child)308 void RenderRubyAsBlock::removeChild(RenderObject& child) 309 309 { 310 310 // If the child's parent is *this (must be a ruby run or generated content or anonymous block), … … 314 314 ASSERT(isRubyChildForNormalRemoval(child)); 315 315 #endif 316 return RenderBlockFlow::removeChild(child); 316 RenderBlockFlow::removeChild(child); 317 return; 317 318 } 318 319 // If the child's parent is an anoymous block (must be generated :before/:after content) … … 320 321 if (isAnonymousRubyInlineBlock(child.parent())) { 321 322 ASSERT(child.isBeforeContent() || child.isAfterContent()); 322 RenderObject* next =child.parent()->removeChild(child);323 child.parent()->removeChild(child); 323 324 removeChild(*child.parent()); 324 return next;325 return; 325 326 } 326 327 327 328 // Otherwise find the containing run and remove it from there. 328 RenderRubyRun& run = findRubyRunParent(child); 329 return run.removeChild(child); 329 findRubyRunParent(child).removeChild(child); 330 330 } 331 331 -
trunk/Source/WebCore/rendering/RenderRuby.h
r174117 r176478 58 58 59 59 virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) override; 60 virtual RenderObject*removeChild(RenderObject& child) override;60 virtual void removeChild(RenderObject& child) override; 61 61 62 62 protected: … … 78 78 79 79 virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) override; 80 virtual RenderObject*removeChild(RenderObject& child) override;80 virtual void removeChild(RenderObject& child) override; 81 81 82 82 protected: -
trunk/Source/WebCore/rendering/RenderRubyRun.cpp
r174875 r176478 157 157 } 158 158 159 RenderObject*RenderRubyRun::removeChild(RenderObject& child)159 void RenderRubyRun::removeChild(RenderObject& child) 160 160 { 161 161 // If the child is a ruby text, then merge the ruby base with the base of … … 179 179 } 180 180 181 Render Object* next = RenderBlockFlow::removeChild(child);181 RenderBlockFlow::removeChild(child); 182 182 183 183 if (!beingDestroyed() && !documentBeingDestroyed()) { … … 185 185 RenderBlock* base = rubyBase(); 186 186 if (base && !base->firstChild()) { 187 next =RenderBlockFlow::removeChild(*base);187 RenderBlockFlow::removeChild(*base); 188 188 base->deleteLines(); 189 189 base->destroy(); … … 195 195 deleteLines(); 196 196 destroy(); 197 next = nullptr; 198 } 199 } 200 201 return next; 197 } 198 } 202 199 } 203 200 -
trunk/Source/WebCore/rendering/RenderRubyRun.h
r175084 r176478 59 59 virtual bool isChildAllowed(const RenderObject&, const RenderStyle&) const override; 60 60 virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) override; 61 virtual RenderObject*removeChild(RenderObject&) override;61 virtual void removeChild(RenderObject&) override; 62 62 63 63 virtual RenderBlock* firstLineBlock() const override; -
trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp
r176258 r176478 350 350 } 351 351 352 RenderObject*RenderMathMLRootWrapper::removeChildWithoutRestructuring(RenderObject& child)353 { 354 returnRenderMathMLBlock::removeChild(child);355 } 356 357 RenderObject*RenderMathMLRootWrapper::removeChild(RenderObject& child)358 { 359 Render Object* next = RenderMathMLBlock::removeChild(child);352 void RenderMathMLRootWrapper::removeChildWithoutRestructuring(RenderObject& child) 353 { 354 RenderMathMLBlock::removeChild(child); 355 } 356 357 void RenderMathMLRootWrapper::removeChild(RenderObject& child) 358 { 359 RenderMathMLBlock::removeChild(child); 360 360 361 361 if (!(beingDestroyed() || documentBeingDestroyed())) 362 362 downcast<RenderMathMLRoot>(*parent()).restructureWrappers(); 363 364 return next;365 363 } 366 364 -
trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.h
r176447 r176478 84 84 85 85 private: 86 RenderObject*removeChildWithoutRestructuring(RenderObject&);87 virtual RenderObject*removeChild(RenderObject&) override;86 void removeChildWithoutRestructuring(RenderObject&); 87 virtual void removeChild(RenderObject&) override; 88 88 static RenderPtr<RenderMathMLRootWrapper> createAnonymousWrapper(RenderMathMLRoot* renderObject); 89 89 virtual bool isRenderMathMLRootWrapper() const override { return true; } -
trunk/Source/WebCore/rendering/mathml/RenderMathMLScripts.cpp
r176465 r176478 199 199 } 200 200 201 RenderObject* RenderMathMLScripts::removeChildInternal(bool doNotRestructure, RenderObject& child) 202 { 203 if (doNotRestructure) 204 return RenderMathMLBlock::removeChild(child); 201 void RenderMathMLScripts::removeChildInternal(bool doNotRestructure, RenderObject& child) 202 { 203 if (doNotRestructure) { 204 RenderMathMLBlock::removeChild(child); 205 return; 206 } 205 207 206 208 ASSERT(isPrescript(child)); … … 221 223 } 222 224 223 returnRenderMathMLBlock::removeChild(child);225 RenderMathMLBlock::removeChild(child); 224 226 } 225 227 … … 236 238 } 237 239 238 RenderObject*RenderMathMLScripts::removeChild(RenderObject& child)240 void RenderMathMLScripts::removeChild(RenderObject& child) 239 241 { 240 242 if (beingDestroyed() || documentBeingDestroyed()) { 241 243 // The renderer is being destroyed so we remove the child normally. 242 returnRenderMathMLBlock::removeChild(child);243 }244 245 RenderObject* next = removeChildInternal(false, child); 246 244 RenderMathMLBlock::removeChild(child); 245 return; 246 } 247 248 removeChildInternal(false, child); 247 249 fixAnonymousStyles(); 248 249 return next;250 250 } 251 251 … … 462 462 } 463 463 464 RenderObject* RenderMathMLScriptsWrapper::removeChildInternal(bool doNotRestructure, RenderObject& child) 465 { 466 if (doNotRestructure) 467 return RenderMathMLBlock::removeChild(child); 464 void RenderMathMLScriptsWrapper::removeChildInternal(bool doNotRestructure, RenderObject& child) 465 { 466 if (doNotRestructure) { 467 RenderMathMLBlock::removeChild(child); 468 return; 469 } 468 470 469 471 RenderMathMLScripts* parentNode = downcast<RenderMathMLScripts>(parent()); … … 480 482 RenderMathMLBlock::addChild(script); 481 483 } 482 return sibling;484 return; 483 485 } 484 486 485 487 // We remove the child and shift the successors in the current sequence of scripts. 486 Render Object* next = RenderMathMLBlock::removeChild(child);488 RenderMathMLBlock::removeChild(child); 487 489 RenderMathMLScriptsWrapper* subSupPair = this; 488 490 for (RenderObject* nextSibling = subSupPair->nextSibling(); nextSibling && !isPrescript(*nextSibling); nextSibling = nextSibling->nextSibling()) { … … 499 501 subSupPair->destroy(); 500 502 } 501 502 return next; 503 } 504 505 RenderObject* RenderMathMLScriptsWrapper::removeChild(RenderObject& child) 503 } 504 505 void RenderMathMLScriptsWrapper::removeChild(RenderObject& child) 506 506 { 507 507 if (beingDestroyed() || documentBeingDestroyed()) { 508 508 // The renderer is being destroyed so we remove the child normally. 509 return RenderMathMLBlock::removeChild(child); 509 RenderMathMLBlock::removeChild(child); 510 return; 510 511 } 511 512 512 513 RenderMathMLScripts* parentNode = downcast<RenderMathMLScripts>(parent()); 513 RenderObject* next =removeChildInternal(false, child);514 removeChildInternal(false, child); 514 515 parentNode->fixAnonymousStyles(); 515 return next;516 516 } 517 517 -
trunk/Source/WebCore/rendering/mathml/RenderMathMLScripts.h
r175084 r176478 44 44 45 45 virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) override; 46 virtual RenderObject*removeChild(RenderObject&) override;46 virtual void removeChild(RenderObject&) override; 47 47 48 48 private: … … 56 56 57 57 void addChildInternal(bool normalInsertion, RenderObject* child, RenderObject* beforeChild = 0); 58 RenderObject*removeChildInternal(bool normalRemoval, RenderObject& child);58 void removeChildInternal(bool normalRemoval, RenderObject& child); 59 59 60 60 virtual const char* renderName() const override { return m_kind == Base ? "Base Wrapper" : "SubSupPair Wrapper"; } … … 74 74 RenderMathMLScripts(Element&, PassRef<RenderStyle>); 75 75 virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) override; 76 virtual RenderObject*removeChild(RenderObject&) override;76 virtual void removeChild(RenderObject&) override; 77 77 78 78 virtual RenderMathMLOperator* unembellishedOperator() override; … … 84 84 private: 85 85 void addChildInternal(bool normalInsertion, RenderObject* child, RenderObject* beforeChild = 0); 86 RenderObject*removeChildInternal(bool normalRemoval, RenderObject& child);86 void removeChildInternal(bool normalRemoval, RenderObject& child); 87 87 88 88 virtual bool isRenderMathMLScripts() const override { return true; } -
trunk/Source/WebCore/rendering/svg/RenderSVGContainer.cpp
r173325 r176478 94 94 } 95 95 96 RenderObject*RenderSVGContainer::removeChild(RenderObject& child)96 void RenderSVGContainer::removeChild(RenderObject& child) 97 97 { 98 98 SVGResourcesCache::clientWillBeRemovedFromTree(child); 99 returnRenderSVGModelObject::removeChild(child);99 RenderSVGModelObject::removeChild(child); 100 100 } 101 101 -
trunk/Source/WebCore/rendering/svg/RenderSVGContainer.h
r175084 r176478 50 50 51 51 virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) override final; 52 virtual RenderObject*removeChild(RenderObject&) override final;52 virtual void removeChild(RenderObject&) override final; 53 53 virtual void addFocusRingRects(Vector<IntRect>&, const LayoutPoint& additionalOffset, const RenderLayerModelObject* paintContainer = 0) override final; 54 54 -
trunk/Source/WebCore/rendering/svg/RenderSVGInline.cpp
r170774 r176478 130 130 } 131 131 132 RenderObject*RenderSVGInline::removeChild(RenderObject& child)132 void RenderSVGInline::removeChild(RenderObject& child) 133 133 { 134 134 SVGResourcesCache::clientWillBeRemovedFromTree(child); 135 135 136 136 auto* textAncestor = RenderSVGText::locateRenderSVGTextAncestor(*this); 137 if (!textAncestor) 138 return RenderInline::removeChild(child); 137 if (!textAncestor) { 138 RenderInline::removeChild(child); 139 return; 140 } 139 141 140 142 Vector<SVGTextLayoutAttributes*, 2> affectedAttributes; 141 143 textAncestor->subtreeChildWillBeRemoved(&child, affectedAttributes); 142 Render Object* next = RenderInline::removeChild(child);144 RenderInline::removeChild(child); 143 145 textAncestor->subtreeChildWasRemoved(affectedAttributes); 144 return next;145 146 } 146 147 -
trunk/Source/WebCore/rendering/svg/RenderSVGInline.h
r174542 r176478 63 63 64 64 virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) override final; 65 virtual RenderObject*removeChild(RenderObject&) override final;65 virtual void removeChild(RenderObject&) override final; 66 66 }; 67 67 -
trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp
r174854 r176478 311 311 } 312 312 313 RenderObject*RenderSVGRoot::removeChild(RenderObject& child)313 void RenderSVGRoot::removeChild(RenderObject& child) 314 314 { 315 315 SVGResourcesCache::clientWillBeRemovedFromTree(child); 316 returnRenderReplaced::removeChild(child);316 RenderReplaced::removeChild(child); 317 317 } 318 318 -
trunk/Source/WebCore/rendering/svg/RenderSVGRoot.h
r175084 r176478 81 81 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) override; 82 82 virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) override; 83 virtual RenderObject*removeChild(RenderObject&) override;83 virtual void removeChild(RenderObject&) override; 84 84 85 85 virtual const AffineTransform& localToParentTransform() const override; -
trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp
r174854 r176478 540 540 } 541 541 542 RenderObject*RenderSVGText::removeChild(RenderObject& child)542 void RenderSVGText::removeChild(RenderObject& child) 543 543 { 544 544 SVGResourcesCache::clientWillBeRemovedFromTree(child); … … 547 547 FontCachePurgePreventer fontCachePurgePreventer; 548 548 subtreeChildWillBeRemoved(&child, affectedAttributes); 549 Render Object* next = RenderSVGBlock::removeChild(child);549 RenderSVGBlock::removeChild(child); 550 550 subtreeChildWasRemoved(affectedAttributes); 551 return next;552 551 } 553 552 -
trunk/Source/WebCore/rendering/svg/RenderSVGText.h
r175084 r176478 85 85 virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&) const override; 86 86 virtual void addChild(RenderObject* child, RenderObject* beforeChild = nullptr) override; 87 virtual RenderObject*removeChild(RenderObject&) override;87 virtual void removeChild(RenderObject&) override; 88 88 virtual void willBeDestroyed() override; 89 89
Note:
See TracChangeset
for help on using the changeset viewer.