| OLD | NEW |
| 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/installed_loader.h" | 5 #include "chrome/browser/extensions/installed_loader.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
| 10 #include "base/metrics/histogram_macros.h" | 10 #include "base/metrics/histogram_macros.h" |
| (...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 extension_service_->AddExtension(extension.get()); | 236 extension_service_->AddExtension(extension.get()); |
| 237 } | 237 } |
| 238 | 238 |
| 239 void InstalledLoader::LoadAllExtensions() { | 239 void InstalledLoader::LoadAllExtensions() { |
| 240 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 240 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 241 TRACE_EVENT0("browser,startup", "InstalledLoader::LoadAllExtensions"); | 241 TRACE_EVENT0("browser,startup", "InstalledLoader::LoadAllExtensions"); |
| 242 SCOPED_UMA_HISTOGRAM_TIMER("Extensions.LoadAllTime2"); | 242 SCOPED_UMA_HISTOGRAM_TIMER("Extensions.LoadAllTime2"); |
| 243 base::TimeTicks start_time = base::TimeTicks::Now(); | 243 base::TimeTicks start_time = base::TimeTicks::Now(); |
| 244 | 244 |
| 245 Profile* profile = extension_service_->profile(); | 245 Profile* profile = extension_service_->profile(); |
| 246 scoped_ptr<ExtensionPrefs::ExtensionsInfo> extensions_info( | 246 std::unique_ptr<ExtensionPrefs::ExtensionsInfo> extensions_info( |
| 247 extension_prefs_->GetInstalledExtensionsInfo()); | 247 extension_prefs_->GetInstalledExtensionsInfo()); |
| 248 | 248 |
| 249 std::vector<int> reload_reason_counts(NUM_MANIFEST_RELOAD_REASONS, 0); | 249 std::vector<int> reload_reason_counts(NUM_MANIFEST_RELOAD_REASONS, 0); |
| 250 bool should_write_prefs = false; | 250 bool should_write_prefs = false; |
| 251 | 251 |
| 252 for (size_t i = 0; i < extensions_info->size(); ++i) { | 252 for (size_t i = 0; i < extensions_info->size(); ++i) { |
| 253 ExtensionInfo* info = extensions_info->at(i).get(); | 253 ExtensionInfo* info = extensions_info->at(i).get(); |
| 254 | 254 |
| 255 // Skip extensions that were loaded from the command-line because we don't | 255 // Skip extensions that were loaded from the command-line because we don't |
| 256 // want those to persist across browser restart. | 256 // want those to persist across browser restart. |
| (...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 549 EXTERNAL_ITEM_WEBSTORE_DISABLED, | 549 EXTERNAL_ITEM_WEBSTORE_DISABLED, |
| 550 EXTERNAL_ITEM_MAX_ITEMS); | 550 EXTERNAL_ITEM_MAX_ITEMS); |
| 551 } else { | 551 } else { |
| 552 UMA_HISTOGRAM_ENUMERATION("Extensions.ExternalItemState", | 552 UMA_HISTOGRAM_ENUMERATION("Extensions.ExternalItemState", |
| 553 EXTERNAL_ITEM_NONWEBSTORE_DISABLED, | 553 EXTERNAL_ITEM_NONWEBSTORE_DISABLED, |
| 554 EXTERNAL_ITEM_MAX_ITEMS); | 554 EXTERNAL_ITEM_MAX_ITEMS); |
| 555 } | 555 } |
| 556 } | 556 } |
| 557 } | 557 } |
| 558 | 558 |
| 559 scoped_ptr<ExtensionPrefs::ExtensionsInfo> uninstalled_extensions_info( | 559 std::unique_ptr<ExtensionPrefs::ExtensionsInfo> uninstalled_extensions_info( |
| 560 extension_prefs_->GetUninstalledExtensionsInfo()); | 560 extension_prefs_->GetUninstalledExtensionsInfo()); |
| 561 for (size_t i = 0; i < uninstalled_extensions_info->size(); ++i) { | 561 for (size_t i = 0; i < uninstalled_extensions_info->size(); ++i) { |
| 562 ExtensionInfo* info = uninstalled_extensions_info->at(i).get(); | 562 ExtensionInfo* info = uninstalled_extensions_info->at(i).get(); |
| 563 if (Manifest::IsExternalLocation(info->extension_location)) { | 563 if (Manifest::IsExternalLocation(info->extension_location)) { |
| 564 std::string update_url; | 564 std::string update_url; |
| 565 if (info->extension_manifest->GetString("update_url", &update_url) && | 565 if (info->extension_manifest->GetString("update_url", &update_url) && |
| 566 extension_urls::IsWebstoreUpdateUrl(GURL(update_url))) { | 566 extension_urls::IsWebstoreUpdateUrl(GURL(update_url))) { |
| 567 UMA_HISTOGRAM_ENUMERATION("Extensions.ExternalItemState", | 567 UMA_HISTOGRAM_ENUMERATION("Extensions.ExternalItemState", |
| 568 EXTERNAL_ITEM_WEBSTORE_UNINSTALLED, | 568 EXTERNAL_ITEM_WEBSTORE_UNINSTALLED, |
| 569 EXTERNAL_ITEM_MAX_ITEMS); | 569 EXTERNAL_ITEM_MAX_ITEMS); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 623 int InstalledLoader::GetCreationFlags(const ExtensionInfo* info) { | 623 int InstalledLoader::GetCreationFlags(const ExtensionInfo* info) { |
| 624 int flags = extension_prefs_->GetCreationFlags(info->extension_id); | 624 int flags = extension_prefs_->GetCreationFlags(info->extension_id); |
| 625 if (!Manifest::IsUnpackedLocation(info->extension_location)) | 625 if (!Manifest::IsUnpackedLocation(info->extension_location)) |
| 626 flags |= Extension::REQUIRE_KEY; | 626 flags |= Extension::REQUIRE_KEY; |
| 627 if (extension_prefs_->AllowFileAccess(info->extension_id)) | 627 if (extension_prefs_->AllowFileAccess(info->extension_id)) |
| 628 flags |= Extension::ALLOW_FILE_ACCESS; | 628 flags |= Extension::ALLOW_FILE_ACCESS; |
| 629 return flags; | 629 return flags; |
| 630 } | 630 } |
| 631 | 631 |
| 632 } // namespace extensions | 632 } // namespace extensions |
| OLD | NEW |