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