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

Side by Side Diff: chrome/browser/extensions/extension_management.cc

Issue 2740143002: Change base::Value::ListStorage to std::vector<base::Value> (Closed)
Patch Set: Comment Updates Created 3 years, 9 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/extensions/extension_management.h" 5 #include "chrome/browser/extensions/extension_management.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 if (subdict->GetList(schema_constants::kAllowedTypes, &list_value)) 292 if (subdict->GetList(schema_constants::kAllowedTypes, &list_value))
293 allowed_types_pref = list_value; 293 allowed_types_pref = list_value;
294 } 294 }
295 295
296 // Parse legacy preferences. 296 // Parse legacy preferences.
297 ExtensionId id; 297 ExtensionId id;
298 298
299 if (allowed_list_pref) { 299 if (allowed_list_pref) {
300 for (base::ListValue::const_iterator it = allowed_list_pref->begin(); 300 for (base::ListValue::const_iterator it = allowed_list_pref->begin();
301 it != allowed_list_pref->end(); ++it) { 301 it != allowed_list_pref->end(); ++it) {
302 if ((*it)->GetAsString(&id) && crx_file::id_util::IdIsValid(id)) 302 if (it->GetAsString(&id) && crx_file::id_util::IdIsValid(id))
303 AccessById(id)->installation_mode = INSTALLATION_ALLOWED; 303 AccessById(id)->installation_mode = INSTALLATION_ALLOWED;
304 } 304 }
305 } 305 }
306 306
307 if (denied_list_pref) { 307 if (denied_list_pref) {
308 for (base::ListValue::const_iterator it = denied_list_pref->begin(); 308 for (base::ListValue::const_iterator it = denied_list_pref->begin();
309 it != denied_list_pref->end(); ++it) { 309 it != denied_list_pref->end(); ++it) {
310 if ((*it)->GetAsString(&id) && crx_file::id_util::IdIsValid(id)) 310 if (it->GetAsString(&id) && crx_file::id_util::IdIsValid(id))
311 AccessById(id)->installation_mode = INSTALLATION_BLOCKED; 311 AccessById(id)->installation_mode = INSTALLATION_BLOCKED;
312 } 312 }
313 } 313 }
314 314
315 UpdateForcedExtensions(forced_list_pref); 315 UpdateForcedExtensions(forced_list_pref);
316 UpdateForcedExtensions(login_screen_app_list_pref); 316 UpdateForcedExtensions(login_screen_app_list_pref);
317 317
318 if (install_sources_pref) { 318 if (install_sources_pref) {
319 global_settings_->has_restricted_install_sources = true; 319 global_settings_->has_restricted_install_sources = true;
320 for (base::ListValue::const_iterator it = install_sources_pref->begin(); 320 for (base::ListValue::const_iterator it = install_sources_pref->begin();
321 it != install_sources_pref->end(); ++it) { 321 it != install_sources_pref->end(); ++it) {
322 std::string url_pattern; 322 std::string url_pattern;
323 if ((*it)->GetAsString(&url_pattern)) { 323 if (it->GetAsString(&url_pattern)) {
324 URLPattern entry(URLPattern::SCHEME_ALL); 324 URLPattern entry(URLPattern::SCHEME_ALL);
325 if (entry.Parse(url_pattern) == URLPattern::PARSE_SUCCESS) { 325 if (entry.Parse(url_pattern) == URLPattern::PARSE_SUCCESS) {
326 global_settings_->install_sources.AddPattern(entry); 326 global_settings_->install_sources.AddPattern(entry);
327 } else { 327 } else {
328 LOG(WARNING) << "Invalid URL pattern in for preference " 328 LOG(WARNING) << "Invalid URL pattern in for preference "
329 << pref_names::kAllowedInstallSites << ": " 329 << pref_names::kAllowedInstallSites << ": "
330 << url_pattern << "."; 330 << url_pattern << ".";
331 } 331 }
332 } 332 }
333 } 333 }
334 } 334 }
335 335
336 if (allowed_types_pref) { 336 if (allowed_types_pref) {
337 global_settings_->has_restricted_allowed_types = true; 337 global_settings_->has_restricted_allowed_types = true;
338 for (base::ListValue::const_iterator it = allowed_types_pref->begin(); 338 for (base::ListValue::const_iterator it = allowed_types_pref->begin();
339 it != allowed_types_pref->end(); ++it) { 339 it != allowed_types_pref->end(); ++it) {
340 int int_value; 340 int int_value;
341 std::string string_value; 341 std::string string_value;
342 if ((*it)->GetAsInteger(&int_value) && int_value >= 0 && 342 if (it->GetAsInteger(&int_value) && int_value >= 0 &&
343 int_value < Manifest::Type::NUM_LOAD_TYPES) { 343 int_value < Manifest::Type::NUM_LOAD_TYPES) {
344 global_settings_->allowed_types.push_back( 344 global_settings_->allowed_types.push_back(
345 static_cast<Manifest::Type>(int_value)); 345 static_cast<Manifest::Type>(int_value));
346 } else if ((*it)->GetAsString(&string_value)) { 346 } else if (it->GetAsString(&string_value)) {
347 Manifest::Type manifest_type = 347 Manifest::Type manifest_type =
348 schema_constants::GetManifestType(string_value); 348 schema_constants::GetManifestType(string_value);
349 if (manifest_type != Manifest::TYPE_UNKNOWN) 349 if (manifest_type != Manifest::TYPE_UNKNOWN)
350 global_settings_->allowed_types.push_back(manifest_type); 350 global_settings_->allowed_types.push_back(manifest_type);
351 } 351 }
352 } 352 }
353 } 353 }
354 354
355 if (dict_pref) { 355 if (dict_pref) {
356 // Parse new extension management preference. 356 // Parse new extension management preference.
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
513 content::BrowserContext* context) const { 513 content::BrowserContext* context) const {
514 return chrome::GetBrowserContextRedirectedInIncognito(context); 514 return chrome::GetBrowserContextRedirectedInIncognito(context);
515 } 515 }
516 516
517 void ExtensionManagementFactory::RegisterProfilePrefs( 517 void ExtensionManagementFactory::RegisterProfilePrefs(
518 user_prefs::PrefRegistrySyncable* user_prefs) { 518 user_prefs::PrefRegistrySyncable* user_prefs) {
519 user_prefs->RegisterDictionaryPref(pref_names::kExtensionManagement); 519 user_prefs->RegisterDictionaryPref(pref_names::kExtensionManagement);
520 } 520 }
521 521
522 } // namespace extensions 522 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698