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

Unified Diff: chrome/browser/extensions/installed_loader.cc

Issue 412003003: Additional metrics for disabled extensions and content verification (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merged latest origin/master Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/extensions/extension_system_impl.cc ('k') | extensions/browser/extension_prefs.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/installed_loader.cc
diff --git a/chrome/browser/extensions/installed_loader.cc b/chrome/browser/extensions/installed_loader.cc
index feb8fe7d4880b0352bbec3d73b1912e964cfeeaa..49fc5277bf5d20e7673da83485f7a8b13de915e2 100644
--- a/chrome/browser/extensions/installed_loader.cc
+++ b/chrome/browser/extensions/installed_loader.cc
@@ -6,6 +6,7 @@
#include "base/files/file_path.h"
#include "base/metrics/histogram.h"
+#include "base/metrics/sparse_histogram.h"
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "base/threading/thread_restrictions.h"
@@ -134,6 +135,27 @@ void RecordCreationFlags(const Extension* extension) {
}
}
+// Helper to record a single disable reason histogram value (see
+// RecordDisableReasons below).
+void RecordDisbleReasonHistogram(int reason) {
+ UMA_HISTOGRAM_SPARSE_SLOWLY("Extensions.DisableReason", reason);
+}
+
+// Records the disable reasons for a single extension grouped by
+// Extension::DisableReason.
+void RecordDisableReasons(int reasons) {
+ // |reasons| is a bitmask with values from Extension::DisabledReason
+ // which are increasing powers of 2.
+ if (reasons == Extension::DISABLE_NONE) {
+ RecordDisbleReasonHistogram(Extension::DISABLE_NONE);
+ return;
+ }
+ for (int reason = 1; reason < Extension::DISABLE_REASON_LAST; reason <<= 1) {
+ if (reasons & reason)
+ RecordDisbleReasonHistogram(reason);
+ }
+}
+
} // namespace
InstalledLoader::InstalledLoader(ExtensionService* extension_service)
@@ -473,6 +495,7 @@ void InstalledLoader::LoadAllExtensions() {
if (extension_prefs_->DidExtensionEscalatePermissions((*ex)->id())) {
++disabled_for_permissions_count;
}
+ RecordDisableReasons(extension_prefs_->GetDisableReasons((*ex)->id()));
if (Manifest::IsExternalLocation((*ex)->location())) {
// See loop above for ENABLED.
if (ManifestURL::UpdatesFromGallery(*ex)) {
@@ -542,6 +565,8 @@ void InstalledLoader::LoadAllExtensions() {
UMA_HISTOGRAM_COUNTS_100("Extensions.FileAccessNotAllowed",
file_access_not_allowed_count);
}
+ UMA_HISTOGRAM_COUNTS_100("Extensions.CorruptExtensionTotalDisables",
+ extension_prefs_->GetCorruptedDisableCount());
}
int InstalledLoader::GetCreationFlags(const ExtensionInfo* info) {
« no previous file with comments | « chrome/browser/extensions/extension_system_impl.cc ('k') | extensions/browser/extension_prefs.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698