Index: Source/core/editing/SpellChecker.cpp |
diff --git a/Source/core/editing/SpellChecker.cpp b/Source/core/editing/SpellChecker.cpp |
index 770ce9307d52dffff2280cf3f290ceaf1eaa96ca..c36f91c893f60e1193109b44ea58c2bee31ecaf2 100644 |
--- a/Source/core/editing/SpellChecker.cpp |
+++ b/Source/core/editing/SpellChecker.cpp |
@@ -143,7 +143,7 @@ void SpellChecker::didBeginEditing(Element* element) |
void SpellChecker::ignoreSpelling() |
{ |
- if (RefPtr<Range> selectedRange = m_frame.selection().toNormalizedRange()) |
+ if (RefPtrWillBeRawPtr<Range> selectedRange = m_frame.selection().toNormalizedRange()) |
m_frame.document()->markers().removeMarkers(selectedRange.get(), DocumentMarker::Spelling); |
} |
@@ -155,7 +155,7 @@ void SpellChecker::advanceToNextMisspelling(bool startBeforeSelection) |
// Start at the end of the selection, search to edge of document. Starting at the selection end makes |
// repeated "check spelling" commands work. |
VisibleSelection selection(m_frame.selection().selection()); |
- RefPtr<Range> spellingSearchRange(rangeOfContents(m_frame.document())); |
+ RefPtrWillBeRawPtr<Range> spellingSearchRange(rangeOfContents(m_frame.document())); |
bool startedWithSelection = false; |
if (selection.start().deprecatedNode()) { |
@@ -213,14 +213,14 @@ void SpellChecker::advanceToNextMisspelling(bool startBeforeSelection) |
int misspellingOffset = 0; |
GrammarDetail grammarDetail; |
int grammarPhraseOffset = 0; |
- RefPtr<Range> grammarSearchRange; |
+ RefPtrWillBeRawPtr<Range> grammarSearchRange = nullptr; |
String badGrammarPhrase; |
String misspelledWord; |
bool isSpelling = true; |
int foundOffset = 0; |
String foundItem; |
- RefPtr<Range> firstMisspellingRange; |
+ RefPtrWillBeRawPtr<Range> firstMisspellingRange = nullptr; |
if (unifiedTextCheckerEnabled()) { |
grammarSearchRange = spellingSearchRange->cloneRange(IGNORE_EXCEPTION); |
foundItem = TextCheckingHelper(spellCheckerClient(), spellingSearchRange).findFirstMisspellingOrBadGrammar(isGrammarCheckingEnabled(), isSpelling, foundOffset, grammarDetail); |
@@ -286,7 +286,7 @@ void SpellChecker::advanceToNextMisspelling(bool startBeforeSelection) |
ASSERT(grammarDetail.location != -1 && grammarDetail.length > 0); |
// FIXME 4859190: This gets confused with doubled punctuation at the end of a paragraph |
- RefPtr<Range> badGrammarRange = TextIterator::subrange(grammarSearchRange.get(), grammarPhraseOffset + grammarDetail.location, grammarDetail.length); |
+ RefPtrWillBeRawPtr<Range> badGrammarRange = TextIterator::subrange(grammarSearchRange.get(), grammarPhraseOffset + grammarDetail.location, grammarDetail.length); |
m_frame.selection().setSelection(VisibleSelection(badGrammarRange.get(), SEL_DEFAULT_AFFINITY)); |
m_frame.selection().revealSelection(); |
@@ -295,7 +295,7 @@ void SpellChecker::advanceToNextMisspelling(bool startBeforeSelection) |
// We found a misspelling, but not any earlier bad grammar. Select the misspelling, update the spelling panel, and store |
// a marker so we draw the red squiggle later. |
- RefPtr<Range> misspellingRange = TextIterator::subrange(spellingSearchRange.get(), misspellingOffset, misspelledWord.length()); |
+ RefPtrWillBeRawPtr<Range> misspellingRange = TextIterator::subrange(spellingSearchRange.get(), misspellingOffset, misspelledWord.length()); |
m_frame.selection().setSelection(VisibleSelection(misspellingRange.get(), DOWNSTREAM)); |
m_frame.selection().revealSelection(); |
@@ -317,7 +317,7 @@ void SpellChecker::showSpellingGuessPanel() |
void SpellChecker::clearMisspellingsAndBadGrammar(const VisibleSelection &movingSelection) |
{ |
- RefPtr<Range> selectedRange = movingSelection.toNormalizedRange(); |
+ RefPtrWillBeRawPtr<Range> selectedRange = movingSelection.toNormalizedRange(); |
if (selectedRange) |
m_frame.document()->markers().removeMarkers(selectedRange.get(), DocumentMarker::MisspellingMarkers()); |
} |
@@ -355,7 +355,7 @@ void SpellChecker::markMisspellingsAfterTypingToWord(const VisiblePosition &word |
return; |
// Check spelling of one word |
- RefPtr<Range> misspellingRange; |
+ RefPtrWillBeRawPtr<Range> misspellingRange = nullptr; |
markMisspellings(VisibleSelection(startOfWord(wordStart, LeftWordIfOnBoundary), endOfWord(wordStart, RightWordIfOnBoundary)), misspellingRange); |
// Autocorrect the misspelled word. |
@@ -387,7 +387,7 @@ void SpellChecker::markMisspellingsAfterTypingToWord(const VisiblePosition &word |
markBadGrammar(VisibleSelection(startOfSentence(wordStart), endOfSentence(wordStart))); |
} |
-void SpellChecker::markMisspellingsOrBadGrammar(const VisibleSelection& selection, bool checkSpelling, RefPtr<Range>& firstMisspellingRange) |
+void SpellChecker::markMisspellingsOrBadGrammar(const VisibleSelection& selection, bool checkSpelling, RefPtrWillBeRawPtr<Range>& firstMisspellingRange) |
{ |
// This function is called with a selection already expanded to word boundaries. |
// Might be nice to assert that here. |
@@ -397,7 +397,7 @@ void SpellChecker::markMisspellingsOrBadGrammar(const VisibleSelection& selectio |
if (!isContinuousSpellCheckingEnabled()) |
return; |
- RefPtr<Range> searchRange(selection.toNormalizedRange()); |
+ RefPtrWillBeRawPtr<Range> searchRange(selection.toNormalizedRange()); |
if (!searchRange) |
return; |
@@ -431,14 +431,14 @@ bool SpellChecker::isSpellCheckingEnabledInFocusedNode() const |
return isSpellCheckingEnabledFor(m_frame.selection().start().deprecatedNode()); |
} |
-void SpellChecker::markMisspellings(const VisibleSelection& selection, RefPtr<Range>& firstMisspellingRange) |
+void SpellChecker::markMisspellings(const VisibleSelection& selection, RefPtrWillBeRawPtr<Range>& firstMisspellingRange) |
{ |
markMisspellingsOrBadGrammar(selection, true, firstMisspellingRange); |
} |
void SpellChecker::markBadGrammar(const VisibleSelection& selection) |
{ |
- RefPtr<Range> firstMisspellingRange; |
+ RefPtrWillBeRawPtr<Range> firstMisspellingRange = nullptr; |
markMisspellingsOrBadGrammar(selection, false, firstMisspellingRange); |
} |
@@ -471,7 +471,7 @@ void SpellChecker::chunkAndMarkAllMisspellingsAndBadGrammar(Node* node) |
{ |
if (!node) |
return; |
- RefPtr<Range> rangeToCheck = Range::create(*m_frame.document(), firstPositionInNode(node), lastPositionInNode(node)); |
+ RefPtrWillBeRawPtr<Range> rangeToCheck = Range::create(*m_frame.document(), firstPositionInNode(node), lastPositionInNode(node)); |
TextCheckingParagraph textToCheck(rangeToCheck, rangeToCheck); |
bool asynchronous = true; |
chunkAndMarkAllMisspellingsAndBadGrammar(resolveTextCheckingTypeMask(TextCheckingTypeSpelling | TextCheckingTypeGrammar), textToCheck, asynchronous); |
@@ -490,7 +490,7 @@ void SpellChecker::chunkAndMarkAllMisspellingsAndBadGrammar(TextCheckingTypeMask |
end = std::max(start, end); |
const int kNumChunksToCheck = asynchronous ? (end - start + kChunkSize - 1) / (kChunkSize) : 1; |
int currentChunkStart = start; |
- RefPtr<Range> checkRange = fullParagraphToCheck.checkingRange(); |
+ RefPtrWillBeRawPtr<Range> checkRange = fullParagraphToCheck.checkingRange(); |
if (kNumChunksToCheck == 1 && asynchronous) { |
markAllMisspellingsAndBadGrammarInRanges(textCheckingOptions, checkRange.get(), checkRange.get(), asynchronous, 0); |
return; |
@@ -568,7 +568,7 @@ void SpellChecker::markAndReplaceFor(PassRefPtr<SpellCheckRequest> request, cons |
// "wouldn'" as misspelled right after apostrophe is typed. |
if (shouldMarkSpelling && result->decoration == TextDecorationTypeSpelling && resultLocation >= paragraph.checkingStart() && resultLocation + resultLength <= spellingRangeEndOffset && !resultEndsAtAmbiguousBoundary) { |
ASSERT(resultLength > 0 && resultLocation >= 0); |
- RefPtr<Range> misspellingRange = paragraph.subrange(resultLocation, resultLength); |
+ RefPtrWillBeRawPtr<Range> misspellingRange = paragraph.subrange(resultLocation, resultLength); |
misspellingRange->startContainer()->document().markers().addMarker(misspellingRange.get(), DocumentMarker::Spelling, result->replacement, result->hash); |
} else if (shouldMarkGrammar && result->decoration == TextDecorationTypeGrammar && paragraph.checkingRangeCovers(resultLocation, resultLength)) { |
ASSERT(resultLength > 0 && resultLocation >= 0); |
@@ -576,13 +576,13 @@ void SpellChecker::markAndReplaceFor(PassRefPtr<SpellCheckRequest> request, cons |
const GrammarDetail* detail = &result->details[j]; |
ASSERT(detail->length > 0 && detail->location >= 0); |
if (paragraph.checkingRangeCovers(resultLocation + detail->location, detail->length)) { |
- RefPtr<Range> badGrammarRange = paragraph.subrange(resultLocation + detail->location, detail->length); |
+ RefPtrWillBeRawPtr<Range> badGrammarRange = paragraph.subrange(resultLocation + detail->location, detail->length); |
badGrammarRange->startContainer()->document().markers().addMarker(badGrammarRange.get(), DocumentMarker::Grammar, detail->userDescription, result->hash); |
} |
} |
} else if (result->decoration == TextDecorationTypeInvisibleSpellcheck && resultLocation >= paragraph.checkingStart() && resultLocation + resultLength <= spellingRangeEndOffset) { |
ASSERT(resultLength > 0 && resultLocation >= 0); |
- RefPtr<Range> invisibleSpellcheckRange = paragraph.subrange(resultLocation, resultLength); |
+ RefPtrWillBeRawPtr<Range> invisibleSpellcheckRange = paragraph.subrange(resultLocation, resultLength); |
invisibleSpellcheckRange->startContainer()->document().markers().addMarker(invisibleSpellcheckRange.get(), DocumentMarker::InvisibleSpellcheck, result->replacement, result->hash); |
} |
} |
@@ -592,7 +592,7 @@ void SpellChecker::markAndReplaceFor(PassRefPtr<SpellCheckRequest> request, cons |
// Restore the caret position if we have made any replacements |
extendedParagraph.expandRangeToNextEnd(); |
if (restoreSelectionAfterChange && selectionOffset >= 0 && selectionOffset <= extendedParagraph.rangeLength()) { |
- RefPtr<Range> selectionRange = extendedParagraph.subrange(0, selectionOffset); |
+ RefPtrWillBeRawPtr<Range> selectionRange = extendedParagraph.subrange(0, selectionOffset); |
m_frame.selection().moveTo(selectionRange->endPosition(), DOWNSTREAM); |
if (adjustSelectionForParagraphBoundaries) |
m_frame.selection().modify(FrameSelection::AlterationMove, DirectionForward, CharacterGranularity); |
@@ -618,7 +618,7 @@ void SpellChecker::markMisspellingsAndBadGrammar(const VisibleSelection& spellin |
return; |
} |
- RefPtr<Range> firstMisspellingRange; |
+ RefPtrWillBeRawPtr<Range> firstMisspellingRange = nullptr; |
markMisspellings(spellingSelection, firstMisspellingRange); |
if (markGrammar) |
markBadGrammar(grammarSelection); |
@@ -689,7 +689,7 @@ void SpellChecker::updateMarkersForWordsAffectedByEditing(bool doNotRemoveIfSele |
// of marker that contains the word in question, and remove marker on that whole range. |
Document* document = m_frame.document(); |
ASSERT(document); |
- RefPtr<Range> wordRange = Range::create(*document, startOfFirstWord.deepEquivalent(), endOfLastWord.deepEquivalent()); |
+ RefPtrWillBeRawPtr<Range> wordRange = Range::create(*document, startOfFirstWord.deepEquivalent(), endOfLastWord.deepEquivalent()); |
document->markers().removeMarkers(wordRange.get(), DocumentMarker::MisspellingMarkers(), DocumentMarkerController::RemovePartiallyOverlappingMarker); |
} |
@@ -740,11 +740,11 @@ void SpellChecker::respondToChangedSelection(const VisibleSelection& oldSelectio |
} |
if (textChecker().shouldEraseMarkersAfterChangeSelection(TextCheckingTypeSpelling)) { |
- if (RefPtr<Range> wordRange = newAdjacentWords.toNormalizedRange()) |
+ if (RefPtrWillBeRawPtr<Range> wordRange = newAdjacentWords.toNormalizedRange()) |
m_frame.document()->markers().removeMarkers(wordRange.get(), DocumentMarker::Spelling); |
} |
if (textChecker().shouldEraseMarkersAfterChangeSelection(TextCheckingTypeGrammar)) { |
- if (RefPtr<Range> sentenceRange = newSelectedSentence.toNormalizedRange()) |
+ if (RefPtrWillBeRawPtr<Range> sentenceRange = newSelectedSentence.toNormalizedRange()) |
m_frame.document()->markers().removeMarkers(sentenceRange.get(), DocumentMarker::Grammar); |
} |
} |
@@ -846,7 +846,7 @@ void SpellChecker::cancelCheck() |
void SpellChecker::requestTextChecking(const Element& element) |
{ |
- RefPtr<Range> rangeToCheck = rangeOfContents(const_cast<Element*>(&element)); |
+ RefPtrWillBeRawPtr<Range> rangeToCheck = rangeOfContents(const_cast<Element*>(&element)); |
m_spellCheckRequester->requestCheckingFor(SpellCheckRequest::create(TextCheckingTypeSpelling | TextCheckingTypeGrammar, TextCheckingProcessBatch, rangeToCheck, rangeToCheck)); |
} |