Index: chrome/browser/spellchecker/word_trimmer.h |
diff --git a/chrome/browser/spellchecker/word_trimmer.h b/chrome/browser/spellchecker/word_trimmer.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5b108d3cc154d3bbe98ae82baf5e9c0921691fa2 |
--- /dev/null |
+++ b/chrome/browser/spellchecker/word_trimmer.h |
@@ -0,0 +1,32 @@ |
+// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_BROWSER_SPELLCHECKER_WORD_TRIMMER_H_ |
+#define CHROME_BROWSER_SPELLCHECKER_WORD_TRIMMER_H_ |
+ |
+#include "base/strings/string16.h" |
+ |
+// Trims |text| to contain only the range from |start| to |end| and |keep| words |
+// on either side of the range. The |start| and |end| parameters are character |
+// indexes into |text|. The |keep| parameter is the number of words to keep on |
+// either side of the |start|-|end| range. The function updates |start| in |
+// accordance with the trimming. |
+// |
+// Example: |
+// |
+// size_t start = 14; |
+// size_t end = 23; |
+// base::string16 text = |
+// base::ASCIIToUTF16("one two three four five six seven eight"); |
+// int keep = 2; |
+// base::string16 trimmed = TrimWords(&start, end, text, keep); |
+// DCHECK(trimmed == base::ASCIIToUTF16("two three four five six seven")); |
+// DCHECK(start == 10); |
+// |
+base::string16 TrimWords(size_t* start, |
+ size_t end, |
+ const base::string16& text, |
+ size_t keep); |
+ |
+#endif // CHROME_BROWSER_SPELLCHECKER_WORD_TRIMMER_H_ |