1// Copyright (c) 2013 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_EXTENSIONS_API_SPELLCHECK_SPELLCHECK_HANDLER_H_
6#define CHROME_COMMON_EXTENSIONS_API_SPELLCHECK_SPELLCHECK_HANDLER_H_
7
8#include "extensions/common/extension.h"
9#include "extensions/common/manifest_handler.h"
10
11namespace extensions {
12
13// This structure holds the information parsed by the SpellcheckHandler to be
14// used in the SpellcheckAPI functions. It is stored on the extension.
15struct SpellcheckDictionaryInfo : public extensions::Extension::ManifestData {
16  SpellcheckDictionaryInfo();
17  virtual ~SpellcheckDictionaryInfo();
18
19  std::string language;
20  std::string locale;
21  std::string path;
22  std::string format;
23};
24
25// Parses the "spellcheck" manifest key.
26class SpellcheckHandler : public ManifestHandler {
27 public:
28  SpellcheckHandler();
29  virtual ~SpellcheckHandler();
30
31  virtual bool Parse(Extension* extension, base::string16* error) OVERRIDE;
32
33 private:
34  virtual const std::vector<std::string> Keys() const OVERRIDE;
35
36  DISALLOW_COPY_AND_ASSIGN(SpellcheckHandler);
37};
38
39}  // namespace extensions
40
41#endif  // CHROME_COMMON_EXTENSIONS_API_SPELLCHECK_SPELLCHECK_HANDLER_H_
42