Index: chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc |
diff --git a/chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc |
index 5a8807e19c8de134932e5ff96edee6c850504d8f..dc1e59937279109c2a334cc957329135ec37c066 100644 |
--- a/chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc |
+++ b/chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc |
@@ -43,9 +43,9 @@ base::Value* CreateSettingsValue(base::Value *value, |
// This function decorates the bare list of emails with some more information |
// needed by the UI to properly display the Accounts page. |
-base::Value* CreateUsersWhitelist(const base::Value *pref_value) { |
- const base::ListValue *list_value = |
- static_cast<const base::ListValue*>(pref_value); |
+base::Value* CreateUsersWhitelist(base::Value *pref_value) { |
+ scoped_ptr<base::ListValue> list_value( |
+ static_cast<base::ListValue*>(pref_value)); |
Mattias Nissler (ping if slow)
2011/12/02 12:13:37
No need to pass a copy into CreateUsersWhitelist?
pastarmovj
2011/12/02 14:43:38
Done.
|
base::ListValue *user_list = new base::ListValue(); |
const User& self = UserManager::Get()->logged_in_user(); |
@@ -118,20 +118,20 @@ base::Value* CoreChromeOSOptionsHandler::FetchPref( |
return ::CoreOptionsHandler::FetchPref(pref_name); |
} |
- const base::Value* pref_value = |
- CrosSettings::Get()->GetPref(pref_name); |
+ const base::Value* pref_value = CrosSettings::Get()->GetPref(pref_name); |
if (!pref_value) |
return base::Value::CreateNullValue(); |
// Lists don't get the standard pref decoration. |
if (pref_value->GetType() == base::Value::TYPE_LIST) { |
if (pref_name == kAccountsPrefUsers) |
- return CreateUsersWhitelist(pref_value); |
+ return CreateUsersWhitelist(pref_value->DeepCopy()); |
+ // Return a copy because the UI will take ownership of this object. |
return pref_value->DeepCopy(); |
} |
// All other prefs are decorated the same way. |
return CreateSettingsValue( |
- pref_value->DeepCopy(), |
+ pref_value->DeepCopy(), // The copy will be owned by the dictionary. |
g_browser_process->browser_policy_connector()->IsEnterpriseManaged(), |
!UserManager::Get()->current_user_is_owner()); |
} |