Index: chrome/browser/chromeos/extensions/info_private_api.cc |
=================================================================== |
--- chrome/browser/chromeos/extensions/info_private_api.cc (revision 167824) |
+++ chrome/browser/chromeos/extensions/info_private_api.cc (working copy) |
@@ -54,8 +54,8 @@ |
for (size_t i = 0; i < list->GetSize(); ++i) { |
std::string property_name; |
EXTENSION_FUNCTION_VALIDATE(list->GetString(i, &property_name)); |
- Value* value = GetValue(property_name); |
- if (value) |
+ Value* value = NULL; |
+ if (GetValue(property_name, &value)) |
result->Set(property_name, value); |
} |
SetResult(result.release()); |
@@ -63,33 +63,34 @@ |
return true; |
} |
-base::Value* GetChromeosInfoFunction::GetValue( |
- const std::string& property_name) { |
+bool GetChromeosInfoFunction::GetValue(const std::string& property_name, |
+ Value** value) { |
if (property_name == kPropertyHWID) { |
std::string hwid; |
chromeos::system::StatisticsProvider* provider = |
chromeos::system::StatisticsProvider::GetInstance(); |
provider->GetMachineStatistic(kHardwareClass, &hwid); |
- return new base::StringValue(hwid); |
+ *value = Value::CreateStringValue(hwid); |
} else if (property_name == kPropertyHomeProvider) { |
NetworkLibrary* netlib = CrosLibrary::Get()->GetNetworkLibrary(); |
- return new base::StringValue(netlib->GetCellularHomeCarrierId()); |
+ *value = Value::CreateStringValue(netlib->GetCellularHomeCarrierId()); |
} else if (property_name == kPropertyInitialLocale) { |
- return new base::StringValue( |
+ *value = Value::CreateStringValue( |
chromeos::WizardController::GetInitialLocale()); |
} else if (property_name == kPropertyBoard) { |
std::string board; |
chromeos::system::StatisticsProvider* provider = |
chromeos::system::StatisticsProvider::GetInstance(); |
provider->GetMachineStatistic(kPropertyReleaseBoard, &board); |
- return new base::StringValue(board); |
+ *value = Value::CreateStringValue(board); |
} else if (property_name == kPropertyOwner) { |
- return Value::CreateBooleanValue( |
+ *value = Value::CreateBooleanValue( |
chromeos::UserManager::Get()->IsCurrentUserOwner()); |
+ } else { |
+ LOG(ERROR) << "Unknown property request: " << property_name; |
+ return false; |
} |
- |
- DLOG(ERROR) << "Unknown property request: " << property_name; |
- return NULL; |
+ return true; |
} |
} // namespace extensions |