diff options
Diffstat (limited to 'chromium/chrome/browser/ui/webui/options/language_options_handler.h')
-rw-r--r-- | chromium/chrome/browser/ui/webui/options/language_options_handler.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/chromium/chrome/browser/ui/webui/options/language_options_handler.h b/chromium/chrome/browser/ui/webui/options/language_options_handler.h new file mode 100644 index 00000000000..93943cd6744 --- /dev/null +++ b/chromium/chrome/browser/ui/webui/options/language_options_handler.h @@ -0,0 +1,52 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS_LANGUAGE_OPTIONS_HANDLER_H_ +#define CHROME_BROWSER_UI_WEBUI_OPTIONS_LANGUAGE_OPTIONS_HANDLER_H_ + +#include <memory> + +#include "base/macros.h" +#include "chrome/browser/ui/webui/options/language_options_handler_common.h" + +namespace base { +class ListValue; +} + +namespace options { + +// Language options UI page handler for non-Chrome OS platforms. For Chrome OS, +// see chromeos::CrosLanguageOptionsHandler. +class LanguageOptionsHandler : public LanguageOptionsHandlerCommon { + public: + LanguageOptionsHandler(); + ~LanguageOptionsHandler() override; + + // OptionsPageUIHandler implementation. + void GetLocalizedValues(base::DictionaryValue* localized_strings) override; + + // WebUIMessageHandler implementation. + void RegisterMessages() override; + + // The following static method is public for ease of testing. + + // Gets the list of languages from the given input descriptors. + // The return value will look like: + // [{'code': 'fi', 'displayName': 'Finnish', 'nativeDisplayName': 'suomi'}, + // ...] + static std::unique_ptr<base::ListValue> GetLanguageList(); + + private: + // LanguageOptionsHandlerCommon implementation. + void SetApplicationLocale(const std::string& language_code) override; + + // Called when the restart button is clicked. + void RestartCallback(const base::ListValue* args); + + DISALLOW_COPY_AND_ASSIGN(LanguageOptionsHandler); +}; + +} // namespace options + +#endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_LANGUAGE_OPTIONS_HANDLER_H_ |