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.
5 #ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS_LANGUAGE_DICTIONARY_OVERLAY_HANDLER_H_
6 #define CHROME_BROWSER_UI_WEBUI_OPTIONS_LANGUAGE_DICTIONARY_OVERLAY_HANDLER_H_
8 #include "chrome/browser/spellchecker/spellcheck_custom_dictionary.h"
9 #include "chrome/browser/ui/webui/options/options_ui.h"
13 class LanguageDictionaryOverlayHandler
14 : public OptionsPageUIHandler
,
15 public SpellcheckCustomDictionary::Observer
{
17 LanguageDictionaryOverlayHandler();
18 ~LanguageDictionaryOverlayHandler() override
;
20 // Overridden from OptionsPageUIHandler:
21 void GetLocalizedValues(base::DictionaryValue
* localized_strings
) override
;
22 void RegisterMessages() override
;
23 void Uninitialize() override
;
25 // Overridden from SpellcheckCustomDictionary::Observer:
26 void OnCustomDictionaryLoaded() override
;
27 void OnCustomDictionaryChanged(
28 const SpellcheckCustomDictionary::Change
& dictionary_change
) override
;
31 // Sends the dictionary words to WebUI.
32 void ResetDictionaryWords();
34 // Refreshes the displayed words. Called from WebUI.
35 void RefreshWords(const base::ListValue
* args
);
37 // Adds a new word to the dictionary. Called from WebUI.
38 void AddWord(const base::ListValue
* args
);
40 // Removes a word from the dictionary. Called from WebUI.
41 void RemoveWord(const base::ListValue
* args
);
43 // Whether the overlay is initialized and ready to show data.
44 bool overlay_initialized_
;
46 // The custom spelling dictionary. Used for adding, removing, and reading
47 // words in custom dictionary file.
48 SpellcheckCustomDictionary
* dictionary_
;
50 DISALLOW_COPY_AND_ASSIGN(LanguageDictionaryOverlayHandler
);
53 } // namespace options
55 #endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_LANGUAGE_DICTIONARY_OVERLAY_HANDLER_H_