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

Side by Side Diff: chrome/renderer/spellchecker/spellcheck_worditerator.h

Issue 270203003: Refactor code to avoid direct dependency upon ICU: spellcheck_worditerator (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@refactoring_icu_usage
Patch Set: Simplify Created 6 years, 7 months 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
OLDNEW
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698