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_BROWSER_UI_WEBUI_OPTIONS_LANGUAGE_OPTIONS_HANDLER_H_ 6#define CHROME_BROWSER_UI_WEBUI_OPTIONS_LANGUAGE_OPTIONS_HANDLER_H_ 7 8#include "chrome/browser/ui/webui/options/language_options_handler_common.h" 9 10namespace options { 11 12// Language options UI page handler for non-Chrome OS platforms. For Chrome OS, 13// see chromeos::CrosLanguageOptionsHandler. 14class LanguageOptionsHandler : public LanguageOptionsHandlerCommon { 15 public: 16 LanguageOptionsHandler(); 17 virtual ~LanguageOptionsHandler(); 18 19 // OptionsPageUIHandler implementation. 20 virtual void GetLocalizedValues( 21 base::DictionaryValue* localized_strings) OVERRIDE; 22 23 // WebUIMessageHandler implementation. 24 virtual void RegisterMessages() OVERRIDE; 25 26 // The following static method is public for ease of testing. 27 28 // Gets the list of languages from the given input descriptors. 29 // The return value will look like: 30 // [{'code': 'fi', 'displayName': 'Finnish', 'nativeDisplayName': 'suomi'}, 31 // ...] 32 static base::ListValue* GetLanguageList(); 33 34 private: 35 // LanguageOptionsHandlerCommon implementation. 36 virtual base::string16 GetProductName() OVERRIDE; 37 virtual void SetApplicationLocale(const std::string& language_code) OVERRIDE; 38 39 // Called when the restart button is clicked. 40 void RestartCallback(const base::ListValue* args); 41 42 DISALLOW_COPY_AND_ASSIGN(LanguageOptionsHandler); 43}; 44 45} // namespace options 46 47#endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_LANGUAGE_OPTIONS_HANDLER_H_ 48