Diff
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/ChangeLog (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/ChangeLog 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/ChangeLog 2018-02-19 16:06:10 UTC (rev 228686)
@@ -1,5 +1,143 @@
2018-02-09 Zalan Bujtas <za...@apple.com>
+ [RenderTreeBuilder] Introduce RenderTreeBuilder to willBeDestoryed/removeFromParentAndDestroy
+ https://bugs.webkit.org/show_bug.cgi?id=182635
+ <rdar://problem/37377489>
+
+ Reviewed by Antti Koivisto.
+
+ This patch helps finding callsites where we don't have a RenderTreeBuilder instance.
+
+ No change in functionality.
+
+ * dom/Document.cpp:
+ (WebCore::Document::setFullScreenRenderer):
+ * dom/Document.h:
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::willBeDestroyed):
+ (WebCore::RenderBlock::takeChild):
+ * rendering/RenderBlock.h:
+ * rendering/RenderBlockFlow.cpp:
+ (WebCore::RenderBlockFlow::willBeDestroyed):
+ * rendering/RenderBlockFlow.h:
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::willBeDestroyed):
+ * rendering/RenderBox.h:
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::willBeDestroyed):
+ (WebCore::RenderBoxModelObject::removeAndDestroyAllContinuations):
+ * rendering/RenderBoxModelObject.h:
+ * rendering/RenderButton.cpp:
+ (WebCore::RenderButton::setText):
+ * rendering/RenderCounter.cpp:
+ (WebCore::RenderCounter::willBeDestroyed):
+ * rendering/RenderCounter.h:
+ * rendering/RenderElement.cpp:
+ (WebCore::RenderElement::willBeDestroyed):
+ * rendering/RenderElement.h:
+ * rendering/RenderEmbeddedObject.cpp:
+ (WebCore::RenderEmbeddedObject::willBeDestroyed):
+ * rendering/RenderEmbeddedObject.h:
+ * rendering/RenderFragmentedFlow.cpp:
+ (WebCore::RenderFragmentedFlow::willBeDestroyed):
+ * rendering/RenderFragmentedFlow.h:
+ * rendering/RenderFullScreen.cpp:
+ (WebCore::RenderFullScreen::willBeDestroyed):
+ (WebCore::RenderFullScreen::wrapNewRenderer):
+ (WebCore::RenderFullScreen::wrapExistingRenderer):
+ (WebCore::RenderFullScreen::unwrapRenderer):
+ * rendering/RenderFullScreen.h:
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::willBeDestroyed):
+ * rendering/RenderImage.h:
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::willBeDestroyed):
+ * rendering/RenderInline.h:
+ * rendering/RenderLayerModelObject.cpp:
+ (WebCore::RenderLayerModelObject::willBeDestroyed):
+ * rendering/RenderLayerModelObject.h:
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::willBeDestroyed):
+ * rendering/RenderListBox.h:
+ * rendering/RenderListItem.cpp:
+ (WebCore::RenderListItem::willBeDestroyed):
+ * rendering/RenderListItem.h:
+ * rendering/RenderListMarker.cpp:
+ (WebCore::RenderListMarker::willBeDestroyed):
+ * rendering/RenderListMarker.h:
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::willBeDestroyed):
+ * rendering/RenderMenuList.h:
+ * rendering/RenderMultiColumnFlow.cpp:
+ (WebCore::RenderMultiColumnFlow::handleSpannerRemoval):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::removeFromParentAndDestroy):
+ (WebCore::RenderObject::willBeDestroyed):
+ (WebCore::RenderObject::destroy):
+ * rendering/RenderObject.h:
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::willBeDestroyed):
+ * rendering/RenderReplaced.h:
+ * rendering/RenderRuby.cpp:
+ (WebCore::RenderRubyAsInline::takeChild):
+ (WebCore::RenderRubyAsBlock::takeChild):
+ * rendering/RenderSearchField.cpp:
+ (WebCore::RenderSearchField::willBeDestroyed):
+ * rendering/RenderSearchField.h:
+ * rendering/RenderSnapshottedPlugIn.cpp:
+ (WebCore::RenderSnapshottedPlugIn::willBeDestroyed):
+ * rendering/RenderSnapshottedPlugIn.h:
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::willBeDestroyed):
+ * rendering/RenderText.h:
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::willBeDestroyed):
+ * rendering/RenderTextControlMultiLine.h:
+ * rendering/RenderTextFragment.cpp:
+ (WebCore::RenderTextFragment::willBeDestroyed):
+ (WebCore::RenderTextFragment::setText):
+ * rendering/RenderTextFragment.h:
+ * rendering/RenderVideo.cpp:
+ (WebCore::RenderVideo::willBeDestroyed):
+ * rendering/RenderVideo.h:
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::willBeDestroyed):
+ * rendering/RenderView.h:
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::willBeDestroyed):
+ * rendering/RenderWidget.h:
+ * rendering/svg/RenderSVGBlock.cpp:
+ (WebCore::RenderSVGBlock::willBeDestroyed):
+ * rendering/svg/RenderSVGBlock.h:
+ * rendering/svg/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::willBeDestroyed):
+ * rendering/svg/RenderSVGImage.h:
+ * rendering/svg/RenderSVGInline.cpp:
+ (WebCore::RenderSVGInline::willBeDestroyed):
+ * rendering/svg/RenderSVGInline.h:
+ * rendering/svg/RenderSVGModelObject.cpp:
+ (WebCore::RenderSVGModelObject::willBeDestroyed):
+ * rendering/svg/RenderSVGModelObject.h:
+ * rendering/svg/RenderSVGResourceContainer.cpp:
+ (WebCore::RenderSVGResourceContainer::willBeDestroyed):
+ * rendering/svg/RenderSVGResourceContainer.h:
+ * rendering/svg/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::willBeDestroyed):
+ * rendering/svg/RenderSVGRoot.h:
+ * rendering/svg/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::willBeDestroyed):
+ * rendering/svg/RenderSVGText.h:
+ * rendering/updating/RenderTreeBuilder.cpp:
+ (WebCore::RenderTreeBuilder::removeFromParentAndDestroyCleaningUpAnonymousWrappers):
+ * rendering/updating/RenderTreeBuilderList.cpp:
+ (WebCore::RenderTreeBuilder::List::updateItemMarker):
+ * rendering/updating/RenderTreeBuilderMultiColumn.cpp:
+ (WebCore::RenderTreeBuilder::MultiColumn::destroyFragmentedFlow):
+ * rendering/updating/RenderTreeBuilderRuby.cpp:
+ (WebCore::RenderTreeBuilder::Ruby::moveBlockChildren):
+
+2018-02-09 Zalan Bujtas <za...@apple.com>
+
[RenderTreeBuilder] Move multicolumn descendant/sibling removal logic to RenderTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=182628
<rdar://problem/37369528>
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/dom/Document.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/dom/Document.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/dom/Document.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -6301,7 +6301,7 @@
exitingDocument.m_fullScreenChangeDelayTimer.startOneShot(0_s);
}
-void Document::setFullScreenRenderer(RenderFullScreen* renderer)
+void Document::setFullScreenRenderer(RenderTreeBuilder& builder, RenderFullScreen* renderer)
{
if (renderer == m_fullScreenRenderer)
return;
@@ -6316,7 +6316,7 @@
}
if (m_fullScreenRenderer)
- m_fullScreenRenderer->removeFromParentAndDestroy();
+ m_fullScreenRenderer->removeFromParentAndDestroy(builder);
ASSERT(!m_fullScreenRenderer);
m_fullScreenRenderer = makeWeakPtr(renderer);
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/dom/Document.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/dom/Document.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/dom/Document.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -152,6 +152,7 @@
class QualifiedName;
class Range;
class RenderFullScreen;
+class RenderTreeBuilder;
class RenderView;
class RequestAnimationFrameCallback;
class SVGDocumentExtensions;
@@ -1130,7 +1131,7 @@
WEBCORE_EXPORT void webkitWillExitFullScreenForElement(Element*);
WEBCORE_EXPORT void webkitDidExitFullScreenForElement(Element*);
- void setFullScreenRenderer(RenderFullScreen*);
+ void setFullScreenRenderer(RenderTreeBuilder&, RenderFullScreen*);
RenderFullScreen* fullScreenRenderer() const { return m_fullScreenRenderer.get(); }
void fullScreenChangeDelayTimerFired();
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBlock.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBlock.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBlock.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -343,7 +343,7 @@
}
// Note that this is not called for RenderBlockFlows.
-void RenderBlock::willBeDestroyed()
+void RenderBlock::willBeDestroyed(RenderTreeBuilder& builder)
{
if (!renderTreeBeingDestroyed()) {
if (parent())
@@ -352,7 +352,7 @@
blockWillBeDestroyed();
- RenderBox::willBeDestroyed();
+ RenderBox::willBeDestroyed(builder);
}
void RenderBlock::blockWillBeDestroyed()
@@ -578,7 +578,7 @@
// Delete the now-empty block's lines and nuke it.
nextBlock.deleteLines();
- nextBlock.removeFromParentAndDestroy();
+ nextBlock.removeFromParentAndDestroy(builder);
next = nullptr;
}
}
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBlock.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBlock.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBlock.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -323,7 +323,7 @@
protected:
RenderFragmentedFlow* locateEnclosingFragmentedFlow() const override;
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
void layout() override;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBlockFlow.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBlockFlow.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBlockFlow.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -127,7 +127,7 @@
// Do not add any code here. Add it to willBeDestroyed() instead.
}
-void RenderBlockFlow::willBeDestroyed()
+void RenderBlockFlow::willBeDestroyed(RenderTreeBuilder& builder)
{
if (!renderTreeBeingDestroyed()) {
if (firstRootBox()) {
@@ -154,7 +154,7 @@
blockWillBeDestroyed();
// NOTE: This jumps down to RenderBox, bypassing RenderBlock since it would do duplicate work.
- RenderBox::willBeDestroyed();
+ RenderBox::willBeDestroyed(builder);
}
RenderBlockFlow* RenderBlockFlow::previousSiblingWithOverhangingFloats(bool& parentHasFloats) const
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBlockFlow.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBlockFlow.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBlockFlow.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -59,7 +59,7 @@
void layoutBlock(bool relayoutChildren, LayoutUnit pageLogicalHeight = 0) override;
protected:
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
// This method is called at the start of layout to wipe away all of the floats in our floating objects list. It also
// repopulates the list with any floats that intrude from previous siblings or parents. Floats that were added by
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBox.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBox.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBox.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -150,7 +150,7 @@
// Do not add any code here. Add it to willBeDestroyed() instead.
}
-void RenderBox::willBeDestroyed()
+void RenderBox::willBeDestroyed(RenderTreeBuilder& builder)
{
if (frame().eventHandler().autoscrollRenderer() == this)
frame().eventHandler().stopAutoscrollTimer(true);
@@ -170,7 +170,7 @@
view().unregisterBoxWithScrollSnapPositions(*this);
#endif
- RenderBoxModelObject::willBeDestroyed();
+ RenderBoxModelObject::willBeDestroyed(builder);
}
RenderFragmentContainer* RenderBox::clampToStartAndEndFragments(RenderFragmentContainer* fragment) const
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBox.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBox.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBox.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -631,7 +631,7 @@
void styleDidChange(StyleDifference, const RenderStyle* oldStyle) override;
void updateFromStyle() override;
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
bool createsNewFormattingContext() const;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBoxModelObject.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBoxModelObject.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBoxModelObject.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -237,10 +237,10 @@
// Do not add any code here. Add it to willBeDestroyed() instead.
}
-void RenderBoxModelObject::willBeDestroyed()
+void RenderBoxModelObject::willBeDestroyed(RenderTreeBuilder& builder)
{
if (continuation() && !isContinuation()) {
- removeAndDestroyAllContinuations();
+ removeAndDestroyAllContinuations(builder);
ASSERT(!continuation());
}
if (hasContinuationChainNode())
@@ -252,7 +252,7 @@
if (!renderTreeBeingDestroyed())
view().imageQualityController().rendererWillBeDestroyed(*this);
- RenderLayerModelObject::willBeDestroyed();
+ RenderLayerModelObject::willBeDestroyed(builder);
}
bool RenderBoxModelObject::hasVisibleBoxDecorationStyle() const
@@ -2551,7 +2551,7 @@
}).iterator->value;
}
-void RenderBoxModelObject::removeAndDestroyAllContinuations()
+void RenderBoxModelObject::removeAndDestroyAllContinuations(RenderTreeBuilder& builder)
{
ASSERT(!isContinuation());
ASSERT(hasContinuationChainNode());
@@ -2558,7 +2558,7 @@
ASSERT(continuationChainNodeMap().contains(this));
auto& continuationChainNode = *continuationChainNodeMap().get(this);
while (continuationChainNode.next)
- continuationChainNode.next->renderer->removeFromParentAndDestroy();
+ continuationChainNode.next->renderer->removeFromParentAndDestroy(builder);
removeFromContinuationChain();
}
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBoxModelObject.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBoxModelObject.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBoxModelObject.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -245,7 +245,7 @@
RenderBoxModelObject(Element&, RenderStyle&&, BaseTypeFlags);
RenderBoxModelObject(Document&, RenderStyle&&, BaseTypeFlags);
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
LayoutPoint adjustedPositionRelativeToOffsetParent(const LayoutPoint&) const;
@@ -308,7 +308,7 @@
private:
ContinuationChainNode& ensureContinuationChainNode();
- void removeAndDestroyAllContinuations();
+ void removeAndDestroyAllContinuations(RenderTreeBuilder&);
LayoutUnit computedCSSPadding(const Length&) const;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderButton.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderButton.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderButton.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -128,7 +128,12 @@
m_buttonText->setText(str.impl());
return;
}
- m_buttonText->removeFromParentAndDestroy();
+ if (RenderTreeBuilder::current())
+ m_buttonText->removeFromParentAndDestroy(*RenderTreeBuilder::current());
+ else {
+ RenderTreeBuilder builder(*document().renderView());
+ m_buttonText->removeFromParentAndDestroy(builder);
+ }
}
String RenderButton::text() const
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderCounter.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderCounter.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderCounter.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -352,7 +352,7 @@
// Do not add any code here. Add it to willBeDestroyed() instead.
}
-void RenderCounter::willBeDestroyed()
+void RenderCounter::willBeDestroyed(RenderTreeBuilder& builder)
{
view().removeRenderCounter();
@@ -361,7 +361,7 @@
ASSERT(!m_counterNode);
}
- RenderText::willBeDestroyed();
+ RenderText::willBeDestroyed(builder);
}
const char* RenderCounter::renderName() const
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderCounter.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderCounter.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderCounter.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -43,7 +43,7 @@
void updateCounter();
private:
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
const char* renderName() const override;
bool isCounter() const override;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderElement.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderElement.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderElement.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -1050,7 +1050,7 @@
view().frameView().layoutContext().clearSubtreeLayoutRoot();
}
-void RenderElement::willBeDestroyed()
+void RenderElement::willBeDestroyed(RenderTreeBuilder& builder)
{
if (m_style.hasFixedBackgroundImage() && !settings().fixedBackgroundsPaintRelativeToDocument())
view().frameView().removeSlowRepaintObject(*this);
@@ -1060,7 +1060,7 @@
if (hasCounterNodeMap())
RenderCounter::destroyCounterNodes(*this);
- RenderObject::willBeDestroyed();
+ RenderObject::willBeDestroyed(builder);
clearSubtreeLayoutRootIfNeeded();
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderElement.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderElement.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderElement.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -260,7 +260,7 @@
void insertedIntoTree() override;
void willBeRemovedFromTree() override;
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
void setRenderInlineAlwaysCreatesLineBoxes(bool b) { m_renderInlineAlwaysCreatesLineBoxes = b; }
bool renderInlineAlwaysCreatesLineBoxes() const { return m_renderInlineAlwaysCreatesLineBoxes; }
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderEmbeddedObject.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderEmbeddedObject.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderEmbeddedObject.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -113,10 +113,10 @@
// Do not add any code here. Add it to willBeDestroyed() instead.
}
-void RenderEmbeddedObject::willBeDestroyed()
+void RenderEmbeddedObject::willBeDestroyed(RenderTreeBuilder& builder)
{
view().frameView().removeEmbeddedObjectToUpdate(*this);
- RenderWidget::willBeDestroyed();
+ RenderWidget::willBeDestroyed(builder);
}
RenderPtr<RenderEmbeddedObject> RenderEmbeddedObject::createForApplet(HTMLAppletElement& applet, RenderStyle&& style)
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderEmbeddedObject.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderEmbeddedObject.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderEmbeddedObject.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -66,7 +66,7 @@
protected:
void layout() override;
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
private:
const char* renderName() const override { return "RenderEmbeddedObject"; }
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderFragmentedFlow.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderFragmentedFlow.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderFragmentedFlow.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -763,10 +763,10 @@
RenderBlockFlow::deleteLines();
}
-void RenderFragmentedFlow::willBeDestroyed()
+void RenderFragmentedFlow::willBeDestroyed(RenderTreeBuilder& builder)
{
clearLinesToFragmentMap();
- RenderBlockFlow::willBeDestroyed();
+ RenderBlockFlow::willBeDestroyed(builder);
}
void RenderFragmentedFlow::markFragmentsForOverflowLayoutIfNeeded()
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderFragmentedFlow.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderFragmentedFlow.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderFragmentedFlow.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -194,7 +194,7 @@
virtual LayoutUnit initialLogicalWidth() const { return 0; };
void clearLinesToFragmentMap();
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags, bool* wasFixed) const override;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderFullScreen.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderFullScreen.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderFullScreen.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -58,14 +58,14 @@
setReplaced(false);
}
-void RenderFullScreen::willBeDestroyed()
+void RenderFullScreen::willBeDestroyed(RenderTreeBuilder& builder)
{
if (m_placeholder) {
- m_placeholder->removeFromParentAndDestroy();
+ m_placeholder->removeFromParentAndDestroy(builder);
ASSERT(!m_placeholder);
}
- RenderFlexibleBox::willBeDestroyed();
+ RenderFlexibleBox::willBeDestroyed(builder);
}
static RenderStyle createFullScreenStyle()
@@ -106,7 +106,7 @@
builder.insertChild(fullscreenRenderer, WTFMove(renderer));
fullscreenRenderer.setNeedsLayoutAndPrefWidthsRecalc();
- document.setFullScreenRenderer(&fullscreenRenderer);
+ document.setFullScreenRenderer(builder, &fullscreenRenderer);
return newFullscreenRenderer;
}
@@ -143,7 +143,7 @@
builder.insertChild(fullscreenRenderer, WTFMove(toMove));
fullscreenRenderer.setNeedsLayoutAndPrefWidthsRecalc();
- document.setFullScreenRenderer(&fullscreenRenderer);
+ document.setFullScreenRenderer(builder, &fullscreenRenderer);
}
void RenderFullScreen::unwrapRenderer(bool& requiresRenderTreeRebuild)
@@ -169,7 +169,7 @@
if (auto* nonAnonymousChild = downcast<RenderBlock>(*child).firstChild())
child = nonAnonymousChild;
else {
- child->removeFromParentAndDestroy();
+ child->removeFromParentAndDestroy(builder);
continue;
}
}
@@ -184,10 +184,10 @@
}
}
if (placeholder())
- placeholder()->removeFromParentAndDestroy();
+ placeholder()->removeFromParentAndDestroy(builder);
ASSERT(!placeholder());
- removeFromParentAndDestroy();
+ removeFromParentAndDestroy(builder);
}
void RenderFullScreen::createPlaceholder(std::unique_ptr<RenderStyle> style, const LayoutRect& frameRect)
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderFullScreen.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderFullScreen.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderFullScreen.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -48,7 +48,7 @@
private:
bool isRenderFullScreen() const override { return true; }
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
bool isFlexibleBoxImpl() const override { return true; }
protected:
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderImage.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderImage.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderImage.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -149,10 +149,10 @@
// Do not add any code here. Add it to willBeDestroyed() instead.
}
-void RenderImage::willBeDestroyed()
+void RenderImage::willBeDestroyed(RenderTreeBuilder& builder)
{
imageResource().shutdown();
- RenderReplaced::willBeDestroyed();
+ RenderReplaced::willBeDestroyed(builder);
}
// If we'll be displaying either alt text or an image, add some padding.
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderImage.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderImage.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderImage.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -77,7 +77,7 @@
bool hasNonBitmapImage() const;
protected:
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
bool needsPreferredWidthsRecalculation() const final;
RenderBox* embeddedContentBox() const final;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderInline.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderInline.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderInline.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -70,7 +70,7 @@
setChildrenInline(true);
}
-void RenderInline::willBeDestroyed()
+void RenderInline::willBeDestroyed(RenderTreeBuilder& builder)
{
#if !ASSERT_DISABLED
// Make sure we do not retain "this" in the continuation outline table map of our containing blocks.
@@ -107,7 +107,7 @@
m_lineBoxes.deleteLineBoxes();
- RenderBoxModelObject::willBeDestroyed();
+ RenderBoxModelObject::willBeDestroyed(builder);
}
void RenderInline::updateFromStyle()
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderInline.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderInline.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderInline.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -97,7 +97,7 @@
void addChildIgnoringContinuation(RenderTreeBuilder&, RenderPtr<RenderObject> newChild, RenderObject* beforeChild = nullptr) final;
protected:
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
void styleWillChange(StyleDifference, const RenderStyle& newStyle) override;
void styleDidChange(StyleDifference, const RenderStyle* oldStyle) override;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderLayerModelObject.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderLayerModelObject.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderLayerModelObject.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -65,7 +65,7 @@
// Do not add any code here. Add it to willBeDestroyed() instead.
}
-void RenderLayerModelObject::willBeDestroyed()
+void RenderLayerModelObject::willBeDestroyed(RenderTreeBuilder& builder)
{
if (isPositioned()) {
if (style().hasViewportConstrainedPosition())
@@ -77,7 +77,7 @@
destroyLayer();
}
- RenderElement::willBeDestroyed();
+ RenderElement::willBeDestroyed(builder);
clearRepaintLayoutRects();
}
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderLayerModelObject.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderLayerModelObject.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderLayerModelObject.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -73,7 +73,7 @@
RenderLayerModelObject(Document&, RenderStyle&&, BaseTypeFlags);
void createLayer();
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
private:
std::unique_ptr<RenderLayer> m_layer;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderListBox.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderListBox.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderListBox.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -104,11 +104,11 @@
// Do not add any code here. Add it to willBeDestroyed() instead.
}
-void RenderListBox::willBeDestroyed()
+void RenderListBox::willBeDestroyed(RenderTreeBuilder& builder)
{
setHasVerticalScrollbar(false);
view().frameView().removeScrollableArea(this);
- RenderBlockFlow::willBeDestroyed();
+ RenderBlockFlow::willBeDestroyed(builder);
}
HTMLSelectElement& RenderListBox::selectElement() const
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderListBox.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderListBox.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderListBox.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -68,7 +68,7 @@
bool scrolledToRight() const override;
private:
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
void element() const = delete;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderListItem.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderListItem.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderListItem.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -54,11 +54,11 @@
// Do not add any code here. Add it to willBeDestroyed() instead.
}
-void RenderListItem::willBeDestroyed()
+void RenderListItem::willBeDestroyed(RenderTreeBuilder& builder)
{
if (m_marker)
- m_marker->removeFromParentAndDestroy();
- RenderBlockFlow::willBeDestroyed();
+ m_marker->removeFromParentAndDestroy(builder);
+ RenderBlockFlow::willBeDestroyed(builder);
}
RenderStyle RenderListItem::computeMarkerStyle() const
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderListItem.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderListItem.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderListItem.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -62,7 +62,7 @@
bool isInReversedOrderedList() const;
private:
- void willBeDestroyed() final;
+ void willBeDestroyed(RenderTreeBuilder&) final;
const char* renderName() const final { return "RenderListItem"; }
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderListMarker.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderListMarker.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderListMarker.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -1134,11 +1134,11 @@
// Do not add any code here. Add it to willBeDestroyed() instead.
}
-void RenderListMarker::willBeDestroyed()
+void RenderListMarker::willBeDestroyed(RenderTreeBuilder& builder)
{
if (m_image)
m_image->removeClient(this);
- RenderBox::willBeDestroyed();
+ RenderBox::willBeDestroyed(builder);
}
void RenderListMarker::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderListMarker.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderListMarker.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderListMarker.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -52,7 +52,7 @@
#endif
private:
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
void element() const = delete;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderMenuList.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderMenuList.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderMenuList.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -89,7 +89,7 @@
// Do not add any code here. Add it to willBeDestroyed() instead.
}
-void RenderMenuList::willBeDestroyed()
+void RenderMenuList::willBeDestroyed(RenderTreeBuilder& builder)
{
#if !PLATFORM(IOS)
if (m_popup)
@@ -97,7 +97,7 @@
m_popup = nullptr;
#endif
- RenderFlexibleBox::willBeDestroyed();
+ RenderFlexibleBox::willBeDestroyed(builder);
}
void RenderMenuList::setInnerRenderer(RenderBlock& innerRenderer)
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderMenuList.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderMenuList.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderMenuList.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -63,7 +63,7 @@
void setInnerRenderer(RenderBlock&);
private:
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
void element() const = delete;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderObject.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderObject.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderObject.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -255,10 +255,10 @@
m_parent = parent;
}
-void RenderObject::removeFromParentAndDestroy()
+void RenderObject::removeFromParentAndDestroy(RenderTreeBuilder& builder)
{
ASSERT(m_parent);
- m_parent->removeAndDestroyChild(*RenderTreeBuilder::current(), *this);
+ m_parent->removeAndDestroyChild(builder, *this);
}
RenderObject* RenderObject::nextInPreOrder() const
@@ -1434,7 +1434,7 @@
|| view().selection().end() == this;
}
-void RenderObject::willBeDestroyed()
+void RenderObject::willBeDestroyed(RenderTreeBuilder&)
{
ASSERT(!m_parent);
ASSERT(renderTreeBeingDestroyed() || !is<RenderElement>(*this) || !view().frameView().hasSlowRepaintObject(downcast<RenderElement>(*this)));
@@ -1485,7 +1485,7 @@
downcast<RenderBoxModelObject>(*this).layer()->willBeDestroyed();
#endif
- willBeDestroyed();
+ willBeDestroyed(*RenderTreeBuilder::current());
if (is<RenderWidget>(*this)) {
downcast<RenderWidget>(*this).deref();
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderObject.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderObject.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderObject.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -63,6 +63,7 @@
class RenderLayerModelObject;
class RenderFragmentContainer;
class RenderTheme;
+class RenderTreeBuilder;
class SelectionRangeData;
class TransformState;
class VisiblePosition;
@@ -752,7 +753,7 @@
void imageChanged(CachedImage*, const IntRect* = nullptr) override;
virtual void imageChanged(WrappedImagePtr, const IntRect* = nullptr) { }
- void removeFromParentAndDestroy();
+ void removeFromParentAndDestroy(RenderTreeBuilder&);
CSSAnimationController& animation() const;
@@ -787,7 +788,7 @@
void adjustRectForOutlineAndShadow(LayoutRect&) const;
- virtual void willBeDestroyed();
+ virtual void willBeDestroyed(RenderTreeBuilder&);
virtual void insertedIntoTree();
virtual void willBeRemovedFromTree();
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderReplaced.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderReplaced.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderReplaced.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -72,12 +72,12 @@
RenderReplaced::~RenderReplaced() = default;
-void RenderReplaced::willBeDestroyed()
+void RenderReplaced::willBeDestroyed(RenderTreeBuilder& builder)
{
if (!renderTreeBeingDestroyed() && parent())
parent()->dirtyLinesFromChangedChild(*this);
- RenderBox::willBeDestroyed();
+ RenderBox::willBeDestroyed(builder);
}
void RenderReplaced::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderReplaced.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderReplaced.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderReplaced.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -67,7 +67,7 @@
bool shouldPaint(PaintInfo&, const LayoutPoint&);
LayoutRect localSelectionRect(bool checkWhetherSelected = true) const; // This is in local coordinates, but it's a physical rect (so the top left corner is physical top left).
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
private:
LayoutUnit computeConstrainedLogicalWidth(ShouldComputePreferred) const;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderRuby.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderRuby.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderRuby.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -109,7 +109,7 @@
ASSERT(child.isBeforeContent() || child.isAfterContent());
auto& parent = *child.parent();
auto takenChild = parent.takeChild(builder, child);
- parent.removeFromParentAndDestroy();
+ parent.removeFromParentAndDestroy(builder);
return takenChild;
}
@@ -148,7 +148,7 @@
ASSERT(child.isBeforeContent() || child.isAfterContent());
auto& parent = *child.parent();
auto takenChild = parent.takeChild(builder, child);
- parent.removeFromParentAndDestroy();
+ parent.removeFromParentAndDestroy(builder);
return takenChild;
}
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderSearchField.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderSearchField.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderSearchField.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -64,7 +64,7 @@
// Do not add any code here. Add it to willBeDestroyed() instead.
}
-void RenderSearchField::willBeDestroyed()
+void RenderSearchField::willBeDestroyed(RenderTreeBuilder& builder)
{
if (m_searchPopup) {
m_searchPopup->popupMenu()->disconnectClient();
@@ -71,7 +71,7 @@
m_searchPopup = nullptr;
}
- RenderTextControlSingleLine::willBeDestroyed();
+ RenderTextControlSingleLine::willBeDestroyed(builder);
}
inline HTMLElement* RenderSearchField::resultsButtonElement() const
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderSearchField.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderSearchField.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderSearchField.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -48,7 +48,7 @@
private:
bool isSearchField() const final { return true; }
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
LayoutUnit computeControlLogicalHeight(LayoutUnit lineHeight, LayoutUnit nonContentHeight) const override;
void updateFromElement() override;
EVisibility visibilityForCancelButton() const;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -63,12 +63,12 @@
// Do not add any code here. Add it to willBeDestroyed() instead.
}
-void RenderSnapshottedPlugIn::willBeDestroyed()
+void RenderSnapshottedPlugIn::willBeDestroyed(RenderTreeBuilder& builder)
{
ASSERT(m_snapshotResource);
m_snapshotResource->shutdown();
- RenderEmbeddedObject::willBeDestroyed();
+ RenderEmbeddedObject::willBeDestroyed(builder);
}
HTMLPlugInImageElement& RenderSnapshottedPlugIn::plugInImageElement() const
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderSnapshottedPlugIn.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderSnapshottedPlugIn.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderSnapshottedPlugIn.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -43,7 +43,7 @@
void handleEvent(Event&);
private:
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
void frameOwnerElement() const = delete;
const char* renderName() const final { return "RenderSnapshottedPlugIn"; }
CursorDirective getCursor(const LayoutPoint&, Cursor&) const final;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderText.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderText.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderText.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -287,7 +287,7 @@
m_lineBoxes.deleteAll();
}
-void RenderText::willBeDestroyed()
+void RenderText::willBeDestroyed(RenderTreeBuilder& builder)
{
secureTextTimers().remove(this);
@@ -298,7 +298,7 @@
setInlineWrapperForDisplayContents(nullptr);
- RenderObject::willBeDestroyed();
+ RenderObject::willBeDestroyed(builder);
}
void RenderText::deleteLineBoxesBeforeSimpleLineLayout()
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderText.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderText.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderText.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -183,7 +183,7 @@
protected:
virtual void computePreferredLogicalWidths(float leadWidth);
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
virtual void setRenderedText(const String&);
virtual UChar previousCharacter() const;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderTextControlMultiLine.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderTextControlMultiLine.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderTextControlMultiLine.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -45,12 +45,12 @@
// Do not add any code here. Add it to willBeDestroyed() instead.
}
-void RenderTextControlMultiLine::willBeDestroyed()
+void RenderTextControlMultiLine::willBeDestroyed(RenderTreeBuilder& builder)
{
if (textAreaElement().isConnected())
textAreaElement().rendererWillBeDestroyed();
- RenderTextControl::willBeDestroyed();
+ RenderTextControl::willBeDestroyed(builder);
}
HTMLTextAreaElement& RenderTextControlMultiLine::textAreaElement() const
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderTextControlMultiLine.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderTextControlMultiLine.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderTextControlMultiLine.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -35,7 +35,7 @@
HTMLTextAreaElement& textAreaElement() const;
private:
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
void element() const = delete;
bool isTextArea() const override { return true; }
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderTextFragment.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderTextFragment.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderTextFragment.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -26,6 +26,7 @@
#include "RenderBlock.h"
#include "RenderIterator.h"
#include "RenderMultiColumnFlow.h"
+#include "RenderTreeBuilder.h"
#include "Text.h"
#include <wtf/IsoMallocInlines.h>
@@ -73,11 +74,11 @@
block->mutableStyle().removeCachedPseudoStyle(FIRST_LETTER);
}
-void RenderTextFragment::willBeDestroyed()
+void RenderTextFragment::willBeDestroyed(RenderTreeBuilder& builder)
{
if (m_firstLetter)
- m_firstLetter->removeFromParentAndDestroy();
- RenderText::willBeDestroyed();
+ m_firstLetter->removeFromParentAndDestroy(builder);
+ RenderText::willBeDestroyed(builder);
}
void RenderTextFragment::setText(const String& newText, bool force)
@@ -87,7 +88,12 @@
m_end = text().length();
if (!m_firstLetter)
return;
- m_firstLetter->removeFromParentAndDestroy();
+ if (RenderTreeBuilder::current())
+ m_firstLetter->removeFromParentAndDestroy(*RenderTreeBuilder::current());
+ else {
+ RenderTreeBuilder builder(*document().renderView());
+ m_firstLetter->removeFromParentAndDestroy(builder);
+ }
ASSERT(!m_firstLetter);
ASSERT(!textNode() || textNode()->renderer() == this);
}
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderTextFragment.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderTextFragment.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderTextFragment.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -60,7 +60,7 @@
private:
bool isTextFragment() const override { return true; }
void styleDidChange(StyleDifference, const RenderStyle* oldStyle) override;
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
UChar previousCharacter() const override;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderVideo.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderVideo.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderVideo.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -62,12 +62,12 @@
// Do not add any code here. Add it to willBeDestroyed() instead.
}
-void RenderVideo::willBeDestroyed()
+void RenderVideo::willBeDestroyed(RenderTreeBuilder& builder)
{
if (auto player = videoElement().player())
player->setVisible(false);
- RenderMedia::willBeDestroyed();
+ RenderMedia::willBeDestroyed(builder);
}
void RenderVideo::visibleInViewportStateChanged()
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderVideo.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderVideo.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderVideo.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -54,7 +54,7 @@
void updateFromElement() final;
private:
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
void mediaElement() const = delete;
void intrinsicSizeChanged() final;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderView.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderView.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderView.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -611,9 +611,9 @@
return frameView().isScrollable(defineScrollable);
}
-void RenderView::willBeDestroyed()
+void RenderView::willBeDestroyed(RenderTreeBuilder& builder)
{
- RenderBlockFlow::willBeDestroyed();
+ RenderBlockFlow::willBeDestroyed(builder);
// FIXME: This is a workaround for leftover content (see webkit.org/b/182547).
if (firstChild()) {
RenderTreeBuilder builder(*this);
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderView.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderView.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderView.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -214,7 +214,7 @@
bool isScrollableOrRubberbandableBox() const override;
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
private:
FrameView& m_frameView;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderWidget.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderWidget.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderWidget.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -88,7 +88,7 @@
setInline(false);
}
-void RenderWidget::willBeDestroyed()
+void RenderWidget::willBeDestroyed(RenderTreeBuilder& builder)
{
#if PLATFORM(IOS)
if (hasLayer())
@@ -102,7 +102,7 @@
setWidget(nullptr);
- RenderReplaced::willBeDestroyed();
+ RenderReplaced::willBeDestroyed(builder);
}
RenderWidget::~RenderWidget()
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderWidget.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderWidget.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderWidget.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -77,7 +77,7 @@
protected:
RenderWidget(HTMLFrameOwnerElement&, RenderStyle&&);
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
void styleDidChange(StyleDifference, const RenderStyle* oldStyle) final;
void layout() override;
void paint(PaintInfo&, const LayoutPoint&) override;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGBlock.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGBlock.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGBlock.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -71,10 +71,10 @@
ASSERT_NOT_REACHED();
}
-void RenderSVGBlock::willBeDestroyed()
+void RenderSVGBlock::willBeDestroyed(RenderTreeBuilder& builder)
{
SVGResourcesCache::clientDestroyed(*this);
- RenderBlockFlow::willBeDestroyed();
+ RenderBlockFlow::willBeDestroyed(builder);
}
void RenderSVGBlock::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGBlock.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGBlock.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGBlock.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -35,7 +35,7 @@
protected:
RenderSVGBlock(SVGGraphicsElement&, RenderStyle&&);
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
private:
void element() const = delete;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGImage.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGImage.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGImage.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -57,10 +57,10 @@
RenderSVGImage::~RenderSVGImage() = default;
-void RenderSVGImage::willBeDestroyed()
+void RenderSVGImage::willBeDestroyed(RenderTreeBuilder& builder)
{
imageResource().shutdown();
- RenderSVGModelObject::willBeDestroyed();
+ RenderSVGModelObject::willBeDestroyed(builder);
}
SVGImageElement& RenderSVGImage::imageElement() const
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGImage.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGImage.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGImage.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -52,7 +52,7 @@
void paintForeground(PaintInfo&);
private:
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
void element() const = delete;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGInline.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGInline.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGInline.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -101,10 +101,10 @@
quads.append(localToAbsoluteQuad(FloatRect(textBoundingBox.x() + box->x(), textBoundingBox.y() + box->y(), box->logicalWidth(), box->logicalHeight()), UseTransforms, wasFixed));
}
-void RenderSVGInline::willBeDestroyed()
+void RenderSVGInline::willBeDestroyed(RenderTreeBuilder& builder)
{
SVGResourcesCache::clientDestroyed(*this);
- RenderInline::willBeDestroyed();
+ RenderInline::willBeDestroyed(builder);
}
void RenderSVGInline::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGInline.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGInline.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGInline.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -58,7 +58,7 @@
std::unique_ptr<InlineFlowBox> createInlineFlowBox() final;
- void willBeDestroyed() final;
+ void willBeDestroyed(RenderTreeBuilder&) final;
void styleDidChange(StyleDifference, const RenderStyle* oldStyle) final;
void addChild(RenderTreeBuilder&, RenderPtr<RenderObject> child, RenderObject* beforeChild = nullptr) final;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -92,10 +92,10 @@
quads.append(localToAbsoluteQuad(strokeBoundingBox(), UseTransforms, wasFixed));
}
-void RenderSVGModelObject::willBeDestroyed()
+void RenderSVGModelObject::willBeDestroyed(RenderTreeBuilder& builder)
{
SVGResourcesCache::clientDestroyed(*this);
- RenderElement::willBeDestroyed();
+ RenderElement::willBeDestroyed(builder);
}
void RenderSVGModelObject::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGModelObject.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGModelObject.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGModelObject.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -69,7 +69,7 @@
protected:
RenderSVGModelObject(SVGElement&, RenderStyle&&);
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
private:
bool isRenderSVGModelObject() const final { return true; }
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGResourceContainer.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGResourceContainer.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGResourceContainer.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -55,7 +55,7 @@
RenderSVGHiddenContainer::layout();
}
-void RenderSVGResourceContainer::willBeDestroyed()
+void RenderSVGResourceContainer::willBeDestroyed(RenderTreeBuilder& builder)
{
SVGResourcesCache::resourceDestroyed(*this);
@@ -64,7 +64,7 @@
m_registered = false;
}
- RenderSVGHiddenContainer::willBeDestroyed();
+ RenderSVGHiddenContainer::willBeDestroyed(builder);
}
void RenderSVGResourceContainer::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGResourceContainer.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGResourceContainer.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGResourceContainer.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -67,7 +67,7 @@
void addClient(RenderElement&);
void removeClient(RenderElement&);
- void willBeDestroyed() final;
+ void willBeDestroyed(RenderTreeBuilder&) final;
void registerResource();
AtomicString m_id;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGRoot.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGRoot.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGRoot.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -270,12 +270,12 @@
childPaintInfo.context().restore();
}
-void RenderSVGRoot::willBeDestroyed()
+void RenderSVGRoot::willBeDestroyed(RenderTreeBuilder& builder)
{
RenderBlock::removePercentHeightDescendant(const_cast<RenderSVGRoot&>(*this));
SVGResourcesCache::clientDestroyed(*this);
- RenderReplaced::willBeDestroyed();
+ RenderReplaced::willBeDestroyed(builder);
}
void RenderSVGRoot::insertedIntoTree()
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGRoot.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGRoot.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGRoot.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -76,7 +76,7 @@
void layout() override;
void paintReplaced(PaintInfo&, const LayoutPoint&) override;
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
void insertedIntoTree() override;
void willBeRemovedFromTree() override;
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGText.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGText.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGText.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -225,12 +225,12 @@
#endif
}
-void RenderSVGText::willBeDestroyed()
+void RenderSVGText::willBeDestroyed(RenderTreeBuilder& builder)
{
m_layoutAttributes.clear();
m_layoutAttributesBuilder.clearTextPositioningElements();
- RenderSVGBlock::willBeDestroyed();
+ RenderSVGBlock::willBeDestroyed(builder);
}
void RenderSVGText::subtreeChildWillBeRemoved(RenderObject* child, Vector<SVGTextLayoutAttributes*, 2>& affectedAttributes)
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGText.h (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGText.h 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/svg/RenderSVGText.h 2018-02-19 16:06:10 UTC (rev 228686)
@@ -85,7 +85,7 @@
const RenderObject* pushMappingToContainer(const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&) const override;
void addChild(RenderTreeBuilder&, RenderPtr<RenderObject> child, RenderObject* beforeChild = nullptr) override;
RenderPtr<RenderObject> takeChild(RenderTreeBuilder&, RenderObject&) override;
- void willBeDestroyed() override;
+ void willBeDestroyed(RenderTreeBuilder&) override;
const AffineTransform& localToParentTransform() const override { return m_localTransform; }
AffineTransform localTransform() const override { return m_localTransform; }
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -385,7 +385,7 @@
{
// If the tree is destroyed, there is no need for a clean-up phase.
if (child.renderTreeBeingDestroyed()) {
- child.removeFromParentAndDestroy();
+ child.removeFromParentAndDestroy(*this);
return;
}
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilderList.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilderList.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilderList.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -80,7 +80,7 @@
if (style.listStyleType() == NoneListStyle && (!style.listStyleImage() || style.listStyleImage()->errorOccurred())) {
if (auto* marker = listItemRenderer.markerRenderer())
- marker->removeFromParentAndDestroy();
+ marker->removeFromParentAndDestroy(m_builder);
return;
}
@@ -121,7 +121,7 @@
// If current parent is an anonymous block that has lost all its children, destroy it.
if (currentParent && currentParent->isAnonymousBlock() && !currentParent->firstChild() && !downcast<RenderBlock>(*currentParent).continuation())
- currentParent->removeFromParentAndDestroy();
+ currentParent->removeFromParentAndDestroy(m_builder);
}
}
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilderMultiColumn.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilderMultiColumn.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilderMultiColumn.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -211,11 +211,11 @@
parentAndSpannerList.append(std::make_pair(spannerOriginalParent, spanner->parent()->takeChild(m_builder, *spanner)));
}
while (auto* columnSet = multiColumnFlow.firstMultiColumnSet())
- columnSet->removeFromParentAndDestroy();
+ columnSet->removeFromParentAndDestroy(m_builder);
flow.clearMultiColumnFlow();
multiColumnFlow.moveAllChildrenTo(m_builder, &flow, RenderBoxModelObject::NormalizeAfterInsertion::Yes);
- multiColumnFlow.removeFromParentAndDestroy();
+ multiColumnFlow.removeFromParentAndDestroy(m_builder);
for (auto& parentAndSpanner : parentAndSpannerList)
m_builder.insertChild(*parentAndSpanner.first, WTFMove(parentAndSpanner.second));
}
@@ -371,13 +371,13 @@
{
// The placeholder may already have been removed, but if it hasn't, do so now.
if (auto placeholder = flow.spannerMap().take(&downcast<RenderBox>(spanner)))
- placeholder->removeFromParentAndDestroy();
+ placeholder->removeFromParentAndDestroy(m_builder);
if (auto* next = spanner.nextSibling()) {
if (auto* previous = spanner.previousSibling()) {
if (previous->isRenderMultiColumnSet() && next->isRenderMultiColumnSet()) {
// Merge two sets that no longer will be separated by a spanner.
- next->removeFromParentAndDestroy();
+ next->removeFromParentAndDestroy(m_builder);
previous->setNeedsLayout();
}
}
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilderRuby.cpp (228685 => 228686)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilderRuby.cpp 2018-02-19 15:51:54 UTC (rev 228685)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilderRuby.cpp 2018-02-19 16:06:10 UTC (rev 228686)
@@ -157,7 +157,7 @@
auto* anonBlockThere = downcast<RenderBlock>(lastChildThere);
anonBlockHere->moveAllChildrenTo(m_builder, anonBlockThere, RenderBoxModelObject::NormalizeAfterInsertion::Yes);
anonBlockHere->deleteLines();
- anonBlockHere->removeFromParentAndDestroy();
+ anonBlockHere->removeFromParentAndDestroy(m_builder);
}
// Move all remaining children normally.
from.moveChildrenTo(m_builder, &to, from.firstChild(), beforeChild, RenderBoxModelObject::NormalizeAfterInsertion::No);