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//
14// Although SpellCheckResult::Type defines various values Chromium
15// only uses the |Spelling| and |Grammar| types.
16//
17struct SpellCheckResult {
18  enum Type {
19    SPELLING = 1 << 1,
20    GRAMMAR  = 1 << 2,
21  };
22
23  explicit SpellCheckResult(
24      Type t = SPELLING,
25      int loc = 0,
26      int len = 0,
27      const string16& rep = string16(),
28      uint32 h = 0)
29      : type(t), location(loc), length(len), replacement(rep), hash(h) {
30  }
31
32  Type type;
33  int location;
34  int length;
35  string16 replacement;
36  uint32 hash;
37};
38
39#endif  // CHROME_COMMON_SPELLCHECK_RESULT_H_
40