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

Side by Side Diff: Source/core/editing/SpellChecker.cpp

Issue 67473002: Have ElementTraversal / NodeTraversal's next() methods take a reference (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase on master Created 7 years, 1 month 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 unified diff | Download patch
« no previous file with comments | « Source/core/editing/SimplifyMarkupCommand.cpp ('k') | Source/core/editing/TextIterator.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008, 2011 Apple Inc. All rights reserved.
3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) 3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 { 89 {
90 return editorClient().isContinuousSpellCheckingEnabled(); 90 return editorClient().isContinuousSpellCheckingEnabled();
91 } 91 }
92 92
93 void SpellChecker::toggleContinuousSpellChecking() 93 void SpellChecker::toggleContinuousSpellChecking()
94 { 94 {
95 editorClient().toggleContinuousSpellChecking(); 95 editorClient().toggleContinuousSpellChecking();
96 if (isContinuousSpellCheckingEnabled()) 96 if (isContinuousSpellCheckingEnabled())
97 return; 97 return;
98 for (Frame* frame = m_frame.page()->mainFrame(); frame && frame->document(); frame = frame->tree().traverseNext()) { 98 for (Frame* frame = m_frame.page()->mainFrame(); frame && frame->document(); frame = frame->tree().traverseNext()) {
99 for (Node* node = frame->document()->rootNode(); node; node = NodeTraver sal::next(node)) { 99 for (Node* node = frame->document()->rootNode(); node; node = NodeTraver sal::next(*node)) {
100 node->setAlreadySpellChecked(false); 100 node->setAlreadySpellChecked(false);
101 } 101 }
102 } 102 }
103 } 103 }
104 104
105 bool SpellChecker::isGrammarCheckingEnabled() 105 bool SpellChecker::isGrammarCheckingEnabled()
106 { 106 {
107 return editorClient().isGrammarCheckingEnabled(); 107 return editorClient().isGrammarCheckingEnabled();
108 } 108 }
109 109
(...skipping 609 matching lines...) Expand 10 before | Expand all | Expand 10 after
719 void SpellChecker::didEndEditingOnTextField(Element* e) 719 void SpellChecker::didEndEditingOnTextField(Element* e)
720 { 720 {
721 // Remove markers when deactivating a selection in an <input type="text"/>. 721 // Remove markers when deactivating a selection in an <input type="text"/>.
722 // Prevent new ones from appearing too. 722 // Prevent new ones from appearing too.
723 m_spellCheckRequester->cancelCheck(); 723 m_spellCheckRequester->cancelCheck();
724 HTMLTextFormControlElement* textFormControlElement = toHTMLTextFormControlEl ement(e); 724 HTMLTextFormControlElement* textFormControlElement = toHTMLTextFormControlEl ement(e);
725 HTMLElement* innerText = textFormControlElement->innerTextElement(); 725 HTMLElement* innerText = textFormControlElement->innerTextElement();
726 DocumentMarker::MarkerTypes markerTypes(DocumentMarker::Spelling); 726 DocumentMarker::MarkerTypes markerTypes(DocumentMarker::Spelling);
727 if (isGrammarCheckingEnabled() || unifiedTextCheckerEnabled()) 727 if (isGrammarCheckingEnabled() || unifiedTextCheckerEnabled())
728 markerTypes.add(DocumentMarker::Grammar); 728 markerTypes.add(DocumentMarker::Grammar);
729 for (Node* node = innerText; node; node = NodeTraversal::next(node, innerTex t)) { 729 for (Node* node = innerText; node; node = NodeTraversal::next(*node, innerTe xt)) {
730 m_frame.document()->markers()->removeMarkers(node, markerTypes); 730 m_frame.document()->markers()->removeMarkers(node, markerTypes);
731 } 731 }
732 } 732 }
733 733
734 void SpellChecker::respondToChangedSelection(const VisibleSelection& oldSelectio n, FrameSelection::SetSelectionOptions options) 734 void SpellChecker::respondToChangedSelection(const VisibleSelection& oldSelectio n, FrameSelection::SetSelectionOptions options)
735 { 735 {
736 bool closeTyping = options & FrameSelection::CloseTyping; 736 bool closeTyping = options & FrameSelection::CloseTyping;
737 bool isContinuousSpellCheckingEnabled = this->isContinuousSpellCheckingEnabl ed(); 737 bool isContinuousSpellCheckingEnabled = this->isContinuousSpellCheckingEnabl ed();
738 bool isContinuousGrammarCheckingEnabled = isContinuousSpellCheckingEnabled & & isGrammarCheckingEnabled(); 738 bool isContinuousGrammarCheckingEnabled = isContinuousSpellCheckingEnabled & & isGrammarCheckingEnabled();
739 if (isContinuousSpellCheckingEnabled) { 739 if (isContinuousSpellCheckingEnabled) {
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
867 } 867 }
868 868
869 void SpellChecker::requestTextChecking(const Element& element) 869 void SpellChecker::requestTextChecking(const Element& element)
870 { 870 {
871 RefPtr<Range> rangeToCheck = rangeOfContents(const_cast<Element*>(&element)) ; 871 RefPtr<Range> rangeToCheck = rangeOfContents(const_cast<Element*>(&element)) ;
872 m_spellCheckRequester->requestCheckingFor(SpellCheckRequest::create(TextChec kingTypeSpelling | TextCheckingTypeGrammar, TextCheckingProcessBatch, rangeToChe ck, rangeToCheck)); 872 m_spellCheckRequester->requestCheckingFor(SpellCheckRequest::create(TextChec kingTypeSpelling | TextCheckingTypeGrammar, TextCheckingProcessBatch, rangeToChe ck, rangeToCheck));
873 } 873 }
874 874
875 875
876 } // namespace WebCore 876 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/editing/SimplifyMarkupCommand.cpp ('k') | Source/core/editing/TextIterator.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698