Diff
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/ChangeLog (228758 => 228759)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/ChangeLog 2018-02-20 08:51:43 UTC (rev 228758)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/ChangeLog 2018-02-20 09:07:14 UTC (rev 228759)
@@ -1,3 +1,26 @@
+2018-02-13 Zalan Bujtas <za...@apple.com>
+
+ [RenderTreeBuilder] Move RenderBlock::takeChild() to RenderTreeBuilder
+ https://bugs.webkit.org/show_bug.cgi?id=182746
+ <rdar://problem/37512871>
+
+ Reviewed by Antti Koivisto.
+
+ No change in functionality.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::takeChild): Deleted.
+ * rendering/RenderBlock.h:
+ * rendering/updating/RenderTreeBuilder.cpp:
+ (WebCore::RenderTreeBuilder::takeChild):
+ (WebCore::RenderTreeBuilder::takeChildFromRenderMenuList):
+ (WebCore::RenderTreeBuilder::takeChildFromRenderButton):
+ (WebCore::RenderTreeBuilder::takeChildFromRenderGrid):
+ (WebCore::RenderTreeBuilder::takeChildFromRenderBlock): Deleted.
+ * rendering/updating/RenderTreeBuilder.h:
+ * rendering/updating/RenderTreeBuilderBlock.cpp:
+ (WebCore::RenderTreeBuilder::Block::takeChild):
+
2018-02-13 Antti Koivisto <an...@apple.com>
Crash when breakpoint hit in unload handler
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBlock.cpp (228758 => 228759)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBlock.cpp 2018-02-20 08:51:43 UTC (rev 228758)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBlock.cpp 2018-02-20 09:07:14 UTC (rev 228759)
@@ -482,11 +482,6 @@
cache->deferRecomputeIsIgnored(element());
}
-RenderPtr<RenderObject> RenderBlock::takeChild(RenderTreeBuilder& builder, RenderObject& oldChild)
-{
- return builder.takeChildFromRenderBlock(*this, oldChild);
-}
-
bool RenderBlock::childrenPreventSelfCollapsing() const
{
// Whether or not we collapse is dependent on whether all our normal flow children
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBlock.h (228758 => 228759)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBlock.h 2018-02-20 08:51:43 UTC (rev 228758)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/RenderBlock.h 2018-02-20 09:07:14 UTC (rev 228759)
@@ -74,7 +74,6 @@
virtual void deleteLines();
void addChild(RenderTreeBuilder&, RenderPtr<RenderObject> newChild, RenderObject* beforeChild = 0) override;
- RenderPtr<RenderObject> takeChild(RenderTreeBuilder&, RenderObject&) override;
virtual void layoutBlock(bool relayoutChildren, LayoutUnit pageLogicalHeight = 0);
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp (228758 => 228759)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp 2018-02-20 08:51:43 UTC (rev 228758)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp 2018-02-20 09:07:14 UTC (rev 228759)
@@ -227,6 +227,9 @@
if (is<RenderBlockFlow>(parent))
return blockBuilder().takeChild(downcast<RenderBlockFlow>(parent), child);
+ if (is<RenderBlock>(parent))
+ return blockBuilder().takeChild(downcast<RenderBlock>(parent), child);
+
return parent.takeChild(*this, child);
}
@@ -514,11 +517,6 @@
mathMLBuilder().insertChild(parent, WTFMove(child), beforeChild);
}
-RenderPtr<RenderObject> RenderTreeBuilder::takeChildFromRenderBlock(RenderBlock& parent, RenderObject& oldChild)
-{
- return blockBuilder().takeChild(parent, oldChild);
-}
-
void RenderTreeBuilder::updateAfterDescendants(RenderElement& renderer)
{
if (is<RenderBlock>(renderer))
@@ -538,7 +536,7 @@
{
auto* innerRenderer = parent.innerRenderer();
if (!innerRenderer || &child == innerRenderer)
- return parent.RenderBlock::takeChild(*this, child);
+ return blockBuilder().takeChild(parent, child);
return takeChild(*innerRenderer, child);
}
@@ -547,7 +545,7 @@
auto* innerRenderer = parent.innerRenderer();
if (!innerRenderer || &child == innerRenderer || child.parent() == &parent) {
ASSERT(&child == innerRenderer || !innerRenderer);
- return parent.RenderBlock::takeChild(*this, child);
+ return blockBuilder().takeChild(parent, child);
}
return takeChild(*innerRenderer, child);
}
@@ -554,7 +552,7 @@
RenderPtr<RenderObject> RenderTreeBuilder::takeChildFromRenderGrid(RenderGrid& parent, RenderObject& child)
{
- auto takenChild = parent.RenderBlock::takeChild(*this, child);
+ auto takenChild = blockBuilder().takeChild(parent, child);
// Positioned grid items do not take up space or otherwise participate in the layout of the grid,
// for that reason we don't need to mark the grid as dirty when they are removed.
if (child.isOutOfFlowPositioned())
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilder.h (228758 => 228759)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilder.h 2018-02-20 08:51:43 UTC (rev 228758)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilder.h 2018-02-20 09:07:14 UTC (rev 228759)
@@ -78,8 +78,6 @@
void insertChildToRenderTableRow(RenderTableRow& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild = nullptr);
void insertChildToRenderMathMLFenced(RenderMathMLFenced& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild = nullptr);
- RenderPtr<RenderObject> takeChildFromRenderBlock(RenderBlock& parent, RenderObject& oldChild);
-
bool childRequiresTable(const RenderElement& parent, const RenderObject& child);
void makeChildrenNonInline(RenderBlock& parent, RenderObject* insertionPoint = nullptr);
RenderObject* splitAnonymousBoxesAroundChild(RenderBox& parent, RenderObject* beforeChild);
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp (228758 => 228759)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp 2018-02-20 08:51:43 UTC (rev 228758)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp 2018-02-20 09:07:14 UTC (rev 228759)
@@ -373,7 +373,7 @@
if (fragmentedFlow && fragmentedFlow != &child)
m_builder.multiColumnBuilder().multiColumnRelativeWillBeRemoved(*fragmentedFlow, child);
}
- return parent.RenderBlock::takeChild(m_builder, child);
+ return takeChild(static_cast<RenderBlock&>(parent), child);
}
}