Chromium Code Reviews| 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/options/core_options_handler.h" | 5 #include "chrome/browser/dom_ui/options/core_options_handler.h" |
| 6 | 6 |
| 7 #include "app/l10n_util.h" | 7 #include "app/l10n_util.h" |
| 8 #include "base/string16.h" | 8 #include "base/string16.h" |
| 9 #include "base/string_number_conversions.h" | 9 #include "base/string_number_conversions.h" |
| 10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 128 dom_ui_->RegisterMessageCallback("coreOptionsInitialize", | 128 dom_ui_->RegisterMessageCallback("coreOptionsInitialize", |
| 129 NewCallback(this, &CoreOptionsHandler::HandleInitialize)); | 129 NewCallback(this, &CoreOptionsHandler::HandleInitialize)); |
| 130 dom_ui_->RegisterMessageCallback("fetchPrefs", | 130 dom_ui_->RegisterMessageCallback("fetchPrefs", |
| 131 NewCallback(this, &CoreOptionsHandler::HandleFetchPrefs)); | 131 NewCallback(this, &CoreOptionsHandler::HandleFetchPrefs)); |
| 132 dom_ui_->RegisterMessageCallback("observePrefs", | 132 dom_ui_->RegisterMessageCallback("observePrefs", |
| 133 NewCallback(this, &CoreOptionsHandler::HandleObservePrefs)); | 133 NewCallback(this, &CoreOptionsHandler::HandleObservePrefs)); |
| 134 dom_ui_->RegisterMessageCallback("setBooleanPref", | 134 dom_ui_->RegisterMessageCallback("setBooleanPref", |
| 135 NewCallback(this, &CoreOptionsHandler::HandleSetBooleanPref)); | 135 NewCallback(this, &CoreOptionsHandler::HandleSetBooleanPref)); |
| 136 dom_ui_->RegisterMessageCallback("setIntegerPref", | 136 dom_ui_->RegisterMessageCallback("setIntegerPref", |
| 137 NewCallback(this, &CoreOptionsHandler::HandleSetIntegerPref)); | 137 NewCallback(this, &CoreOptionsHandler::HandleSetIntegerPref)); |
| 138 dom_ui_->RegisterMessageCallback("setRealPref", | |
| 139 NewCallback(this, &CoreOptionsHandler::HandleSetRealPref)); | |
| 138 dom_ui_->RegisterMessageCallback("setStringPref", | 140 dom_ui_->RegisterMessageCallback("setStringPref", |
| 139 NewCallback(this, &CoreOptionsHandler::HandleSetStringPref)); | 141 NewCallback(this, &CoreOptionsHandler::HandleSetStringPref)); |
| 140 dom_ui_->RegisterMessageCallback("setObjectPref", | 142 dom_ui_->RegisterMessageCallback("setObjectPref", |
| 141 NewCallback(this, &CoreOptionsHandler::HandleSetObjectPref)); | 143 NewCallback(this, &CoreOptionsHandler::HandleSetObjectPref)); |
| 142 dom_ui_->RegisterMessageCallback("clearPref", | 144 dom_ui_->RegisterMessageCallback("clearPref", |
| 143 NewCallback(this, &CoreOptionsHandler::HandleClearPref)); | 145 NewCallback(this, &CoreOptionsHandler::HandleClearPref)); |
| 144 dom_ui_->RegisterMessageCallback("coreOptionsUserMetricsAction", | 146 dom_ui_->RegisterMessageCallback("coreOptionsUserMetricsAction", |
| 145 NewCallback(this, &CoreOptionsHandler::HandleUserMetricsAction)); | 147 NewCallback(this, &CoreOptionsHandler::HandleUserMetricsAction)); |
| 146 } | 148 } |
| 147 | 149 |
| (...skipping 26 matching lines...) Expand all Loading... | |
| 174 void CoreOptionsHandler::SetPref(const std::string& pref_name, | 176 void CoreOptionsHandler::SetPref(const std::string& pref_name, |
| 175 Value::ValueType pref_type, | 177 Value::ValueType pref_type, |
| 176 const std::string& value_string, | 178 const std::string& value_string, |
| 177 const std::string& metric) { | 179 const std::string& metric) { |
| 178 PrefService* pref_service = dom_ui_->GetProfile()->GetPrefs(); | 180 PrefService* pref_service = dom_ui_->GetProfile()->GetPrefs(); |
| 179 | 181 |
| 180 switch (pref_type) { | 182 switch (pref_type) { |
| 181 case Value::TYPE_BOOLEAN: | 183 case Value::TYPE_BOOLEAN: |
| 182 pref_service->SetBoolean(pref_name.c_str(), value_string == "true"); | 184 pref_service->SetBoolean(pref_name.c_str(), value_string == "true"); |
| 183 break; | 185 break; |
| 186 | |
| 184 case Value::TYPE_INTEGER: | 187 case Value::TYPE_INTEGER: |
| 185 int int_value; | 188 int int_value; |
| 186 if (base::StringToInt(value_string, &int_value)) | 189 CHECK(base::StringToInt(value_string, &int_value)); |
|
stuartmorgan
2011/01/12 22:59:41
We're going to crash the whole browser for end use
Evan Stade
2011/01/12 23:19:20
yes. We have complete control over the options pag
| |
| 187 pref_service->SetInteger(pref_name.c_str(), int_value); | 190 pref_service->SetInteger(pref_name.c_str(), int_value); |
| 191 | |
| 188 break; | 192 break; |
| 193 | |
| 194 case Value::TYPE_REAL: | |
| 195 double double_value; | |
| 196 CHECK(base::StringToDouble(value_string, &double_value)); | |
| 197 pref_service->SetReal(pref_name.c_str(), double_value); | |
| 198 | |
| 199 break; | |
| 200 | |
| 189 case Value::TYPE_STRING: | 201 case Value::TYPE_STRING: |
| 190 pref_service->SetString(pref_name.c_str(), value_string); | 202 pref_service->SetString(pref_name.c_str(), value_string); |
| 191 break; | 203 break; |
| 204 | |
| 192 default: | 205 default: |
| 193 NOTREACHED(); | 206 NOTREACHED(); |
| 194 return; | 207 return; |
| 195 } | 208 } |
| 196 | 209 |
| 197 pref_service->ScheduleSavePersistentPrefs(); | 210 pref_service->ScheduleSavePersistentPrefs(); |
| 198 ProcessUserMetric(pref_type, value_string, metric); | 211 ProcessUserMetric(pref_type, value_string, metric); |
| 199 } | 212 } |
| 200 | 213 |
| 201 void CoreOptionsHandler::ClearPref(const std::string& pref_name, | 214 void CoreOptionsHandler::ClearPref(const std::string& pref_name, |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 292 } | 305 } |
| 293 | 306 |
| 294 void CoreOptionsHandler::HandleSetBooleanPref(const ListValue* args) { | 307 void CoreOptionsHandler::HandleSetBooleanPref(const ListValue* args) { |
| 295 HandleSetPref(args, Value::TYPE_BOOLEAN); | 308 HandleSetPref(args, Value::TYPE_BOOLEAN); |
| 296 } | 309 } |
| 297 | 310 |
| 298 void CoreOptionsHandler::HandleSetIntegerPref(const ListValue* args) { | 311 void CoreOptionsHandler::HandleSetIntegerPref(const ListValue* args) { |
| 299 HandleSetPref(args, Value::TYPE_INTEGER); | 312 HandleSetPref(args, Value::TYPE_INTEGER); |
| 300 } | 313 } |
| 301 | 314 |
| 315 void CoreOptionsHandler::HandleSetRealPref(const ListValue* args) { | |
| 316 HandleSetPref(args, Value::TYPE_REAL); | |
| 317 } | |
| 318 | |
| 302 void CoreOptionsHandler::HandleSetStringPref(const ListValue* args) { | 319 void CoreOptionsHandler::HandleSetStringPref(const ListValue* args) { |
| 303 HandleSetPref(args, Value::TYPE_STRING); | 320 HandleSetPref(args, Value::TYPE_STRING); |
| 304 } | 321 } |
| 305 | 322 |
| 306 void CoreOptionsHandler::HandleSetObjectPref(const ListValue* args) { | 323 void CoreOptionsHandler::HandleSetObjectPref(const ListValue* args) { |
| 307 HandleSetPref(args, Value::TYPE_NULL); | 324 HandleSetPref(args, Value::TYPE_NULL); |
| 308 } | 325 } |
| 309 | 326 |
| 310 void CoreOptionsHandler::HandleSetPref(const ListValue* args, | 327 void CoreOptionsHandler::HandleSetPref(const ListValue* args, |
| 311 Value::ValueType type) { | 328 Value::ValueType type) { |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 360 | 377 |
| 361 DictionaryValue* dict = new DictionaryValue; | 378 DictionaryValue* dict = new DictionaryValue; |
| 362 dict->Set("value", pref->GetValue()->DeepCopy()); | 379 dict->Set("value", pref->GetValue()->DeepCopy()); |
| 363 dict->SetBoolean("managed", pref->IsManaged()); | 380 dict->SetBoolean("managed", pref->IsManaged()); |
| 364 result_value.Append(dict); | 381 result_value.Append(dict); |
| 365 | 382 |
| 366 dom_ui_->CallJavascriptFunction(callback_function, result_value); | 383 dom_ui_->CallJavascriptFunction(callback_function, result_value); |
| 367 } | 384 } |
| 368 } | 385 } |
| 369 } | 386 } |
| OLD | NEW |