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

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

Issue 1871713002: Convert //chrome/browser/extensions from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase and fix header Created 4 years, 8 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/external_provider_impl.h" 5 #include "chrome/browser/extensions/external_provider_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <set> 9 #include <set>
10 #include <vector> 10 #include <vector>
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 if (!path.IsAbsolute()) { 336 if (!path.IsAbsolute()) {
337 base::FilePath base_path = loader_->GetBaseCrxFilePath(); 337 base::FilePath base_path = loader_->GetBaseCrxFilePath();
338 if (base_path.empty()) { 338 if (base_path.empty()) {
339 LOG(WARNING) << "File path " << external_crx.c_str() 339 LOG(WARNING) << "File path " << external_crx.c_str()
340 << " is relative. An absolute path is required."; 340 << " is relative. An absolute path is required.";
341 continue; 341 continue;
342 } 342 }
343 path = base_path.Append(external_crx); 343 path = base_path.Append(external_crx);
344 } 344 }
345 345
346 scoped_ptr<Version> version(new Version(external_version)); 346 std::unique_ptr<Version> version(new Version(external_version));
347 if (!version->IsValid()) { 347 if (!version->IsValid()) {
348 LOG(WARNING) << "Malformed extension dictionary for extension: " 348 LOG(WARNING) << "Malformed extension dictionary for extension: "
349 << extension_id.c_str() << ". Invalid version string \"" 349 << extension_id.c_str() << ". Invalid version string \""
350 << external_version << "\"."; 350 << external_version << "\".";
351 continue; 351 continue;
352 } 352 }
353 external_file_extensions->push_back(new ExternalInstallInfoFile( 353 external_file_extensions->push_back(new ExternalInstallInfoFile(
354 extension_id, std::move(version), path, crx_location_, creation_flags, 354 extension_id, std::move(version), path, crx_location_, creation_flags,
355 auto_acknowledge_, install_immediately_)); 355 auto_acknowledge_, install_immediately_));
356 } else { // if (has_external_update_url) 356 } else { // if (has_external_update_url)
357 CHECK(has_external_update_url); // Checking of keys above ensures this. 357 CHECK(has_external_update_url); // Checking of keys above ensures this.
358 if (download_location_ == Manifest::INVALID_LOCATION) { 358 if (download_location_ == Manifest::INVALID_LOCATION) {
359 LOG(WARNING) << "This provider does not support installing external " 359 LOG(WARNING) << "This provider does not support installing external "
360 << "extensions from update URLs."; 360 << "extensions from update URLs.";
361 continue; 361 continue;
362 } 362 }
363 scoped_ptr<GURL> update_url(new GURL(external_update_url)); 363 std::unique_ptr<GURL> update_url(new GURL(external_update_url));
364 if (!update_url->is_valid()) { 364 if (!update_url->is_valid()) {
365 LOG(WARNING) << "Malformed extension dictionary for extension: " 365 LOG(WARNING) << "Malformed extension dictionary for extension: "
366 << extension_id.c_str() << ". Key " << kExternalUpdateUrl 366 << extension_id.c_str() << ". Key " << kExternalUpdateUrl
367 << " has value \"" << external_update_url 367 << " has value \"" << external_update_url
368 << "\", which is not a valid URL."; 368 << "\", which is not a valid URL.";
369 continue; 369 continue;
370 } 370 }
371 external_update_url_extensions->push_back( 371 external_update_url_extensions->push_back(
372 new ExternalInstallInfoUpdateUrl( 372 new ExternalInstallInfoUpdateUrl(
373 extension_id, install_parameter, std::move(update_url), 373 extension_id, install_parameter, std::move(update_url),
(...skipping 19 matching lines...) Expand all
393 393
394 bool ExternalProviderImpl::HasExtension( 394 bool ExternalProviderImpl::HasExtension(
395 const std::string& id) const { 395 const std::string& id) const {
396 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 396 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
397 CHECK(prefs_.get()); 397 CHECK(prefs_.get());
398 CHECK(ready_); 398 CHECK(ready_);
399 return prefs_->HasKey(id); 399 return prefs_->HasKey(id);
400 } 400 }
401 401
402 bool ExternalProviderImpl::GetExtensionDetails( 402 bool ExternalProviderImpl::GetExtensionDetails(
403 const std::string& id, Manifest::Location* location, 403 const std::string& id,
404 scoped_ptr<Version>* version) const { 404 Manifest::Location* location,
405 std::unique_ptr<Version>* version) const {
405 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 406 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
406 CHECK(prefs_.get()); 407 CHECK(prefs_.get());
407 CHECK(ready_); 408 CHECK(ready_);
408 base::DictionaryValue* extension = NULL; 409 base::DictionaryValue* extension = NULL;
409 if (!prefs_->GetDictionary(id, &extension)) 410 if (!prefs_->GetDictionary(id, &extension))
410 return false; 411 return false;
411 412
412 Manifest::Location loc = Manifest::INVALID_LOCATION; 413 Manifest::Location loc = Manifest::INVALID_LOCATION;
413 if (extension->HasKey(kExternalUpdateUrl)) { 414 if (extension->HasKey(kExternalUpdateUrl)) {
414 loc = download_location_; 415 loc = download_location_;
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 if (!kiosk_app_manager->external_loader_created()) { 551 if (!kiosk_app_manager->external_loader_created()) {
551 // For enterprise managed kiosk apps, change the location to 552 // For enterprise managed kiosk apps, change the location to
552 // "force-installed by policy". 553 // "force-installed by policy".
553 policy::BrowserPolicyConnectorChromeOS* const connector = 554 policy::BrowserPolicyConnectorChromeOS* const connector =
554 g_browser_process->platform_part() 555 g_browser_process->platform_part()
555 ->browser_policy_connector_chromeos(); 556 ->browser_policy_connector_chromeos();
556 Manifest::Location location = Manifest::EXTERNAL_PREF; 557 Manifest::Location location = Manifest::EXTERNAL_PREF;
557 if (connector && connector->IsEnterpriseManaged()) 558 if (connector && connector->IsEnterpriseManaged())
558 location = Manifest::EXTERNAL_POLICY; 559 location = Manifest::EXTERNAL_POLICY;
559 560
560 scoped_ptr<ExternalProviderImpl> kiosk_app_provider( 561 std::unique_ptr<ExternalProviderImpl> kiosk_app_provider(
561 new ExternalProviderImpl( 562 new ExternalProviderImpl(
562 service, kiosk_app_manager->CreateExternalLoader(), profile, 563 service, kiosk_app_manager->CreateExternalLoader(), profile,
563 location, Manifest::INVALID_LOCATION, Extension::NO_FLAGS)); 564 location, Manifest::INVALID_LOCATION, Extension::NO_FLAGS));
564 kiosk_app_provider->set_auto_acknowledge(true); 565 kiosk_app_provider->set_auto_acknowledge(true);
565 kiosk_app_provider->set_install_immediately(true); 566 kiosk_app_provider->set_install_immediately(true);
566 provider_list->push_back( 567 provider_list->push_back(
567 linked_ptr<ExternalProviderInterface>(kiosk_app_provider.release())); 568 linked_ptr<ExternalProviderInterface>(kiosk_app_provider.release()));
568 } 569 }
569 570
570 // Kiosk secondary app external provider. 571 // Kiosk secondary app external provider.
571 if (!kiosk_app_manager->secondary_app_external_loader_created()) { 572 if (!kiosk_app_manager->secondary_app_external_loader_created()) {
572 scoped_ptr<ExternalProviderImpl> secondary_kiosk_app_provider( 573 std::unique_ptr<ExternalProviderImpl> secondary_kiosk_app_provider(
573 new ExternalProviderImpl( 574 new ExternalProviderImpl(
574 service, kiosk_app_manager->CreateSecondaryAppExternalLoader(), 575 service, kiosk_app_manager->CreateSecondaryAppExternalLoader(),
575 profile, Manifest::EXTERNAL_PREF, 576 profile, Manifest::EXTERNAL_PREF,
576 Manifest::EXTERNAL_PREF_DOWNLOAD, Extension::NO_FLAGS)); 577 Manifest::EXTERNAL_PREF_DOWNLOAD, Extension::NO_FLAGS));
577 secondary_kiosk_app_provider->set_auto_acknowledge(true); 578 secondary_kiosk_app_provider->set_auto_acknowledge(true);
578 secondary_kiosk_app_provider->set_install_immediately(true); 579 secondary_kiosk_app_provider->set_install_immediately(true);
579 provider_list->push_back(linked_ptr<ExternalProviderInterface>( 580 provider_list->push_back(linked_ptr<ExternalProviderInterface>(
580 secondary_kiosk_app_provider.release())); 581 secondary_kiosk_app_provider.release()));
581 } 582 }
582 #endif 583 #endif
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
712 service, 713 service,
713 new ExternalPrefLoader(chrome::DIR_DEFAULT_APPS, 714 new ExternalPrefLoader(chrome::DIR_DEFAULT_APPS,
714 ExternalPrefLoader::NONE, 715 ExternalPrefLoader::NONE,
715 NULL), 716 NULL),
716 Manifest::INTERNAL, 717 Manifest::INTERNAL,
717 Manifest::INTERNAL, 718 Manifest::INTERNAL,
718 Extension::FROM_WEBSTORE | 719 Extension::FROM_WEBSTORE |
719 Extension::WAS_INSTALLED_BY_DEFAULT))); 720 Extension::WAS_INSTALLED_BY_DEFAULT)));
720 #endif 721 #endif
721 722
722 scoped_ptr<ExternalProviderImpl> drive_migration_provider( 723 std::unique_ptr<ExternalProviderImpl> drive_migration_provider(
723 new ExternalProviderImpl( 724 new ExternalProviderImpl(
724 service, 725 service,
725 new ExtensionMigrator(profile, 726 new ExtensionMigrator(profile, extension_misc::kDriveHostedAppId,
726 extension_misc::kDriveHostedAppId,
727 extension_misc::kDriveExtensionId), 727 extension_misc::kDriveExtensionId),
728 profile, 728 profile, Manifest::EXTERNAL_PREF, Manifest::EXTERNAL_PREF_DOWNLOAD,
729 Manifest::EXTERNAL_PREF, 729 Extension::FROM_WEBSTORE | Extension::WAS_INSTALLED_BY_DEFAULT));
730 Manifest::EXTERNAL_PREF_DOWNLOAD,
731 Extension::FROM_WEBSTORE |
732 Extension::WAS_INSTALLED_BY_DEFAULT));
733 drive_migration_provider->set_auto_acknowledge(true); 730 drive_migration_provider->set_auto_acknowledge(true);
734 provider_list->push_back(linked_ptr<ExternalProviderInterface>( 731 provider_list->push_back(linked_ptr<ExternalProviderInterface>(
735 drive_migration_provider.release())); 732 drive_migration_provider.release()));
736 } 733 }
737 734
738 provider_list->push_back( 735 provider_list->push_back(
739 linked_ptr<ExternalProviderInterface>( 736 linked_ptr<ExternalProviderInterface>(
740 new ExternalProviderImpl( 737 new ExternalProviderImpl(
741 service, 738 service,
742 new ExternalComponentLoader(profile), 739 new ExternalComponentLoader(profile),
743 profile, 740 profile,
744 Manifest::INVALID_LOCATION, 741 Manifest::INVALID_LOCATION,
745 Manifest::EXTERNAL_COMPONENT, 742 Manifest::EXTERNAL_COMPONENT,
746 Extension::FROM_WEBSTORE | Extension::WAS_INSTALLED_BY_DEFAULT))); 743 Extension::FROM_WEBSTORE | Extension::WAS_INSTALLED_BY_DEFAULT)));
747 } 744 }
748 745
749 } // namespace extensions 746 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698