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 "base/files/file_path.h" | 7 #include "base/files/file_path.h" |
8 #include "base/metrics/histogram.h" | 8 #include "base/metrics/histogram.h" |
9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 } | 108 } |
109 | 109 |
110 BackgroundPageType GetBackgroundPageType(const Extension* extension) { | 110 BackgroundPageType GetBackgroundPageType(const Extension* extension) { |
111 if (!BackgroundInfo::HasBackgroundPage(extension)) | 111 if (!BackgroundInfo::HasBackgroundPage(extension)) |
112 return NO_BACKGROUND_PAGE; | 112 return NO_BACKGROUND_PAGE; |
113 if (BackgroundInfo::HasPersistentBackgroundPage(extension)) | 113 if (BackgroundInfo::HasPersistentBackgroundPage(extension)) |
114 return BACKGROUND_PAGE_PERSISTENT; | 114 return BACKGROUND_PAGE_PERSISTENT; |
115 return EVENT_PAGE; | 115 return EVENT_PAGE; |
116 } | 116 } |
117 | 117 |
| 118 // Records the creation flags of an extension grouped by |
| 119 // Extension::InitFromValueFlags. |
| 120 void RecordCreationFlags(const Extension* extension) { |
| 121 for (int i = 0; i < Extension::kInitFromValueFlagBits; ++i) { |
| 122 int flag = 1 << i; |
| 123 if (extension->creation_flags() & flag) { |
| 124 UMA_HISTOGRAM_ENUMERATION( |
| 125 "Extensions.LoadCreationFlags", i, Extension::kInitFromValueFlagBits); |
| 126 } |
| 127 } |
| 128 } |
| 129 |
118 } // namespace | 130 } // namespace |
119 | 131 |
120 InstalledLoader::InstalledLoader(ExtensionService* extension_service) | 132 InstalledLoader::InstalledLoader(ExtensionService* extension_service) |
121 : extension_service_(extension_service), | 133 : extension_service_(extension_service), |
122 extension_registry_(ExtensionRegistry::Get(extension_service->profile())), | 134 extension_registry_(ExtensionRegistry::Get(extension_service->profile())), |
123 extension_prefs_(ExtensionPrefs::Get(extension_service->profile())) {} | 135 extension_prefs_(ExtensionPrefs::Get(extension_service->profile())) {} |
124 | 136 |
125 InstalledLoader::~InstalledLoader() { | 137 InstalledLoader::~InstalledLoader() { |
126 } | 138 } |
127 | 139 |
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
403 ExtensionActionManager* extension_action_manager = | 415 ExtensionActionManager* extension_action_manager = |
404 ExtensionActionManager::Get(extension_service_->profile()); | 416 ExtensionActionManager::Get(extension_service_->profile()); |
405 if (extension_action_manager->GetPageAction(*ex->get())) | 417 if (extension_action_manager->GetPageAction(*ex->get())) |
406 ++page_action_count; | 418 ++page_action_count; |
407 if (extension_action_manager->GetBrowserAction(*ex->get())) | 419 if (extension_action_manager->GetBrowserAction(*ex->get())) |
408 ++browser_action_count; | 420 ++browser_action_count; |
409 | 421 |
410 if (extensions::ManagedModeInfo::IsContentPack(ex->get())) | 422 if (extensions::ManagedModeInfo::IsContentPack(ex->get())) |
411 ++content_pack_count; | 423 ++content_pack_count; |
412 | 424 |
| 425 RecordCreationFlags(*ex); |
| 426 |
413 extension_service_->RecordPermissionMessagesHistogram( | 427 extension_service_->RecordPermissionMessagesHistogram( |
414 ex->get(), "Extensions.Permissions_Load"); | 428 ex->get(), "Extensions.Permissions_Load"); |
415 } | 429 } |
416 | 430 |
417 const ExtensionSet& disabled_extensions = | 431 const ExtensionSet& disabled_extensions = |
418 extension_registry_->disabled_extensions(); | 432 extension_registry_->disabled_extensions(); |
419 for (ex = disabled_extensions.begin(); ex != disabled_extensions.end(); | 433 for (ex = disabled_extensions.begin(); ex != disabled_extensions.end(); |
420 ++ex) { | 434 ++ex) { |
421 if (extension_prefs_->DidExtensionEscalatePermissions((*ex)->id())) { | 435 if (extension_prefs_->DidExtensionEscalatePermissions((*ex)->id())) { |
422 ++disabled_for_permissions_count; | 436 ++disabled_for_permissions_count; |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
484 int InstalledLoader::GetCreationFlags(const ExtensionInfo* info) { | 498 int InstalledLoader::GetCreationFlags(const ExtensionInfo* info) { |
485 int flags = extension_prefs_->GetCreationFlags(info->extension_id); | 499 int flags = extension_prefs_->GetCreationFlags(info->extension_id); |
486 if (!Manifest::IsUnpackedLocation(info->extension_location)) | 500 if (!Manifest::IsUnpackedLocation(info->extension_location)) |
487 flags |= Extension::REQUIRE_KEY; | 501 flags |= Extension::REQUIRE_KEY; |
488 if (extension_prefs_->AllowFileAccess(info->extension_id)) | 502 if (extension_prefs_->AllowFileAccess(info->extension_id)) |
489 flags |= Extension::ALLOW_FILE_ACCESS; | 503 flags |= Extension::ALLOW_FILE_ACCESS; |
490 return flags; | 504 return flags; |
491 } | 505 } |
492 | 506 |
493 } // namespace extensions | 507 } // namespace extensions |
OLD | NEW |