• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef CHROME_COMMON_SPELLCHECK_RESULT_H_
6 #define CHROME_COMMON_SPELLCHECK_RESULT_H_
7 
8 #include "base/strings/string16.h"
9 
10 // This class mirrors blink::WebTextCheckingResult which holds a
11 // misspelled range inside the checked text. It also contains a
12 // possible replacement of the misspelling if it is available.
13 struct SpellCheckResult {
14   enum Decoration {
15     // Red underline for misspelled words.
16     SPELLING = 1 << 1,
17 
18     // Gray underline for correctly spelled words that are incorrectly used in
19     // their context.
20     GRAMMAR = 1 << 2,
21 
22     // No underline for words that spellcheck needs to track. For example, a
23     // word in the custom spellcheck dictionary.
24     INVISIBLE = 1 << 3,
25   };
26 
27   explicit SpellCheckResult(
28       Decoration d = SPELLING,
29       int loc = 0,
30       int len = 0,
31       const base::string16& rep = base::string16(),
32       uint32 h = 0)
decorationSpellCheckResult33       : decoration(d), location(loc), length(len), replacement(rep), hash(h) {
34   }
35 
36   Decoration decoration;
37   int location;
38   int length;
39   base::string16 replacement;
40   uint32 hash;
41 };
42 
43 #endif  // CHROME_COMMON_SPELLCHECK_RESULT_H_
44