Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(661)

Side by Side Diff: chrome/browser/extensions/api/settings_private/prefs_util.cc

Issue 1315173003: PrefObject -> PrefData (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "base/prefs/pref_service.h" 5 #include "base/prefs/pref_service.h"
6 #include "chrome/browser/browser_process.h" 6 #include "chrome/browser/browser_process.h"
7 #include "chrome/browser/extensions/api/settings_private/prefs_util.h" 7 #include "chrome/browser/extensions/api/settings_private/prefs_util.h"
8 #include "chrome/browser/extensions/chrome_extension_function.h" 8 #include "chrome/browser/extensions/chrome_extension_function.h"
9 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/common/pref_names.h" 10 #include "chrome/common/pref_names.h"
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 return IsPrefTypeURL(name) 115 return IsPrefTypeURL(name)
116 ? api::settings_private::PrefType::PREF_TYPE_URL 116 ? api::settings_private::PrefType::PREF_TYPE_URL
117 : api::settings_private::PrefType::PREF_TYPE_STRING; 117 : api::settings_private::PrefType::PREF_TYPE_STRING;
118 case base::Value::Type::TYPE_LIST: 118 case base::Value::Type::TYPE_LIST:
119 return api::settings_private::PrefType::PREF_TYPE_LIST; 119 return api::settings_private::PrefType::PREF_TYPE_LIST;
120 default: 120 default:
121 return api::settings_private::PrefType::PREF_TYPE_NONE; 121 return api::settings_private::PrefType::PREF_TYPE_NONE;
122 } 122 }
123 } 123 }
124 124
125 scoped_ptr<api::settings_private::PrefObject> PrefsUtil::GetCrosSettingsPref( 125 scoped_ptr<api::settings_private::PrefData> PrefsUtil::GetCrosSettingsPref(
126 const std::string& name) { 126 const std::string& name) {
127 scoped_ptr<api::settings_private::PrefObject> pref_object( 127 scoped_ptr<api::settings_private::PrefData> pref_data(
128 new api::settings_private::PrefObject()); 128 new api::settings_private::PrefData());
129 129
130 #if defined(OS_CHROMEOS) 130 #if defined(OS_CHROMEOS)
131 const base::Value* value = CrosSettings::Get()->GetPref(name); 131 const base::Value* value = CrosSettings::Get()->GetPref(name);
132 pref_object->key = name; 132 pref_data->key = name;
133 pref_object->type = GetType(name, value->GetType()); 133 pref_data->type = GetType(name, value->GetType());
134 pref_object->value.reset(value->DeepCopy()); 134 pref_data->value.reset(value->DeepCopy());
135 #endif 135 #endif
136 136
137 return pref_object.Pass(); 137 return pref_data.Pass();
138 } 138 }
139 139
140 scoped_ptr<api::settings_private::PrefObject> PrefsUtil::GetPref( 140 scoped_ptr<api::settings_private::PrefData> PrefsUtil::GetPref(
141 const std::string& name) { 141 const std::string& name) {
142 if (IsCrosSetting(name)) 142 if (IsCrosSetting(name))
143 return GetCrosSettingsPref(name); 143 return GetCrosSettingsPref(name);
144 144
145 PrefService* pref_service = FindServiceForPref(name); 145 PrefService* pref_service = FindServiceForPref(name);
146 const PrefService::Preference* pref = pref_service->FindPreference(name); 146 const PrefService::Preference* pref = pref_service->FindPreference(name);
147 if (!pref) 147 if (!pref)
148 return nullptr; 148 return nullptr;
149 149
150 scoped_ptr<api::settings_private::PrefObject> pref_object( 150 scoped_ptr<api::settings_private::PrefData> pref_data(
151 new api::settings_private::PrefObject()); 151 new api::settings_private::PrefData());
152 pref_object->key = pref->name(); 152 pref_data->key = pref->name();
153 pref_object->type = GetType(name, pref->GetType()); 153 pref_data->type = GetType(name, pref->GetType());
154 pref_object->value.reset(pref->GetValue()->DeepCopy()); 154 pref_data->value.reset(pref->GetValue()->DeepCopy());
155 155
156 if (pref->IsManaged()) { 156 if (pref->IsManaged()) {
157 if (pref->IsManagedByCustodian()) { 157 if (pref->IsManagedByCustodian()) {
158 pref_object->policy_source = 158 pref_data->policy_source =
159 api::settings_private::PolicySource::POLICY_SOURCE_DEVICE; 159 api::settings_private::PolicySource::POLICY_SOURCE_DEVICE;
160 } else { 160 } else {
161 pref_object->policy_source = 161 pref_data->policy_source =
162 api::settings_private::PolicySource::POLICY_SOURCE_USER; 162 api::settings_private::PolicySource::POLICY_SOURCE_USER;
163 } 163 }
164 pref_object->policy_enforcement = 164 pref_data->policy_enforcement =
165 pref->IsRecommended() ? api::settings_private::PolicyEnforcement:: 165 pref->IsRecommended() ? api::settings_private::PolicyEnforcement::
166 POLICY_ENFORCEMENT_RECOMMENDED 166 POLICY_ENFORCEMENT_RECOMMENDED
167 : api::settings_private::PolicyEnforcement:: 167 : api::settings_private::PolicyEnforcement::
168 POLICY_ENFORCEMENT_ENFORCED; 168 POLICY_ENFORCEMENT_ENFORCED;
169 } else if (!IsPrefUserModifiable(name)) { 169 } else if (!IsPrefUserModifiable(name)) {
170 pref_object->policy_source = 170 pref_data->policy_source =
171 api::settings_private::PolicySource::POLICY_SOURCE_USER; 171 api::settings_private::PolicySource::POLICY_SOURCE_USER;
172 pref_object->policy_enforcement = 172 pref_data->policy_enforcement =
173 api::settings_private::PolicyEnforcement::POLICY_ENFORCEMENT_ENFORCED; 173 api::settings_private::PolicyEnforcement::POLICY_ENFORCEMENT_ENFORCED;
174 } 174 }
175 175
176 return pref_object.Pass(); 176 return pref_data.Pass();
177 } 177 }
178 178
179 bool PrefsUtil::SetPref(const std::string& pref_name, 179 bool PrefsUtil::SetPref(const std::string& pref_name,
180 const base::Value* value) { 180 const base::Value* value) {
181 if (IsCrosSetting(pref_name)) 181 if (IsCrosSetting(pref_name))
182 return SetCrosSettingsPref(pref_name, value); 182 return SetCrosSettingsPref(pref_name, value);
183 183
184 PrefService* pref_service = FindServiceForPref(pref_name); 184 PrefService* pref_service = FindServiceForPref(pref_name);
185 185
186 if (!IsPrefUserModifiable(pref_name)) 186 if (!IsPrefUserModifiable(pref_name))
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 343
344 bool PrefsUtil::IsCrosSetting(const std::string& pref_name) { 344 bool PrefsUtil::IsCrosSetting(const std::string& pref_name) {
345 #if defined(OS_CHROMEOS) 345 #if defined(OS_CHROMEOS)
346 return CrosSettings::Get()->IsCrosSettings(pref_name); 346 return CrosSettings::Get()->IsCrosSettings(pref_name);
347 #else 347 #else
348 return false; 348 return false;
349 #endif 349 #endif
350 } 350 }
351 351
352 } // namespace extensions 352 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698