Add more UMA histograms for sideloaded apps/extensions.
- Extensions.ExternalExtensionEventNonWebstore
- Extensions.ExternalExtensionEventWebstore
- Extensions.ExternalItemState
- Extensions.FromWebstoreInconsistency
- Extensions.NonWebstoreLocation

BUG=268666
[email protected], [email protected]

Review URL: https://codereview.chromium.org/22258004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216046 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index 275daa81..87d18e99 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -793,6 +793,15 @@
     UMA_HISTOGRAM_ENUMERATION("Extensions.ExternalExtensionEvent",
                               EXTERNAL_EXTENSION_UNINSTALLED,
                               EXTERNAL_EXTENSION_BUCKET_BOUNDARY);
+    if (extensions::ManifestURL::UpdatesFromGallery(extension.get())) {
+      UMA_HISTOGRAM_ENUMERATION("Extensions.ExternalExtensionEventWebstore",
+                                EXTERNAL_EXTENSION_UNINSTALLED,
+                                EXTERNAL_EXTENSION_BUCKET_BOUNDARY);
+    } else {
+      UMA_HISTOGRAM_ENUMERATION("Extensions.ExternalExtensionEventNonWebstore",
+                                EXTERNAL_EXTENSION_UNINSTALLED,
+                                EXTERNAL_EXTENSION_BUCKET_BOUNDARY);
+    }
   }
   UMA_HISTOGRAM_ENUMERATION("Extensions.UninstallType",
                             extension->GetType(), 100);
@@ -913,6 +922,15 @@
     UMA_HISTOGRAM_ENUMERATION("Extensions.ExternalExtensionEvent",
                               EXTERNAL_EXTENSION_REENABLED,
                               EXTERNAL_EXTENSION_BUCKET_BOUNDARY);
+    if (extensions::ManifestURL::UpdatesFromGallery(extension)) {
+      UMA_HISTOGRAM_ENUMERATION("Extensions.ExternalExtensionEventWebstore",
+                                EXTERNAL_EXTENSION_REENABLED,
+                                EXTERNAL_EXTENSION_BUCKET_BOUNDARY);
+    } else {
+      UMA_HISTOGRAM_ENUMERATION("Extensions.ExternalExtensionEventNonWebstore",
+                                EXTERNAL_EXTENSION_REENABLED,
+                                EXTERNAL_EXTENSION_BUCKET_BOUNDARY);
+    }
     AcknowledgeExternalExtension(extension->id());
   }
 
@@ -1821,6 +1839,17 @@
         UMA_HISTOGRAM_ENUMERATION("Extensions.ExternalExtensionEvent",
                                   EXTERNAL_EXTENSION_IGNORED,
                                   EXTERNAL_EXTENSION_BUCKET_BOUNDARY);
+        if (extensions::ManifestURL::UpdatesFromGallery(extension)) {
+          UMA_HISTOGRAM_ENUMERATION(
+              "Extensions.ExternalExtensionEventWebstore",
+              EXTERNAL_EXTENSION_IGNORED,
+              EXTERNAL_EXTENSION_BUCKET_BOUNDARY);
+        } else {
+          UMA_HISTOGRAM_ENUMERATION(
+              "Extensions.ExternalExtensionEventNonWebstore",
+              EXTERNAL_EXTENSION_IGNORED,
+              EXTERNAL_EXTENSION_BUCKET_BOUNDARY);
+        }
         return;
       }
       if (is_first_run_)
@@ -2542,6 +2571,15 @@
     UMA_HISTOGRAM_ENUMERATION("Extensions.ExternalExtensionEvent",
                               EXTERNAL_EXTENSION_INSTALLED,
                               EXTERNAL_EXTENSION_BUCKET_BOUNDARY);
+    if (extensions::ManifestURL::UpdatesFromGallery(extension)) {
+      UMA_HISTOGRAM_ENUMERATION("Extensions.ExternalExtensionEventWebstore",
+                                EXTERNAL_EXTENSION_INSTALLED,
+                                EXTERNAL_EXTENSION_BUCKET_BOUNDARY);
+    } else {
+      UMA_HISTOGRAM_ENUMERATION("Extensions.ExternalExtensionEventNonWebstore",
+                                EXTERNAL_EXTENSION_INSTALLED,
+                                EXTERNAL_EXTENSION_BUCKET_BOUNDARY);
+    }
   }
 
   // Check extensions that may have been delayed only because this shared module