diff options
author | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-30 21:47:47 +0000 |
---|---|---|
committer | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-30 21:47:47 +0000 |
commit | aa9fc86056fa9ba83d7ea037c151a842ceb033d4 (patch) | |
tree | 4b62d485e4d5872dc42a2f2665bef338d7fe2ffb | |
parent | 9dcf7d960195b6f3acaeade12ec5f43e3c7e638b (diff) | |
download | chromium_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.cc | 35 |
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); |