Chromium Code Reviews| Index: chrome/browser/dom_ui/options/core_options_handler.cc |
| diff --git a/chrome/browser/dom_ui/options/core_options_handler.cc b/chrome/browser/dom_ui/options/core_options_handler.cc |
| index ab8a6d4615ae833a7e6e52fc4ed2114e0e4902bb..8fc118d23c78caf854c0cbf4412cdc7a5a580069 100644 |
| --- a/chrome/browser/dom_ui/options/core_options_handler.cc |
| +++ b/chrome/browser/dom_ui/options/core_options_handler.cc |
| @@ -135,6 +135,8 @@ void CoreOptionsHandler::RegisterMessages() { |
| NewCallback(this, &CoreOptionsHandler::HandleSetBooleanPref)); |
| dom_ui_->RegisterMessageCallback("setIntegerPref", |
| NewCallback(this, &CoreOptionsHandler::HandleSetIntegerPref)); |
| + dom_ui_->RegisterMessageCallback("setRealPref", |
| + NewCallback(this, &CoreOptionsHandler::HandleSetRealPref)); |
| dom_ui_->RegisterMessageCallback("setStringPref", |
| NewCallback(this, &CoreOptionsHandler::HandleSetStringPref)); |
| dom_ui_->RegisterMessageCallback("setObjectPref", |
| @@ -181,14 +183,25 @@ void CoreOptionsHandler::SetPref(const std::string& pref_name, |
| case Value::TYPE_BOOLEAN: |
| pref_service->SetBoolean(pref_name.c_str(), value_string == "true"); |
| break; |
| + |
| case Value::TYPE_INTEGER: |
| int int_value; |
| - if (base::StringToInt(value_string, &int_value)) |
| - pref_service->SetInteger(pref_name.c_str(), int_value); |
| + 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
|
| + pref_service->SetInteger(pref_name.c_str(), int_value); |
| + |
| + break; |
| + |
| + case Value::TYPE_REAL: |
| + double double_value; |
| + CHECK(base::StringToDouble(value_string, &double_value)); |
| + pref_service->SetReal(pref_name.c_str(), double_value); |
| + |
| break; |
| + |
| case Value::TYPE_STRING: |
| pref_service->SetString(pref_name.c_str(), value_string); |
| break; |
| + |
| default: |
| NOTREACHED(); |
| return; |
| @@ -299,6 +312,10 @@ void CoreOptionsHandler::HandleSetIntegerPref(const ListValue* args) { |
| HandleSetPref(args, Value::TYPE_INTEGER); |
| } |
| +void CoreOptionsHandler::HandleSetRealPref(const ListValue* args) { |
| + HandleSetPref(args, Value::TYPE_REAL); |
| +} |
| + |
| void CoreOptionsHandler::HandleSetStringPref(const ListValue* args) { |
| HandleSetPref(args, Value::TYPE_STRING); |
| } |