OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 bool selectionStartHasMarkerFor(DocumentMarker::MarkerType, int from, int le
ngth) const; | 83 bool selectionStartHasMarkerFor(DocumentMarker::MarkerType, int from, int le
ngth) const; |
84 bool selectionStartHasSpellingMarkerFor(int from, int length) const; | 84 bool selectionStartHasSpellingMarkerFor(int from, int length) const; |
85 void updateMarkersForWordsAffectedByEditing(bool onlyHandleWordsContainingSe
lection); | 85 void updateMarkersForWordsAffectedByEditing(bool onlyHandleWordsContainingSe
lection); |
86 void cancelCheck(); | 86 void cancelCheck(); |
87 void chunkAndMarkAllMisspellingsAndBadGrammar(Node*, const EphemeralRange&); | 87 void chunkAndMarkAllMisspellingsAndBadGrammar(Node*, const EphemeralRange&); |
88 void requestTextChecking(const Element&); | 88 void requestTextChecking(const Element&); |
89 | 89 |
90 // Exposed for testing only | 90 // Exposed for testing only |
91 SpellCheckRequester& spellCheckRequester() const { return *m_spellCheckReque
ster; } | 91 SpellCheckRequester& spellCheckRequester() const { return *m_spellCheckReque
ster; } |
92 | 92 |
| 93 // The leak detector will report leaks should queued requests be posted |
| 94 // while it GCs repeatedly, as the requests keep their associated element |
| 95 // alive. |
| 96 // |
| 97 // Hence allow the leak detector to effectively stop the spell checker to |
| 98 // ensure leak reporting stability. |
| 99 void prepareForLeakDetection(); |
| 100 |
93 private: | 101 private: |
94 explicit SpellChecker(LocalFrame&); | 102 explicit SpellChecker(LocalFrame&); |
95 | 103 |
96 LocalFrame& frame() const | 104 LocalFrame& frame() const |
97 { | 105 { |
98 ASSERT(m_frame); | 106 ASSERT(m_frame); |
99 return *m_frame; | 107 return *m_frame; |
100 } | 108 } |
101 | 109 |
102 bool markMisspellingsOrBadGrammar(const VisibleSelection&, bool checkSpellin
g); | 110 bool markMisspellingsOrBadGrammar(const VisibleSelection&, bool checkSpellin
g); |
103 TextCheckingTypeMask resolveTextCheckingTypeMask(TextCheckingTypeMask); | 111 TextCheckingTypeMask resolveTextCheckingTypeMask(TextCheckingTypeMask); |
104 | 112 |
105 void removeMarkers(const VisibleSelection&, DocumentMarker::MarkerTypes); | 113 void removeMarkers(const VisibleSelection&, DocumentMarker::MarkerTypes); |
106 bool unifiedTextCheckerEnabled() const; | 114 bool unifiedTextCheckerEnabled() const; |
107 | 115 |
108 void chunkAndMarkAllMisspellingsAndBadGrammar(TextCheckingTypeMask textCheck
ingOptions, const TextCheckingParagraph& fullParagraphToCheck); | 116 void chunkAndMarkAllMisspellingsAndBadGrammar(TextCheckingTypeMask textCheck
ingOptions, const TextCheckingParagraph& fullParagraphToCheck); |
109 | 117 |
110 RawPtrWillBeMember<LocalFrame> m_frame; | 118 RawPtrWillBeMember<LocalFrame> m_frame; |
111 const OwnPtrWillBeMember<SpellCheckRequester> m_spellCheckRequester; | 119 const OwnPtrWillBeMember<SpellCheckRequester> m_spellCheckRequester; |
112 }; | 120 }; |
113 | 121 |
114 } // namespace blink | 122 } // namespace blink |
115 | 123 |
116 #endif // SpellChecker_h | 124 #endif // SpellChecker_h |
OLD | NEW |