Diff
Modified: trunk/Source/WebCore/ChangeLog (176477 => 176478)
--- trunk/Source/WebCore/ChangeLog 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/ChangeLog 2014-11-21 23:39:16 UTC (rev 176478)
@@ -1,3 +1,59 @@
+2014-11-21 Andreas Kling <akl...@apple.com>
+
+ RenderElement::removeChild() doesn't need a return value.
+ <https://webkit.org/b/138985>
+
+ Reviewed by Pantti Koivisto.
+
+ Nobody uses the return value from RenderElement::removeChild().
+ Change it to return void and remove all the unnecessary plumbing.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::removeChild):
+ * rendering/RenderBlock.h:
+ * rendering/RenderBlockFlow.cpp:
+ (WebCore::RenderBlockFlow::removeChild):
+ * rendering/RenderBlockFlow.h:
+ * rendering/RenderButton.cpp:
+ (WebCore::RenderButton::removeChild):
+ * rendering/RenderButton.h:
+ * rendering/RenderElement.cpp:
+ (WebCore::RenderElement::removeChild):
+ (WebCore::RenderElement::removeChildInternal):
+ * rendering/RenderElement.h:
+ * rendering/RenderMenuList.cpp:
+ (RenderMenuList::removeChild):
+ * rendering/RenderMenuList.h:
+ * rendering/RenderRuby.cpp:
+ (WebCore::RenderRubyAsInline::removeChild):
+ (WebCore::RenderRubyAsBlock::removeChild):
+ * rendering/RenderRuby.h:
+ * rendering/RenderRubyRun.cpp:
+ (WebCore::RenderRubyRun::removeChild):
+ * rendering/RenderRubyRun.h:
+ * rendering/mathml/RenderMathMLRoot.cpp:
+ (WebCore::RenderMathMLRootWrapper::removeChildWithoutRestructuring):
+ (WebCore::RenderMathMLRootWrapper::removeChild):
+ * rendering/mathml/RenderMathMLRoot.h:
+ * rendering/mathml/RenderMathMLScripts.cpp:
+ (WebCore::RenderMathMLScripts::removeChildInternal):
+ (WebCore::RenderMathMLScripts::removeChild):
+ (WebCore::RenderMathMLScriptsWrapper::removeChildInternal):
+ (WebCore::RenderMathMLScriptsWrapper::removeChild):
+ * rendering/mathml/RenderMathMLScripts.h:
+ * rendering/svg/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::removeChild):
+ * rendering/svg/RenderSVGContainer.h:
+ * rendering/svg/RenderSVGInline.cpp:
+ (WebCore::RenderSVGInline::removeChild):
+ * rendering/svg/RenderSVGInline.h:
+ * rendering/svg/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::removeChild):
+ * rendering/svg/RenderSVGRoot.h:
+ * rendering/svg/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::removeChild):
+ * rendering/svg/RenderSVGText.h:
+
2014-11-21 Tim Horton <timothy_hor...@apple.com>
REGRESSION (r176351): Parts of apple.com/contact aren't Lookup-able
Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (176477 => 176478)
--- trunk/Source/WebCore/rendering/RenderBlock.cpp 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp 2014-11-21 23:39:16 UTC (rev 176478)
@@ -687,12 +687,14 @@
child->destroy();
}
-RenderObject* RenderBlock::removeChild(RenderObject& oldChild)
+void RenderBlock::removeChild(RenderObject& oldChild)
{
// No need to waste time in merging or removing empty anonymous blocks.
// We can just bail out if our document is getting destroyed.
- if (documentBeingDestroyed())
- return RenderBox::removeChild(oldChild);
+ if (documentBeingDestroyed()) {
+ RenderBox::removeChild(oldChild);
+ return;
+ }
// If this child is a block, and if our previous and next siblings are
// both anonymous blocks with inline content, then we can go ahead and
@@ -745,7 +747,7 @@
invalidateLineLayoutPath();
- RenderObject* nextSibling = RenderBox::removeChild(oldChild);
+ RenderBox::removeChild(oldChild);
RenderObject* child = prev ? prev : next;
if (canMergeAnonymousBlocks && child && !child->previousSibling() && !child->nextSibling() && canCollapseAnonymousBlockChild()) {
@@ -753,7 +755,6 @@
// box. We can go ahead and pull the content right back up into our
// box.
collapseAnonymousBoxChild(*this, downcast<RenderBlock>(child));
- nextSibling = nullptr;
} else if (((prev && prev->isAnonymousBlock()) || (next && next->isAnonymousBlock())) && canCollapseAnonymousBlockChild()) {
// It's possible that the removal has knocked us down to a single anonymous
// block with pseudo-style element siblings (e.g. first-letter). If these
@@ -763,13 +764,10 @@
&& (!anonBlock->previousSibling() || (anonBlock->previousSibling()->style().styleType() != NOPSEUDO && anonBlock->previousSibling()->isFloating() && !anonBlock->previousSibling()->previousSibling()))
&& (!anonBlock->nextSibling() || (anonBlock->nextSibling()->style().styleType() != NOPSEUDO && anonBlock->nextSibling()->isFloating() && !anonBlock->nextSibling()->nextSibling()))) {
collapseAnonymousBoxChild(*this, anonBlock);
- nextSibling = nullptr;
}
}
if (!firstChild()) {
- nextSibling = nullptr;
-
// If this was our last child be sure to clear out our line boxes.
if (childrenInline())
deleteLines();
@@ -800,8 +798,6 @@
destroy();
}
}
-
- return nextSibling;
}
bool RenderBlock::isSelfCollapsingBlock() const
Modified: trunk/Source/WebCore/rendering/RenderBlock.h (176477 => 176478)
--- trunk/Source/WebCore/rendering/RenderBlock.h 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/RenderBlock.h 2014-11-21 23:39:16 UTC (rev 176478)
@@ -75,7 +75,7 @@
virtual void deleteLines();
virtual void addChild(RenderObject* newChild, RenderObject* beforeChild = 0) override;
- virtual RenderObject* removeChild(RenderObject&) override;
+ virtual void removeChild(RenderObject&) override;
virtual void layoutBlock(bool relayoutChildren, LayoutUnit pageLogicalHeight = 0);
Modified: trunk/Source/WebCore/rendering/RenderBlockFlow.cpp (176477 => 176478)
--- trunk/Source/WebCore/rendering/RenderBlockFlow.cpp 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/RenderBlockFlow.cpp 2014-11-21 23:39:16 UTC (rev 176478)
@@ -3706,14 +3706,14 @@
RenderBlock::addChild(newChild, beforeChild);
}
-RenderObject* RenderBlockFlow::removeChild(RenderObject& oldChild)
+void RenderBlockFlow::removeChild(RenderObject& oldChild)
{
if (!documentBeingDestroyed()) {
RenderFlowThread* flowThread = multiColumnFlowThread();
if (flowThread && flowThread != &oldChild)
flowThread->flowThreadRelativeWillBeRemoved(&oldChild);
}
- return RenderBlock::removeChild(oldChild);
+ RenderBlock::removeChild(oldChild);
}
void RenderBlockFlow::checkForPaginationLogicalHeightChange(bool& relayoutChildren, LayoutUnit& pageLogicalHeight, bool& pageLogicalHeightChanged)
Modified: trunk/Source/WebCore/rendering/RenderBlockFlow.h (176477 => 176478)
--- trunk/Source/WebCore/rendering/RenderBlockFlow.h 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/RenderBlockFlow.h 2014-11-21 23:39:16 UTC (rev 176478)
@@ -377,7 +377,7 @@
bool hasNextPage(LayoutUnit logicalOffset, PageBoundaryRule = ExcludePageBoundary) const;
virtual void addChild(RenderObject* newChild, RenderObject* beforeChild = 0) override;
- virtual RenderObject* removeChild(RenderObject&) override;
+ virtual void removeChild(RenderObject&) override;
void createMultiColumnFlowThread();
void destroyMultiColumnFlowThread();
Modified: trunk/Source/WebCore/rendering/RenderButton.cpp (176477 => 176478)
--- trunk/Source/WebCore/rendering/RenderButton.cpp 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/RenderButton.cpp 2014-11-21 23:39:16 UTC (rev 176478)
@@ -77,18 +77,17 @@
m_inner->addChild(newChild, beforeChild);
}
-RenderObject* RenderButton::removeChild(RenderObject& oldChild)
+void RenderButton::removeChild(RenderObject& oldChild)
{
// m_inner should be the only child, but checking for direct children who
// are not m_inner prevents security problems when that assumption is
// violated.
if (&oldChild == m_inner || !m_inner || oldChild.parent() == this) {
ASSERT(&oldChild == m_inner || !m_inner);
- RenderObject* next = RenderFlexibleBox::removeChild(oldChild);
+ RenderFlexibleBox::removeChild(oldChild);
m_inner = nullptr;
- return next;
} else
- return m_inner->removeChild(oldChild);
+ m_inner->removeChild(oldChild);
}
void RenderButton::styleWillChange(StyleDifference diff, const RenderStyle& newStyle)
Modified: trunk/Source/WebCore/rendering/RenderButton.h (176477 => 176478)
--- trunk/Source/WebCore/rendering/RenderButton.h 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/RenderButton.h 2014-11-21 23:39:16 UTC (rev 176478)
@@ -43,7 +43,7 @@
virtual bool canBeSelectionLeaf() const override;
virtual void addChild(RenderObject* newChild, RenderObject *beforeChild = 0) override;
- virtual RenderObject* removeChild(RenderObject&) override;
+ virtual void removeChild(RenderObject&) override;
virtual void removeLeftoverAnonymousBlock(RenderBlock*) override { }
virtual bool createsAnonymousWrapper() const override { return true; }
Modified: trunk/Source/WebCore/rendering/RenderElement.cpp (176477 => 176478)
--- trunk/Source/WebCore/rendering/RenderElement.cpp 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/RenderElement.cpp 2014-11-21 23:39:16 UTC (rev 176478)
@@ -514,9 +514,9 @@
SVGRenderSupport::childAdded(*this, *newChild);
}
-RenderObject* RenderElement::removeChild(RenderObject& oldChild)
+void RenderElement::removeChild(RenderObject& oldChild)
{
- return removeChildInternal(oldChild, NotifyChildren);
+ removeChildInternal(oldChild, NotifyChildren);
}
void RenderElement::destroyLeftoverChildren()
@@ -585,7 +585,7 @@
cache->childrenChanged(this, newChild);
}
-RenderObject* RenderElement::removeChildInternal(RenderObject& oldChild, NotifyChildrenType notifyChildren)
+void RenderElement::removeChildInternal(RenderObject& oldChild, NotifyChildrenType notifyChildren)
{
ASSERT(canHaveChildren() || canHaveGeneratedChildren());
ASSERT(oldChild.parent() == this);
@@ -646,8 +646,6 @@
if (AXObjectCache* cache = document().existingAXObjectCache())
cache->childrenChanged(this);
-
- return nextSibling;
}
static void addLayers(RenderElement& renderer, RenderLayer* parentLayer, RenderElement*& newObject, RenderLayer*& beforeChild)
Modified: trunk/Source/WebCore/rendering/RenderElement.h (176477 => 176478)
--- trunk/Source/WebCore/rendering/RenderElement.h 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/RenderElement.h 2014-11-21 23:39:16 UTC (rev 176478)
@@ -84,7 +84,7 @@
virtual bool isChildAllowed(const RenderObject&, const RenderStyle&) const { return true; }
virtual void addChild(RenderObject* newChild, RenderObject* beforeChild = 0);
virtual void addChildIgnoringContinuation(RenderObject* newChild, RenderObject* beforeChild = 0) { return addChild(newChild, beforeChild); }
- virtual RenderObject* removeChild(RenderObject&);
+ virtual void removeChild(RenderObject&);
// The following functions are used when the render tree hierarchy changes to make sure layers get
// properly added and removed. Since containership can be implemented by any subclass, and since a hierarchy
@@ -96,7 +96,7 @@
enum NotifyChildrenType { NotifyChildren, DontNotifyChildren };
void insertChildInternal(RenderObject*, RenderObject* beforeChild, NotifyChildrenType);
- RenderObject* removeChildInternal(RenderObject&, NotifyChildrenType);
+ void removeChildInternal(RenderObject&, NotifyChildrenType);
virtual RenderElement* hoverAncestor() const;
Modified: trunk/Source/WebCore/rendering/RenderMenuList.cpp (176477 => 176478)
--- trunk/Source/WebCore/rendering/RenderMenuList.cpp 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/RenderMenuList.cpp 2014-11-21 23:39:16 UTC (rev 176478)
@@ -181,14 +181,13 @@
cache->childrenChanged(this, newChild);
}
-RenderObject* RenderMenuList::removeChild(RenderObject& oldChild)
+void RenderMenuList::removeChild(RenderObject& oldChild)
{
if (&oldChild == m_innerBlock || !m_innerBlock) {
- RenderObject* next = RenderFlexibleBox::removeChild(oldChild);
+ RenderFlexibleBox::removeChild(oldChild);
m_innerBlock = 0;
- return next;
} else
- return m_innerBlock->removeChild(oldChild);
+ m_innerBlock->removeChild(oldChild);
}
void RenderMenuList::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
Modified: trunk/Source/WebCore/rendering/RenderMenuList.h (176477 => 176478)
--- trunk/Source/WebCore/rendering/RenderMenuList.h 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/RenderMenuList.h 2014-11-21 23:39:16 UTC (rev 176478)
@@ -66,7 +66,7 @@
virtual bool isMenuList() const override { return true; }
virtual void addChild(RenderObject* newChild, RenderObject* beforeChild = 0) override;
- virtual RenderObject* removeChild(RenderObject&) override;
+ virtual void removeChild(RenderObject&) override;
virtual bool createsAnonymousWrapper() const override { return true; }
virtual void updateFromElement() override;
Modified: trunk/Source/WebCore/rendering/RenderRuby.cpp (176477 => 176478)
--- trunk/Source/WebCore/rendering/RenderRuby.cpp 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/RenderRuby.cpp 2014-11-21 23:39:16 UTC (rev 176478)
@@ -199,7 +199,7 @@
lastRun->addChild(child);
}
-RenderObject* RenderRubyAsInline::removeChild(RenderObject& child)
+void RenderRubyAsInline::removeChild(RenderObject& child)
{
// If the child's parent is *this (must be a ruby run or generated content or anonymous block),
// just use the normal remove method.
@@ -207,20 +207,20 @@
#ifndef ASSERT_DISABLED
ASSERT(isRubyChildForNormalRemoval(child));
#endif
- return RenderInline::removeChild(child);
+ RenderInline::removeChild(child);
+ return;
}
// If the child's parent is an anoymous block (must be generated :before/:after content)
// just use the block's remove method.
if (isAnonymousRubyInlineBlock(child.parent())) {
ASSERT(child.isBeforeContent() || child.isAfterContent());
- RenderObject* next = child.parent()->removeChild(child);
+ child.parent()->removeChild(child);
removeChild(*child.parent());
- return next;
+ return;
}
// Otherwise find the containing run and remove it from there.
- RenderRubyRun& run = findRubyRunParent(child);
- return run.removeChild(child);
+ findRubyRunParent(child).removeChild(child);
}
//=== ruby as block object ===
@@ -305,7 +305,7 @@
lastRun->addChild(child);
}
-RenderObject* RenderRubyAsBlock::removeChild(RenderObject& child)
+void RenderRubyAsBlock::removeChild(RenderObject& child)
{
// If the child's parent is *this (must be a ruby run or generated content or anonymous block),
// just use the normal remove method.
@@ -313,20 +313,20 @@
#ifndef ASSERT_DISABLED
ASSERT(isRubyChildForNormalRemoval(child));
#endif
- return RenderBlockFlow::removeChild(child);
+ RenderBlockFlow::removeChild(child);
+ return;
}
// If the child's parent is an anoymous block (must be generated :before/:after content)
// just use the block's remove method.
if (isAnonymousRubyInlineBlock(child.parent())) {
ASSERT(child.isBeforeContent() || child.isAfterContent());
- RenderObject* next = child.parent()->removeChild(child);
+ child.parent()->removeChild(child);
removeChild(*child.parent());
- return next;
+ return;
}
// Otherwise find the containing run and remove it from there.
- RenderRubyRun& run = findRubyRunParent(child);
- return run.removeChild(child);
+ findRubyRunParent(child).removeChild(child);
}
} // namespace WebCore
Modified: trunk/Source/WebCore/rendering/RenderRuby.h (176477 => 176478)
--- trunk/Source/WebCore/rendering/RenderRuby.h 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/RenderRuby.h 2014-11-21 23:39:16 UTC (rev 176478)
@@ -57,7 +57,7 @@
virtual ~RenderRubyAsInline();
virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) override;
- virtual RenderObject* removeChild(RenderObject& child) override;
+ virtual void removeChild(RenderObject& child) override;
protected:
virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) override;
@@ -77,7 +77,7 @@
Element& element() const { return downcast<Element>(nodeForNonAnonymous()); }
virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) override;
- virtual RenderObject* removeChild(RenderObject& child) override;
+ virtual void removeChild(RenderObject& child) override;
protected:
virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) override;
Modified: trunk/Source/WebCore/rendering/RenderRubyRun.cpp (176477 => 176478)
--- trunk/Source/WebCore/rendering/RenderRubyRun.cpp 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/RenderRubyRun.cpp 2014-11-21 23:39:16 UTC (rev 176478)
@@ -156,7 +156,7 @@
}
}
-RenderObject* RenderRubyRun::removeChild(RenderObject& child)
+void RenderRubyRun::removeChild(RenderObject& child)
{
// If the child is a ruby text, then merge the ruby base with the base of
// the right sibling run, if possible.
@@ -178,13 +178,13 @@
}
}
- RenderObject* next = RenderBlockFlow::removeChild(child);
+ RenderBlockFlow::removeChild(child);
if (!beingDestroyed() && !documentBeingDestroyed()) {
// Check if our base (if any) is now empty. If so, destroy it.
RenderBlock* base = rubyBase();
if (base && !base->firstChild()) {
- next = RenderBlockFlow::removeChild(*base);
+ RenderBlockFlow::removeChild(*base);
base->deleteLines();
base->destroy();
}
@@ -194,11 +194,8 @@
parent()->removeChild(*this);
deleteLines();
destroy();
- next = nullptr;
}
}
-
- return next;
}
RenderRubyBase* RenderRubyRun::createRubyBase() const
Modified: trunk/Source/WebCore/rendering/RenderRubyRun.h (176477 => 176478)
--- trunk/Source/WebCore/rendering/RenderRubyRun.h 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/RenderRubyRun.h 2014-11-21 23:39:16 UTC (rev 176478)
@@ -58,7 +58,7 @@
virtual bool isChildAllowed(const RenderObject&, const RenderStyle&) const override;
virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) override;
- virtual RenderObject* removeChild(RenderObject&) override;
+ virtual void removeChild(RenderObject&) override;
virtual RenderBlock* firstLineBlock() const override;
virtual void updateFirstLetter() override;
Modified: trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp (176477 => 176478)
--- trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp 2014-11-21 23:39:16 UTC (rev 176478)
@@ -349,19 +349,17 @@
return newBlock;
}
-RenderObject* RenderMathMLRootWrapper::removeChildWithoutRestructuring(RenderObject& child)
+void RenderMathMLRootWrapper::removeChildWithoutRestructuring(RenderObject& child)
{
- return RenderMathMLBlock::removeChild(child);
+ RenderMathMLBlock::removeChild(child);
}
-RenderObject* RenderMathMLRootWrapper::removeChild(RenderObject& child)
+void RenderMathMLRootWrapper::removeChild(RenderObject& child)
{
- RenderObject* next = RenderMathMLBlock::removeChild(child);
+ RenderMathMLBlock::removeChild(child);
if (!(beingDestroyed() || documentBeingDestroyed()))
downcast<RenderMathMLRoot>(*parent()).restructureWrappers();
-
- return next;
}
}
Modified: trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.h (176477 => 176478)
--- trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.h 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.h 2014-11-21 23:39:16 UTC (rev 176478)
@@ -83,8 +83,8 @@
: RenderMathMLRow(document, WTF::move(style)) { }
private:
- RenderObject* removeChildWithoutRestructuring(RenderObject&);
- virtual RenderObject* removeChild(RenderObject&) override;
+ void removeChildWithoutRestructuring(RenderObject&);
+ virtual void removeChild(RenderObject&) override;
static RenderPtr<RenderMathMLRootWrapper> createAnonymousWrapper(RenderMathMLRoot* renderObject);
virtual bool isRenderMathMLRootWrapper() const override { return true; }
virtual const char* renderName() const override { return "RenderMathMLRootWrapper"; }
Modified: trunk/Source/WebCore/rendering/mathml/RenderMathMLScripts.cpp (176477 => 176478)
--- trunk/Source/WebCore/rendering/mathml/RenderMathMLScripts.cpp 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLScripts.cpp 2014-11-21 23:39:16 UTC (rev 176478)
@@ -198,10 +198,12 @@
wrapper.addChildInternal(false, child, wrapper.firstChild());
}
-RenderObject* RenderMathMLScripts::removeChildInternal(bool doNotRestructure, RenderObject& child)
+void RenderMathMLScripts::removeChildInternal(bool doNotRestructure, RenderObject& child)
{
- if (doNotRestructure)
- return RenderMathMLBlock::removeChild(child);
+ if (doNotRestructure) {
+ RenderMathMLBlock::removeChild(child);
+ return;
+ }
ASSERT(isPrescript(child));
@@ -220,7 +222,7 @@
}
}
- return RenderMathMLBlock::removeChild(child);
+ RenderMathMLBlock::removeChild(child);
}
void RenderMathMLScripts::addChild(RenderObject* child, RenderObject* beforeChild)
@@ -235,18 +237,16 @@
fixAnonymousStyles();
}
-RenderObject* RenderMathMLScripts::removeChild(RenderObject& child)
+void RenderMathMLScripts::removeChild(RenderObject& child)
{
if (beingDestroyed() || documentBeingDestroyed()) {
// The renderer is being destroyed so we remove the child normally.
- return RenderMathMLBlock::removeChild(child);
+ RenderMathMLBlock::removeChild(child);
+ return;
}
- RenderObject* next = removeChildInternal(false, child);
-
+ removeChildInternal(false, child);
fixAnonymousStyles();
-
- return next;
}
void RenderMathMLScripts::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
@@ -461,10 +461,12 @@
parentNode->fixAnonymousStyles();
}
-RenderObject* RenderMathMLScriptsWrapper::removeChildInternal(bool doNotRestructure, RenderObject& child)
+void RenderMathMLScriptsWrapper::removeChildInternal(bool doNotRestructure, RenderObject& child)
{
- if (doNotRestructure)
- return RenderMathMLBlock::removeChild(child);
+ if (doNotRestructure) {
+ RenderMathMLBlock::removeChild(child);
+ return;
+ }
RenderMathMLScripts* parentNode = downcast<RenderMathMLScripts>(parent());
@@ -479,11 +481,11 @@
wrapper.removeChildInternal(false, *script);
RenderMathMLBlock::addChild(script);
}
- return sibling;
+ return;
}
// We remove the child and shift the successors in the current sequence of scripts.
- RenderObject* next = RenderMathMLBlock::removeChild(child);
+ RenderMathMLBlock::removeChild(child);
RenderMathMLScriptsWrapper* subSupPair = this;
for (RenderObject* nextSibling = subSupPair->nextSibling(); nextSibling && !isPrescript(*nextSibling); nextSibling = nextSibling->nextSibling()) {
RenderMathMLScriptsWrapper& nextSubSupPair = downcast<RenderMathMLScriptsWrapper>(*nextSibling);
@@ -498,21 +500,19 @@
parentNode->removeChildInternal(true, *subSupPair);
subSupPair->destroy();
}
-
- return next;
}
-RenderObject* RenderMathMLScriptsWrapper::removeChild(RenderObject& child)
+void RenderMathMLScriptsWrapper::removeChild(RenderObject& child)
{
if (beingDestroyed() || documentBeingDestroyed()) {
// The renderer is being destroyed so we remove the child normally.
- return RenderMathMLBlock::removeChild(child);
+ RenderMathMLBlock::removeChild(child);
+ return;
}
RenderMathMLScripts* parentNode = downcast<RenderMathMLScripts>(parent());
- RenderObject* next = removeChildInternal(false, child);
+ removeChildInternal(false, child);
parentNode->fixAnonymousStyles();
- return next;
}
}
Modified: trunk/Source/WebCore/rendering/mathml/RenderMathMLScripts.h (176477 => 176478)
--- trunk/Source/WebCore/rendering/mathml/RenderMathMLScripts.h 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLScripts.h 2014-11-21 23:39:16 UTC (rev 176478)
@@ -43,7 +43,7 @@
enum WrapperType { Base, SubSupPair };
virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) override;
- virtual RenderObject* removeChild(RenderObject&) override;
+ virtual void removeChild(RenderObject&) override;
private:
RenderMathMLScriptsWrapper(Document& document, PassRef<RenderStyle> style, WrapperType kind)
@@ -55,7 +55,7 @@
static RenderMathMLScriptsWrapper* createAnonymousWrapper(RenderMathMLScripts* renderObject, WrapperType);
void addChildInternal(bool normalInsertion, RenderObject* child, RenderObject* beforeChild = 0);
- RenderObject* removeChildInternal(bool normalRemoval, RenderObject& child);
+ void removeChildInternal(bool normalRemoval, RenderObject& child);
virtual const char* renderName() const override { return m_kind == Base ? "Base Wrapper" : "SubSupPair Wrapper"; }
virtual bool isRenderMathMLScriptsWrapper() const override final { return true; }
@@ -73,7 +73,7 @@
public:
RenderMathMLScripts(Element&, PassRef<RenderStyle>);
virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) override;
- virtual RenderObject* removeChild(RenderObject&) override;
+ virtual void removeChild(RenderObject&) override;
virtual RenderMathMLOperator* unembellishedOperator() override;
virtual int firstLineBaseline() const override;
@@ -83,7 +83,7 @@
private:
void addChildInternal(bool normalInsertion, RenderObject* child, RenderObject* beforeChild = 0);
- RenderObject* removeChildInternal(bool normalRemoval, RenderObject& child);
+ void removeChildInternal(bool normalRemoval, RenderObject& child);
virtual bool isRenderMathMLScripts() const override { return true; }
virtual const char* renderName() const override { return "RenderMathMLScripts"; }
Modified: trunk/Source/WebCore/rendering/svg/RenderSVGContainer.cpp (176477 => 176478)
--- trunk/Source/WebCore/rendering/svg/RenderSVGContainer.cpp 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGContainer.cpp 2014-11-21 23:39:16 UTC (rev 176478)
@@ -93,10 +93,10 @@
SVGResourcesCache::clientWasAddedToTree(*child);
}
-RenderObject* RenderSVGContainer::removeChild(RenderObject& child)
+void RenderSVGContainer::removeChild(RenderObject& child)
{
SVGResourcesCache::clientWillBeRemovedFromTree(child);
- return RenderSVGModelObject::removeChild(child);
+ RenderSVGModelObject::removeChild(child);
}
Modified: trunk/Source/WebCore/rendering/svg/RenderSVGContainer.h (176477 => 176478)
--- trunk/Source/WebCore/rendering/svg/RenderSVGContainer.h 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGContainer.h 2014-11-21 23:39:16 UTC (rev 176478)
@@ -49,7 +49,7 @@
virtual void layout() override;
virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) override final;
- virtual RenderObject* removeChild(RenderObject&) override final;
+ virtual void removeChild(RenderObject&) override final;
virtual void addFocusRingRects(Vector<IntRect>&, const LayoutPoint& additionalOffset, const RenderLayerModelObject* paintContainer = 0) override final;
virtual FloatRect objectBoundingBox() const override final { return m_objectBoundingBox; }
Modified: trunk/Source/WebCore/rendering/svg/RenderSVGInline.cpp (176477 => 176478)
--- trunk/Source/WebCore/rendering/svg/RenderSVGInline.cpp 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGInline.cpp 2014-11-21 23:39:16 UTC (rev 176478)
@@ -129,19 +129,20 @@
textAncestor->subtreeChildWasAdded(child);
}
-RenderObject* RenderSVGInline::removeChild(RenderObject& child)
+void RenderSVGInline::removeChild(RenderObject& child)
{
SVGResourcesCache::clientWillBeRemovedFromTree(child);
auto* textAncestor = RenderSVGText::locateRenderSVGTextAncestor(*this);
- if (!textAncestor)
- return RenderInline::removeChild(child);
+ if (!textAncestor) {
+ RenderInline::removeChild(child);
+ return;
+ }
Vector<SVGTextLayoutAttributes*, 2> affectedAttributes;
textAncestor->subtreeChildWillBeRemoved(&child, affectedAttributes);
- RenderObject* next = RenderInline::removeChild(child);
+ RenderInline::removeChild(child);
textAncestor->subtreeChildWasRemoved(affectedAttributes);
- return next;
}
}
Modified: trunk/Source/WebCore/rendering/svg/RenderSVGInline.h (176477 => 176478)
--- trunk/Source/WebCore/rendering/svg/RenderSVGInline.h 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGInline.h 2014-11-21 23:39:16 UTC (rev 176478)
@@ -62,7 +62,7 @@
virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) override final;
virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) override final;
- virtual RenderObject* removeChild(RenderObject&) override final;
+ virtual void removeChild(RenderObject&) override final;
};
} // namespace WebCore
Modified: trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp (176477 => 176478)
--- trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp 2014-11-21 23:39:16 UTC (rev 176478)
@@ -310,10 +310,10 @@
SVGResourcesCache::clientWasAddedToTree(*child);
}
-RenderObject* RenderSVGRoot::removeChild(RenderObject& child)
+void RenderSVGRoot::removeChild(RenderObject& child)
{
SVGResourcesCache::clientWillBeRemovedFromTree(child);
- return RenderReplaced::removeChild(child);
+ RenderReplaced::removeChild(child);
}
// RenderBox methods will expect coordinates w/o any transforms in coordinates
Modified: trunk/Source/WebCore/rendering/svg/RenderSVGRoot.h (176477 => 176478)
--- trunk/Source/WebCore/rendering/svg/RenderSVGRoot.h 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGRoot.h 2014-11-21 23:39:16 UTC (rev 176478)
@@ -80,7 +80,7 @@
virtual void willBeDestroyed() override;
virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) override;
virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) override;
- virtual RenderObject* removeChild(RenderObject&) override;
+ virtual void removeChild(RenderObject&) override;
virtual const AffineTransform& localToParentTransform() const override;
Modified: trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp (176477 => 176478)
--- trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp 2014-11-21 23:39:16 UTC (rev 176478)
@@ -539,16 +539,15 @@
subtreeChildWasAdded(child);
}
-RenderObject* RenderSVGText::removeChild(RenderObject& child)
+void RenderSVGText::removeChild(RenderObject& child)
{
SVGResourcesCache::clientWillBeRemovedFromTree(child);
Vector<SVGTextLayoutAttributes*, 2> affectedAttributes;
FontCachePurgePreventer fontCachePurgePreventer;
subtreeChildWillBeRemoved(&child, affectedAttributes);
- RenderObject* next = RenderSVGBlock::removeChild(child);
+ RenderSVGBlock::removeChild(child);
subtreeChildWasRemoved(affectedAttributes);
- return next;
}
// Fix for <rdar://problem/8048875>. We should not render :first-line CSS Style
Modified: trunk/Source/WebCore/rendering/svg/RenderSVGText.h (176477 => 176478)
--- trunk/Source/WebCore/rendering/svg/RenderSVGText.h 2014-11-21 23:38:19 UTC (rev 176477)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGText.h 2014-11-21 23:39:16 UTC (rev 176478)
@@ -84,7 +84,7 @@
virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const override;
virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&) const override;
virtual void addChild(RenderObject* child, RenderObject* beforeChild = nullptr) override;
- virtual RenderObject* removeChild(RenderObject&) override;
+ virtual void removeChild(RenderObject&) override;
virtual void willBeDestroyed() override;
virtual const AffineTransform& localToParentTransform() const override { return m_localTransform; }