Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1107)

Unified Diff: Source/web/TextFinder.cpp

Issue 224113002: Oilpan: move Range object to the oilpan heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Use STACK_ALLOCATED() + incorporate ager's overview of macros in this area. Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/web/TextFinder.cpp
diff --git a/Source/web/TextFinder.cpp b/Source/web/TextFinder.cpp
index 27b9c6333023ba897af6815f4b2671ca9458173d..94f7d68cb17bc2a051c902423f7df91d138cfdfa 100644
--- a/Source/web/TextFinder.cpp
+++ b/Source/web/TextFinder.cpp
@@ -54,12 +54,17 @@ using namespace WebCore;
namespace blink {
-TextFinder::FindMatch::FindMatch(PassRefPtr<Range> range, int ordinal)
+TextFinder::FindMatch::FindMatch(PassRefPtrWillBeRawPtr<Range> range, int ordinal)
: m_range(range)
, m_ordinal(ordinal)
{
}
+void TextFinder::FindMatch::trace(WebCore::Visitor* visitor)
+{
+ visitor->trace(m_range);
+}
+
class TextFinder::DeferredScopeStringMatches {
public:
DeferredScopeStringMatches(TextFinder* textFinder, int identifier, const WebString& searchText, const WebFindOptions& options, bool reset)
@@ -228,7 +233,7 @@ void TextFinder::scopeStringMatches(int identifier, const WebString& searchText,
}
WebFrameImpl* mainFrameImpl = m_ownerFrame.viewImpl()->mainFrameImpl();
- RefPtr<Range> searchRange(rangeOfContents(m_ownerFrame.frame()->document()));
+ RefPtrWillBeRawPtr<Range> searchRange(rangeOfContents(m_ownerFrame.frame()->document()));
Node* originalEndContainer = searchRange->endContainer();
int originalEndOffset = searchRange->endOffset();
@@ -259,7 +264,7 @@ void TextFinder::scopeStringMatches(int identifier, const WebString& searchText,
// than the timeout value, and is not interruptible as it is currently
// written. We may need to rewrite it with interruptibility in mind, or
// find an alternative.
- RefPtr<Range> resultRange(findPlainText(
+ RefPtrWillBeRawPtr<Range> resultRange(findPlainText(
searchRange.get(), searchText, options.matchCase ? 0 : CaseInsensitive));
if (resultRange->collapsed(exceptionState)) {
if (!resultRange->startContainer()->isInShadowTree())
@@ -453,7 +458,7 @@ void TextFinder::updateFindMatchRects()
// Remove any invalid matches from the cache.
if (deadMatches) {
- Vector<FindMatch> filteredMatches;
+ WillBeHeapVector<FindMatch> filteredMatches;
filteredMatches.reserveCapacity(m_findMatchesCache.size() - deadMatches);
for (Vector<FindMatch>::const_iterator it = m_findMatchesCache.begin(); it != m_findMatchesCache.end(); ++it) {
@@ -546,7 +551,7 @@ int TextFinder::selectFindMatch(unsigned index, WebRect* selectionRect)
{
ASSERT_WITH_SECURITY_IMPLICATION(index < m_findMatchesCache.size());
- RefPtr<Range> range = m_findMatchesCache[index].m_range;
+ RefPtrWillBeRawPtr<Range> range = m_findMatchesCache[index].m_range;
if (!range->boundaryPointsValid() || !range->startContainer()->inDocument())
return -1;

Powered by Google App Engine
This is Rietveld 408576698