diff options
author | satorux@chromium.org <satorux@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-13 03:49:09 +0000 |
---|---|---|
committer | satorux@chromium.org <satorux@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-13 03:49:09 +0000 |
commit | 65ffb4a6f774879f27f62eca39f82912b01b7d8f (patch) | |
tree | 67b04c3e590722198d2e661604f4b335c1e1dc1a /chrome/browser/chromeos | |
parent | 980341e048f7d805a0ba14298f06b54fc505d6f0 (diff) | |
download | chromium_src-65ffb4a6f774879f27f62eca39f82912b01b7d8f.zip chromium_src-65ffb4a6f774879f27f62eca39f82912b01b7d8f.tar.gz chromium_src-65ffb4a6f774879f27f62eca39f82912b01b7d8f.tar.bz2 |
Show restart warning when UI language is changed.
Instead of using Javascript alert(), we now show better UI for
users to notify a restart is required for UI language change to take effect,
with restart button.
This is based on the mock attached to
http://crosbug.com/5545
BUG=chromium-os:5545
TEST=manual
Review URL: http://codereview.chromium.org/3121008
Patch from Takayoshi Kochi <kochi@chromium.org>.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55987 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos')
-rw-r--r-- | chrome/browser/chromeos/dom_ui/language_options_handler.cc | 19 | ||||
-rw-r--r-- | chrome/browser/chromeos/dom_ui/language_options_handler.h | 3 |
2 files changed, 20 insertions, 2 deletions
diff --git a/chrome/browser/chromeos/dom_ui/language_options_handler.cc b/chrome/browser/chromeos/dom_ui/language_options_handler.cc index f51fab5..a2045e5 100644 --- a/chrome/browser/chromeos/dom_ui/language_options_handler.cc +++ b/chrome/browser/chromeos/dom_ui/language_options_handler.cc @@ -12,11 +12,14 @@ #include "app/l10n_util.h" #include "base/utf_string_conversions.h" #include "base/values.h" +#include "chrome/app/chrome_dll_resource.h" +#include "chrome/browser/browser.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/chromeos/cros/cros_library.h" #include "chrome/browser/chromeos/cros/input_method_library.h" #include "chrome/browser/chromeos/input_method/input_method_util.h" #include "chrome/browser/pref_service.h" +#include "chrome/browser/tab_contents/tab_contents.h" #include "chrome/common/pref_names.h" #include "grit/chromium_strings.h" #include "grit/generated_resources.h" @@ -50,6 +53,8 @@ void LanguageOptionsHandler::GetLocalizedValues( IDS_OPTIONS_SETTINGS_LANGUAGES_PLEASE_ADD_ANOTHER_LANGUAGE)); localized_strings->SetString(L"remove_button", l10n_util::GetString(IDS_OPTIONS_SETTINGS_LANGUAGES_REMOVE_BUTTON)); + localized_strings->SetString(L"restart_button", + l10n_util::GetString(IDS_OPTIONS_SETTINGS_LANGUAGES_RESTART_BUTTON)); localized_strings->SetString(L"add_language_instructions", l10n_util::GetString( IDS_OPTIONS_SETTINGS_LANGUAGES_ADD_LANGUAGE_INSTRUCTIONS)); @@ -94,8 +99,9 @@ void LanguageOptionsHandler::GetLocalizedValues( void LanguageOptionsHandler::RegisterMessages() { DCHECK(dom_ui_); dom_ui_->RegisterMessageCallback("uiLanguageChange", - NewCallback(this, - &LanguageOptionsHandler::UiLanguageChangeCallback)); + NewCallback(this, &LanguageOptionsHandler::UiLanguageChangeCallback)); + dom_ui_->RegisterMessageCallback("uiLanguageRestart", + NewCallback(this, &LanguageOptionsHandler::RestartCallback)); } ListValue* LanguageOptionsHandler::GetInputMethodList( @@ -226,4 +232,13 @@ void LanguageOptionsHandler::UiLanguageChangeCallback( L"options.LanguageOptions.uiLanguageSaved"); } +void LanguageOptionsHandler::RestartCallback(const Value* value) { + Browser* browser = Browser::GetBrowserForController( + &dom_ui_->tab_contents()->controller(), NULL); + // TODO(kochi): For ChromiumOS, just exiting means browser restart. + // Implement browser restart for Chromium Win/Linux/Mac. + if (browser) + browser->ExecuteCommand(IDC_EXIT); +} + } // namespace chromeos diff --git a/chrome/browser/chromeos/dom_ui/language_options_handler.h b/chrome/browser/chromeos/dom_ui/language_options_handler.h index 5c84321..2862cf5 100644 --- a/chrome/browser/chromeos/dom_ui/language_options_handler.h +++ b/chrome/browser/chromeos/dom_ui/language_options_handler.h @@ -57,6 +57,9 @@ class LanguageOptionsHandler : public OptionsPageUIHandler { // |value| will be the language code as string (ex. "fr"). void UiLanguageChangeCallback(const Value* value); + // Called when the restart button is clicked. + void RestartCallback(const Value* value); + DISALLOW_COPY_AND_ASSIGN(LanguageOptionsHandler); }; |