| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |