summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-30 21:47:47 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-30 21:47:47 +0000
commitaa9fc86056fa9ba83d7ea037c151a842ceb033d4 (patch)
tree4b62d485e4d5872dc42a2f2665bef338d7fe2ffb
parent9dcf7d960195b6f3acaeade12ec5f43e3c7e638b (diff)
downloadchromium_src-aa9fc86056fa9ba83d7ea037c151a842ceb033d4.zip
chromium_src-aa9fc86056fa9ba83d7ea037c151a842ceb033d4.tar.gz
chromium_src-aa9fc86056fa9ba83d7ea037c151a842ceb033d4.tar.bz2
Add histogram for off-store installation disallowed.
BUG=55584 Review URL: https://chromiumcodereview.appspot.com/10448040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139641 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/extensions/crx_installer.cc35
1 files changed, 30 insertions, 5 deletions
diff --git a/chrome/browser/extensions/crx_installer.cc b/chrome/browser/extensions/crx_installer.cc
index 922b1e8..32023cf 100644
--- a/chrome/browser/extensions/crx_installer.cc
+++ b/chrome/browser/extensions/crx_installer.cc
@@ -53,6 +53,20 @@ using content::UserMetricsAction;
using extensions::Extension;
using extensions::PermissionsUpdater;
+namespace {
+
+// Used in histograms; do not change order.
+enum WebStoreInstallDecision {
+ InstallAllowedBecauseStore,
+ InstallAllowedBecauseTheme,
+ InstallAllowedBecauseAllAllowed,
+ InstallAllowedBecauseThisAllowed,
+ InstallDisallowedBecauseOffStore,
+ NumWebStoreInstallDecision
+};
+
+} // namespace
+
// static
scoped_refptr<CrxInstaller> CrxInstaller::Create(
ExtensionService* frontend,
@@ -191,10 +205,22 @@ bool CrxInstaller::AllowInstall(const Extension* extension,
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
DCHECK(error);
- if (!extension->is_theme() &&
- !extensions::switch_utils::IsOffStoreInstallEnabled() &&
- !allow_off_store_install_ &&
- !is_gallery_install()) {
+ const char* kHistogramName = "Extensions.WebStoreInstallDecision";
+ if (is_gallery_install()) {
+ UMA_HISTOGRAM_ENUMERATION(kHistogramName, InstallAllowedBecauseStore,
+ NumWebStoreInstallDecision);
+ } else if (extension->is_theme()) {
+ UMA_HISTOGRAM_ENUMERATION(kHistogramName, InstallAllowedBecauseTheme,
+ NumWebStoreInstallDecision);
+ } else if (extensions::switch_utils::IsOffStoreInstallEnabled()) {
+ UMA_HISTOGRAM_ENUMERATION(kHistogramName, InstallAllowedBecauseAllAllowed,
+ NumWebStoreInstallDecision);
+ } else if (allow_off_store_install_) {
+ UMA_HISTOGRAM_ENUMERATION(kHistogramName, InstallAllowedBecauseThisAllowed,
+ NumWebStoreInstallDecision);
+ } else {
+ UMA_HISTOGRAM_ENUMERATION(kHistogramName, InstallDisallowedBecauseOffStore,
+ NumWebStoreInstallDecision);
*error = l10n_util::GetStringUTF16(
IDS_EXTENSION_INSTALL_DISALLOWED_ON_SITE);
return false;
@@ -292,7 +318,6 @@ void CrxInstaller::OnUnpackFailure(const string16& error_message) {
UMA_HISTOGRAM_ENUMERATION("Extensions.UnpackFailureInstallSource",
install_source(), Extension::NUM_LOCATIONS);
-
UMA_HISTOGRAM_ENUMERATION("Extensions.UnpackFailureInstallCause",
install_cause(),
extension_misc::NUM_INSTALL_CAUSES);