Home | History | Annotate | Download | only in common
      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)
     33       : 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