- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / common / spellcheck_result.h
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 WebKit::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 string16& rep = string16(),
32       uint32 h = 0)
33       : decoration(d), location(loc), length(len), replacement(rep), hash(h) {
34   }
35
36   Decoration decoration;
37   int location;
38   int length;
39   string16 replacement;
40   uint32 hash;
41 };
42
43 #endif  // CHROME_COMMON_SPELLCHECK_RESULT_H_