Title: [227541] branches/safari-605-branch/Source/WebCore
- Revision
- 227541
- Author
- jmarc...@apple.com
- Date
- 2018-01-24 12:15:49 -0800 (Wed, 24 Jan 2018)
Log Message
Cherry-pick r227525. rdar://problem/36830360
Modified Paths
Diff
Modified: branches/safari-605-branch/Source/WebCore/ChangeLog (227540 => 227541)
--- branches/safari-605-branch/Source/WebCore/ChangeLog 2018-01-24 20:15:47 UTC (rev 227540)
+++ branches/safari-605-branch/Source/WebCore/ChangeLog 2018-01-24 20:15:49 UTC (rev 227541)
@@ -1,5 +1,24 @@
2018-01-24 Jason Marcell <jmarc...@apple.com>
+ Cherry-pick r227525. rdar://problem/36830360
+
+ 2018-01-24 Antti Koivisto <an...@apple.com>
+
+ RenderBlockRareData::m_enclosingFragmentedFlow should be WeakPtr
+ https://bugs.webkit.org/show_bug.cgi?id=182045
+ <rdar://problem/36334787>
+
+ Reviewed by Zalan Bujtas.
+
+ For safety.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::cachedEnclosingFragmentedFlow const):
+ (WebCore::RenderBlock::updateCachedEnclosingFragmentedFlow const):
+ (WebCore::RenderBlock::locateEnclosingFragmentedFlow const):
+
+2018-01-24 Jason Marcell <jmarc...@apple.com>
+
Cherry-pick r227524. rdar://problem/36830369
2018-01-23 Dean Jackson <d...@apple.com>
Modified: branches/safari-605-branch/Source/WebCore/rendering/RenderBlock.cpp (227540 => 227541)
--- branches/safari-605-branch/Source/WebCore/rendering/RenderBlock.cpp 2018-01-24 20:15:47 UTC (rev 227540)
+++ branches/safari-605-branch/Source/WebCore/rendering/RenderBlock.cpp 2018-01-24 20:15:49 UTC (rev 227541)
@@ -253,7 +253,7 @@
LayoutUnit m_pageLogicalOffset;
LayoutUnit m_intrinsicBorderForFieldset;
- std::optional<RenderFragmentedFlow*> m_enclosingFragmentedFlow;
+ std::optional<WeakPtr<RenderFragmentedFlow>> m_enclosingFragmentedFlow;
};
typedef HashMap<const RenderBlock*, std::unique_ptr<RenderBlockRareData>> RenderBlockRareDataMap;
@@ -3067,7 +3067,7 @@
if (!rareData || !rareData->m_enclosingFragmentedFlow)
return nullptr;
- return rareData->m_enclosingFragmentedFlow.value();
+ return rareData->m_enclosingFragmentedFlow.value().get();
}
bool RenderBlock::cachedEnclosingFragmentedFlowNeedsUpdate() const
@@ -3089,7 +3089,7 @@
RenderFragmentedFlow* RenderBlock::updateCachedEnclosingFragmentedFlow(RenderFragmentedFlow* fragmentedFlow) const
{
RenderBlockRareData& rareData = ensureBlockRareData(*this);
- rareData.m_enclosingFragmentedFlow = fragmentedFlow;
+ rareData.m_enclosingFragmentedFlow = makeWeakPtr(fragmentedFlow);
return fragmentedFlow;
}
@@ -3101,7 +3101,7 @@
return updateCachedEnclosingFragmentedFlow(RenderBox::locateEnclosingFragmentedFlow());
ASSERT(rareData->m_enclosingFragmentedFlow.value() == RenderBox::locateEnclosingFragmentedFlow());
- return rareData->m_enclosingFragmentedFlow.value();
+ return rareData->m_enclosingFragmentedFlow.value().get();
}
void RenderBlock::resetEnclosingFragmentedFlowAndChildInfoIncludingDescendants(RenderFragmentedFlow*)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes