Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Defines an iterator class that enumerates words supported by our spellchecker | 5 // Defines an iterator class that enumerates words supported by our spellchecker |
| 6 // from multi-language text. This class is used for filtering out characters | 6 // from multi-language text. This class is used for filtering out characters |
| 7 // not supported by our spellchecker. | 7 // not supported by our spellchecker. |
| 8 | 8 |
| 9 #ifndef CHROME_RENDERER_SPELLCHECKER_SPELLCHECK_WORDITERATOR_H_ | 9 #ifndef CHROME_RENDERER_SPELLCHECKER_SPELLCHECK_WORDITERATOR_H_ |
| 10 #define CHROME_RENDERER_SPELLCHECKER_SPELLCHECK_WORDITERATOR_H_ | 10 #define CHROME_RENDERER_SPELLCHECKER_SPELLCHECK_WORDITERATOR_H_ |
| 11 | 11 |
| 12 #include <string> | 12 #include <string> |
| 13 | 13 |
| 14 #include "base/basictypes.h" | 14 #include "base/basictypes.h" |
| 15 #include "base/i18n/break_iterator.h" | |
|
groby-ooo-7-16
2014/05/08 17:52:00
If you forward declare BreakIterator, you don't ne
Andrew Hayden (chromium.org)
2014/05/09 15:16:16
Done.
| |
| 16 #include "base/memory/scoped_ptr.h" | |
| 15 #include "base/strings/string16.h" | 17 #include "base/strings/string16.h" |
| 16 #include "third_party/icu/source/common/unicode/ubrk.h" | |
| 17 #include "third_party/icu/source/common/unicode/uscript.h" | 18 #include "third_party/icu/source/common/unicode/uscript.h" |
| 18 | 19 |
| 19 // A class which encapsulates language-specific operations used by | 20 // A class which encapsulates language-specific operations used by |
| 20 // SpellcheckWordIterator. When we set the spellchecker language, this class | 21 // SpellcheckWordIterator. When we set the spellchecker language, this class |
| 21 // creates rule sets that filter out the characters not supported by the | 22 // creates rule sets that filter out the characters not supported by the |
| 22 // spellchecker. (Please read the comment in the SpellcheckWordIterator class | 23 // spellchecker. (Please read the comment in the SpellcheckWordIterator class |
| 23 // about how to use this class.) | 24 // about how to use this class.) |
| 24 class SpellcheckCharAttribute { | 25 class SpellcheckCharAttribute { |
| 25 public: | 26 public: |
| 26 SpellcheckCharAttribute(); | 27 SpellcheckCharAttribute(); |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 149 // alternative characters supported by our spellchecker. This function also | 150 // alternative characters supported by our spellchecker. This function also |
| 150 // calls SpellcheckWordIterator::OutputChar() to filter out false-positive | 151 // calls SpellcheckWordIterator::OutputChar() to filter out false-positive |
| 151 // characters. | 152 // characters. |
| 152 bool Normalize(int input_start, | 153 bool Normalize(int input_start, |
| 153 int input_length, | 154 int input_length, |
| 154 base::string16* output_string) const; | 155 base::string16* output_string) const; |
| 155 | 156 |
| 156 // The pointer to the input string from which we are extracting words. | 157 // The pointer to the input string from which we are extracting words. |
| 157 const base::char16* text_; | 158 const base::char16* text_; |
| 158 | 159 |
| 159 // The length of the original string. | |
| 160 int length_; | |
| 161 | |
| 162 // The current position in the original string. | |
| 163 int position_; | |
| 164 | |
| 165 // The language-specific attributes used for filtering out non-word | 160 // The language-specific attributes used for filtering out non-word |
| 166 // characters. | 161 // characters. |
| 167 const SpellcheckCharAttribute* attribute_; | 162 const SpellcheckCharAttribute* attribute_; |
| 168 | 163 |
| 169 // The ICU break iterator. | 164 // The break iterator. |
| 170 UBreakIterator* iterator_; | 165 scoped_ptr<base::i18n::BreakIterator> iterator_; |
| 171 | 166 |
| 172 DISALLOW_COPY_AND_ASSIGN(SpellcheckWordIterator); | 167 DISALLOW_COPY_AND_ASSIGN(SpellcheckWordIterator); |
| 173 }; | 168 }; |
| 174 | 169 |
| 175 #endif // CHROME_RENDERER_SPELLCHECKER_SPELLCHECK_WORDITERATOR_H_ | 170 #endif // CHROME_RENDERER_SPELLCHECKER_SPELLCHECK_WORDITERATOR_H_ |
| 176 | 171 |
| OLD | NEW |