Modified: trunk/Source/WebCore/ChangeLog (226236 => 226237)
--- trunk/Source/WebCore/ChangeLog 2017-12-21 20:35:21 UTC (rev 226236)
+++ trunk/Source/WebCore/ChangeLog 2017-12-21 20:59:12 UTC (rev 226237)
@@ -1,3 +1,13 @@
+2017-12-21 Zalan Bujtas <[email protected]>
+
+ [RenderTreeBuilder] Move repeating code to RenderTreeBuilder::insertInternal
+ https://bugs.webkit.org/show_bug.cgi?id=181094
+
+ Reviewed by Antti Koivisto.
+
+ * rendering/updating/RenderTreeBuilder.cpp:
+ (WebCore::RenderTreeBuilder::insertChild):
+
2017-12-21 Jeremy Jones <[email protected]>
Build fix after r226223
Modified: trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp (226236 => 226237)
--- trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp 2017-12-21 20:35:21 UTC (rev 226236)
+++ trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp 2017-12-21 20:59:12 UTC (rev 226237)
@@ -62,6 +62,14 @@
void RenderTreeBuilder::insertChild(RenderElement& parent, RenderPtr<RenderObject> child, RenderObject* beforeChild)
{
+ auto insertRecursiveIfNeeded = [&](RenderElement& parentCandidate) {
+ if (&parent == &parentCandidate) {
+ parent.addChild(*this, WTFMove(child), beforeChild);
+ return;
+ }
+ insertChild(parentCandidate, WTFMove(child), beforeChild);
+ };
+
ASSERT(&parent.view() == &m_view);
if (is<RenderText>(beforeChild)) {
@@ -70,32 +78,17 @@
}
if (is<RenderTableRow>(parent)) {
- auto& parentCandidate = tableBuilder().findOrCreateParentForChild(downcast<RenderTableRow>(parent), *child, beforeChild);
- if (&parent != &parentCandidate) {
- insertChild(parentCandidate, WTFMove(child), beforeChild);
- return;
- }
- parent.addChild(*this, WTFMove(child), beforeChild);
+ insertRecursiveIfNeeded(tableBuilder().findOrCreateParentForChild(downcast<RenderTableRow>(parent), *child, beforeChild));
return;
}
if (is<RenderTableSection>(parent)) {
- auto& parentCandidate = tableBuilder().findOrCreateParentForChild(downcast<RenderTableSection>(parent), *child, beforeChild);
- if (&parent != &parentCandidate) {
- insertChild(parentCandidate, WTFMove(child), beforeChild);
- return;
- }
- parent.addChild(*this, WTFMove(child), beforeChild);
+ insertRecursiveIfNeeded(tableBuilder().findOrCreateParentForChild(downcast<RenderTableSection>(parent), *child, beforeChild));
return;
}
if (is<RenderTable>(parent)) {
- auto& parentCandidate = tableBuilder().findOrCreateParentForChild(downcast<RenderTable>(parent), *child, beforeChild);
- if (&parent != &parentCandidate) {
- insertChild(parentCandidate, WTFMove(child), beforeChild);
- return;
- }
- parent.addChild(*this, WTFMove(child), beforeChild);
+ insertRecursiveIfNeeded(tableBuilder().findOrCreateParentForChild(downcast<RenderTable>(parent), *child, beforeChild));
return;
}