Index: Source/core/rendering/RenderView.cpp |
diff --git a/Source/core/rendering/RenderView.cpp b/Source/core/rendering/RenderView.cpp |
index daaca7672da57e2e6242d5aec8c9ab8d328a4d8e..c257d333486830b065e532efd36ba4c215fab8d2 100644 |
--- a/Source/core/rendering/RenderView.cpp |
+++ b/Source/core/rendering/RenderView.cpp |
@@ -542,7 +542,7 @@ static RenderObject* rendererAfterPosition(RenderObject* object, unsigned offset |
IntRect RenderView::selectionBounds(bool clipToVisibleContent) const |
{ |
- typedef HashMap<RenderObject*, OwnPtr<RenderSelectionInfo> > SelectionMap; |
+ typedef WillBeHeapHashMap<RawPtrWillBeMember<RenderObject>, OwnPtrWillBeMember<RenderSelectionInfo> > SelectionMap; |
SelectionMap selectedObjects; |
RenderObject* os = m_selectionStart; |
@@ -550,13 +550,13 @@ IntRect RenderView::selectionBounds(bool clipToVisibleContent) const |
while (os && os != stop) { |
if ((os->canBeSelectionLeaf() || os == m_selectionStart || os == m_selectionEnd) && os->selectionState() != SelectionNone) { |
// Blocks are responsible for painting line gaps and margin gaps. They must be examined as well. |
- selectedObjects.set(os, adoptPtr(new RenderSelectionInfo(os, clipToVisibleContent))); |
+ selectedObjects.set(os, adoptPtrWillBeNoop(new RenderSelectionInfo(os, clipToVisibleContent))); |
RenderBlock* cb = os->containingBlock(); |
while (cb && !cb->isRenderView()) { |
- OwnPtr<RenderSelectionInfo>& blockInfo = selectedObjects.add(cb, nullptr).storedValue->value; |
+ OwnPtrWillBeMember<RenderSelectionInfo>& blockInfo = selectedObjects.add(cb, nullptr).storedValue->value; |
if (blockInfo) |
break; |
- blockInfo = adoptPtr(new RenderSelectionInfo(cb, clipToVisibleContent)); |
+ blockInfo = adoptPtrWillBeNoop(new RenderSelectionInfo(cb, clipToVisibleContent)); |
cb = cb->containingBlock(); |
} |
} |
@@ -646,14 +646,14 @@ void RenderView::setSelection(RenderObject* start, int startPos, RenderObject* e |
int oldEndPos = m_selectionEndPos; |
// Objects each have a single selection rect to examine. |
- typedef HashMap<RenderObject*, OwnPtr<RenderSelectionInfo> > SelectedObjectMap; |
+ typedef WillBeHeapHashMap<RawPtrWillBeMember<RenderObject>, OwnPtrWillBeMember<RenderSelectionInfo> > SelectedObjectMap; |
SelectedObjectMap oldSelectedObjects; |
SelectedObjectMap newSelectedObjects; |
// Blocks contain selected objects and fill gaps between them, either on the left, right, or in between lines and blocks. |
// In order to get the repaint rect right, we have to examine left, middle, and right rects individually, since otherwise |
// the union of those rects might remain the same even when changes have occurred. |
- typedef HashMap<RenderBlock*, OwnPtr<RenderBlockSelectionInfo> > SelectedBlockMap; |
+ typedef WillBeHeapHashMap<RawPtrWillBeMember<RenderBlock>, OwnPtrWillBeMember<RenderBlockSelectionInfo> > SelectedBlockMap; |
SelectedBlockMap oldSelectedBlocks; |
SelectedBlockMap newSelectedBlocks; |
@@ -664,14 +664,14 @@ void RenderView::setSelection(RenderObject* start, int startPos, RenderObject* e |
while (continueExploring) { |
if ((os->canBeSelectionLeaf() || os == m_selectionStart || os == m_selectionEnd) && os->selectionState() != SelectionNone) { |
// Blocks are responsible for painting line gaps and margin gaps. They must be examined as well. |
- oldSelectedObjects.set(os, adoptPtr(new RenderSelectionInfo(os, true))); |
+ oldSelectedObjects.set(os, adoptPtrWillBeNoop(new RenderSelectionInfo(os, true))); |
if (blockRepaintMode == RepaintNewXOROld) { |
RenderBlock* cb = os->containingBlock(); |
while (cb && !cb->isRenderView()) { |
- OwnPtr<RenderBlockSelectionInfo>& blockInfo = oldSelectedBlocks.add(cb, nullptr).storedValue->value; |
+ OwnPtrWillBeMember<RenderBlockSelectionInfo>& blockInfo = oldSelectedBlocks.add(cb, nullptr).storedValue->value; |
if (blockInfo) |
break; |
- blockInfo = adoptPtr(new RenderBlockSelectionInfo(cb)); |
+ blockInfo = adoptPtrWillBeNoop(new RenderBlockSelectionInfo(cb)); |
cb = cb->containingBlock(); |
} |
} |
@@ -720,13 +720,13 @@ void RenderView::setSelection(RenderObject* start, int startPos, RenderObject* e |
continueExploring = o && (o != stop); |
while (continueExploring) { |
if ((o->canBeSelectionLeaf() || o == start || o == end) && o->selectionState() != SelectionNone) { |
- newSelectedObjects.set(o, adoptPtr(new RenderSelectionInfo(o, true))); |
+ newSelectedObjects.set(o, adoptPtrWillBeNoop(new RenderSelectionInfo(o, true))); |
RenderBlock* cb = o->containingBlock(); |
while (cb && !cb->isRenderView()) { |
- OwnPtr<RenderBlockSelectionInfo>& blockInfo = newSelectedBlocks.add(cb, nullptr).storedValue->value; |
+ OwnPtrWillBeMember<RenderBlockSelectionInfo>& blockInfo = newSelectedBlocks.add(cb, nullptr).storedValue->value; |
if (blockInfo) |
break; |
- blockInfo = adoptPtr(new RenderBlockSelectionInfo(cb)); |
+ blockInfo = adoptPtrWillBeNoop(new RenderBlockSelectionInfo(cb)); |
cb = cb->containingBlock(); |
} |
} |