| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/dom_ui/flags_ui.h" | 5 #include "chrome/browser/dom_ui/flags_ui.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "app/l10n_util.h" | 9 #include "app/l10n_util.h" |
| 10 #include "app/resource_bundle.h" | 10 #include "app/resource_bundle.h" |
| 11 #include "base/singleton.h" | 11 #include "base/singleton.h" |
| 12 #include "base/values.h" | 12 #include "base/values.h" |
| 13 #include "chrome/browser/about_flags.h" | 13 #include "chrome/browser/about_flags.h" |
| 14 #include "chrome/browser/browser_list.h" | 14 #include "chrome/browser/browser_list.h" |
| 15 #include "chrome/browser/browser_process.h" | 15 #include "chrome/browser/browser_process.h" |
| 16 #include "chrome/browser/browser_thread.h" | 16 #include "chrome/browser/browser_thread.h" |
| 17 #include "chrome/browser/dom_ui/chrome_url_data_manager.h" | 17 #include "chrome/browser/dom_ui/chrome_url_data_manager.h" |
| 18 #include "chrome/browser/prefs/pref_service.h" | 18 #include "chrome/browser/prefs/pref_service.h" |
| 19 #include "chrome/browser/profiles/profile.h" | |
| 20 #include "chrome/common/jstemplate_builder.h" | 19 #include "chrome/common/jstemplate_builder.h" |
| 21 #include "chrome/common/pref_names.h" | 20 #include "chrome/common/pref_names.h" |
| 22 #include "chrome/common/url_constants.h" | 21 #include "chrome/common/url_constants.h" |
| 23 #include "grit/browser_resources.h" | 22 #include "grit/browser_resources.h" |
| 24 #include "grit/chromium_strings.h" | 23 #include "grit/chromium_strings.h" |
| 25 #include "grit/generated_resources.h" | 24 #include "grit/generated_resources.h" |
| 26 #include "grit/theme_resources.h" | 25 #include "grit/theme_resources.h" |
| 27 | 26 |
| 28 namespace { | 27 namespace { |
| 29 | 28 |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 129 dom_ui_->RegisterMessageCallback("enableFlagsExperiment", | 128 dom_ui_->RegisterMessageCallback("enableFlagsExperiment", |
| 130 NewCallback(this, &FlagsDOMHandler::HandleEnableFlagsExperimentMessage)); | 129 NewCallback(this, &FlagsDOMHandler::HandleEnableFlagsExperimentMessage)); |
| 131 dom_ui_->RegisterMessageCallback("restartBrowser", | 130 dom_ui_->RegisterMessageCallback("restartBrowser", |
| 132 NewCallback(this, &FlagsDOMHandler::HandleRestartBrowser)); | 131 NewCallback(this, &FlagsDOMHandler::HandleRestartBrowser)); |
| 133 } | 132 } |
| 134 | 133 |
| 135 void FlagsDOMHandler::HandleRequestFlagsExperiments(const ListValue* args) { | 134 void FlagsDOMHandler::HandleRequestFlagsExperiments(const ListValue* args) { |
| 136 DictionaryValue results; | 135 DictionaryValue results; |
| 137 results.Set("flagsExperiments", | 136 results.Set("flagsExperiments", |
| 138 about_flags::GetFlagsExperimentsData( | 137 about_flags::GetFlagsExperimentsData( |
| 139 dom_ui_->GetProfile()->GetPrefs())); | 138 g_browser_process->local_state())); |
| 140 results.SetBoolean("needsRestart", | 139 results.SetBoolean("needsRestart", |
| 141 about_flags::IsRestartNeededToCommitChanges()); | 140 about_flags::IsRestartNeededToCommitChanges()); |
| 142 dom_ui_->CallJavascriptFunction(L"returnFlagsExperiments", results); | 141 dom_ui_->CallJavascriptFunction(L"returnFlagsExperiments", results); |
| 143 } | 142 } |
| 144 | 143 |
| 145 void FlagsDOMHandler::HandleEnableFlagsExperimentMessage( | 144 void FlagsDOMHandler::HandleEnableFlagsExperimentMessage( |
| 146 const ListValue* args) { | 145 const ListValue* args) { |
| 147 DCHECK_EQ(2u, args->GetSize()); | 146 DCHECK_EQ(2u, args->GetSize()); |
| 148 if (args->GetSize() != 2) | 147 if (args->GetSize() != 2) |
| 149 return; | 148 return; |
| 150 | 149 |
| 151 std::string experiment_internal_name; | 150 std::string experiment_internal_name; |
| 152 std::string enable_str; | 151 std::string enable_str; |
| 153 if (!args->GetString(0, &experiment_internal_name) || | 152 if (!args->GetString(0, &experiment_internal_name) || |
| 154 !args->GetString(1, &enable_str)) | 153 !args->GetString(1, &enable_str)) |
| 155 return; | 154 return; |
| 156 | 155 |
| 157 about_flags::SetExperimentEnabled( | 156 about_flags::SetExperimentEnabled( |
| 158 dom_ui_->GetProfile()->GetPrefs(), | 157 g_browser_process->local_state(), |
| 159 experiment_internal_name, | 158 experiment_internal_name, |
| 160 enable_str == "true"); | 159 enable_str == "true"); |
| 161 } | 160 } |
| 162 | 161 |
| 163 void FlagsDOMHandler::HandleRestartBrowser(const ListValue* args) { | 162 void FlagsDOMHandler::HandleRestartBrowser(const ListValue* args) { |
| 164 // Set the flag to restore state after the restart. | 163 // Set the flag to restore state after the restart. |
| 165 PrefService* pref_service = g_browser_process->local_state(); | 164 PrefService* pref_service = g_browser_process->local_state(); |
| 166 pref_service->SetBoolean(prefs::kRestartLastSessionOnShutdown, true); | 165 pref_service->SetBoolean(prefs::kRestartLastSessionOnShutdown, true); |
| 167 BrowserList::CloseAllBrowsersAndExit(); | 166 BrowserList::CloseAllBrowsersAndExit(); |
| 168 } | 167 } |
| (...skipping 19 matching lines...) Expand all Loading... |
| 188 make_scoped_refptr(html_source))); | 187 make_scoped_refptr(html_source))); |
| 189 } | 188 } |
| 190 | 189 |
| 191 // static | 190 // static |
| 192 RefCountedMemory* FlagsUI::GetFaviconResourceBytes() { | 191 RefCountedMemory* FlagsUI::GetFaviconResourceBytes() { |
| 193 return ResourceBundle::GetSharedInstance(). | 192 return ResourceBundle::GetSharedInstance(). |
| 194 LoadDataResourceBytes(IDR_FLAGS); | 193 LoadDataResourceBytes(IDR_FLAGS); |
| 195 } | 194 } |
| 196 | 195 |
| 197 // static | 196 // static |
| 198 void FlagsUI::RegisterUserPrefs(PrefService* prefs) { | 197 void FlagsUI::RegisterPrefs(PrefService* local_state) { |
| 199 prefs->RegisterListPref(prefs::kEnabledLabsExperiments); | 198 local_state->RegisterListPref(prefs::kEnabledLabsExperiments); |
| 200 } | 199 } |
| OLD | NEW |