| Index: chrome/browser/extensions/installed_loader.cc
|
| diff --git a/chrome/browser/extensions/installed_loader.cc b/chrome/browser/extensions/installed_loader.cc
|
| index ab16252f0df436508c00f4ed1db55d1644c44059..73ea40c059f929b528e066b510a9ab2f7fd4f6fc 100644
|
| --- a/chrome/browser/extensions/installed_loader.cc
|
| +++ b/chrome/browser/extensions/installed_loader.cc
|
| @@ -45,36 +45,40 @@ namespace errors = manifest_errors;
|
| namespace {
|
|
|
| // The following enumeration is used in histograms matching
|
| -// Extensions.ManifestReload* . Values may be added, as long as existing
|
| -// values are not changed.
|
| +// Extensions.ManifestReload*.
|
| enum ManifestReloadReason {
|
| - NOT_NEEDED = 0, // Reload not needed.
|
| - UNPACKED_DIR, // Unpacked directory.
|
| + NOT_NEEDED = 0, // Reload not needed.
|
| + UNPACKED_DIR, // Unpacked directory.
|
| NEEDS_RELOCALIZATION, // The locale has changed since we read this extension.
|
| - CORRUPT_PREFERENCES, // The manifest in the preferences is corrupt.
|
| + CORRUPT_PREFERENCES, // The manifest in the preferences is corrupt.
|
| +
|
| + // New enum values must go above here.
|
| NUM_MANIFEST_RELOAD_REASONS
|
| };
|
|
|
| -// Used in histogram Extension.BackgroundPageType. Values may be added, as
|
| -// long as existing values are not changed.
|
| +// Used in histogram Extension.BackgroundPageType.
|
| enum BackgroundPageType {
|
| NO_BACKGROUND_PAGE = 0,
|
| - BACKGROUND_PAGE_PERSISTENT = 1,
|
| - EVENT_PAGE = 2,
|
| + BACKGROUND_PAGE_PERSISTENT,
|
| + EVENT_PAGE,
|
| +
|
| + // New enum values must go above here.
|
| + NUM_BACKGROUND_PAGE_TYPES
|
| };
|
|
|
| -// Used in histogram Extensions.ExternalItemState. Values may be added, as
|
| -// long as existing values are not changed.
|
| +// Used in histogram Extensions.ExternalItemState.
|
| enum ExternalItemState {
|
| DEPRECATED_EXTERNAL_ITEM_DISABLED = 0,
|
| - DEPRECATED_EXTERNAL_ITEM_ENABLED = 1,
|
| - EXTERNAL_ITEM_WEBSTORE_DISABLED = 2,
|
| - EXTERNAL_ITEM_WEBSTORE_ENABLED = 3,
|
| - EXTERNAL_ITEM_NONWEBSTORE_DISABLED = 4,
|
| - EXTERNAL_ITEM_NONWEBSTORE_ENABLED = 5,
|
| - EXTERNAL_ITEM_WEBSTORE_UNINSTALLED = 6,
|
| - EXTERNAL_ITEM_NONWEBSTORE_UNINSTALLED = 7,
|
| - EXTERNAL_ITEM_MAX_ITEMS = 8
|
| + DEPRECATED_EXTERNAL_ITEM_ENABLED,
|
| + EXTERNAL_ITEM_WEBSTORE_DISABLED,
|
| + EXTERNAL_ITEM_WEBSTORE_ENABLED,
|
| + EXTERNAL_ITEM_NONWEBSTORE_DISABLED,
|
| + EXTERNAL_ITEM_NONWEBSTORE_ENABLED,
|
| + EXTERNAL_ITEM_WEBSTORE_UNINSTALLED,
|
| + EXTERNAL_ITEM_NONWEBSTORE_UNINSTALLED,
|
| +
|
| + // New enum values must go above here.
|
| + EXTERNAL_ITEM_MAX_ITEMS
|
| };
|
|
|
| bool IsManifestCorrupt(const base::DictionaryValue* manifest) {
|
| @@ -160,7 +164,6 @@ void InstalledLoader::Load(const ExtensionInfo& info, bool write_to_prefs) {
|
| info.extension_id != extension->id()) {
|
| error = errors::kCannotChangeExtensionID;
|
| extension = NULL;
|
| - content::RecordAction(UserMetricsAction("Extensions.IDChangedError"));
|
| }
|
|
|
| // Check policy on every load in case an extension was blacklisted while
|
| @@ -222,8 +225,6 @@ void InstalledLoader::LoadAllExtensions() {
|
|
|
| ManifestReloadReason reload_reason = ShouldReloadExtensionManifest(*info);
|
| ++reload_reason_counts[reload_reason];
|
| - UMA_HISTOGRAM_ENUMERATION("Extensions.ManifestReloadEnumValue",
|
| - reload_reason, 100);
|
|
|
| if (reload_reason != NOT_NEEDED) {
|
| // Reloading an extension reads files from disk. We do this on the
|
| @@ -294,7 +295,6 @@ void InstalledLoader::LoadAllExtensions() {
|
| int page_action_count = 0;
|
| int browser_action_count = 0;
|
| int disabled_for_permissions_count = 0;
|
| - int item_user_count = 0;
|
| int non_webstore_ntp_override_count = 0;
|
| int incognito = 0;
|
| int not_incognito = 0;
|
| @@ -316,13 +316,15 @@ void InstalledLoader::LoadAllExtensions() {
|
| // muck up any of the stats. Later, though, we want to omit component and
|
| // unpacked, as they are less interesting.
|
| if (extension->is_app())
|
| - UMA_HISTOGRAM_ENUMERATION("Extensions.AppLocation", location, 100);
|
| + UMA_HISTOGRAM_ENUMERATION(
|
| + "Extensions.AppLocation", location, Manifest::NUM_LOCATIONS);
|
| else if (extension->is_extension())
|
| - UMA_HISTOGRAM_ENUMERATION("Extensions.ExtensionLocation", location, 100);
|
| + UMA_HISTOGRAM_ENUMERATION(
|
| + "Extensions.ExtensionLocation", location, Manifest::NUM_LOCATIONS);
|
|
|
| if (!ManifestURL::UpdatesFromGallery(extension)) {
|
| UMA_HISTOGRAM_ENUMERATION(
|
| - "Extensions.NonWebstoreLocation", location, 100);
|
| + "Extensions.NonWebstoreLocation", location, Manifest::NUM_LOCATIONS);
|
|
|
| // Check for inconsistencies if the extension was supposedly installed
|
| // from the webstore.
|
| @@ -370,7 +372,7 @@ void InstalledLoader::LoadAllExtensions() {
|
|
|
| UMA_HISTOGRAM_ENUMERATION("Extensions.ManifestVersion",
|
| extension->manifest_version(),
|
| - 10);
|
| + 10); // TODO(kalman): Why 10 manifest versions?
|
|
|
| // We might have wanted to count legacy packaged apps here, too, since they
|
| // are effectively extensions. Unfortunately, it's too late, as we don't
|
| @@ -378,13 +380,14 @@ void InstalledLoader::LoadAllExtensions() {
|
| if (type == Manifest::TYPE_EXTENSION) {
|
| UMA_HISTOGRAM_ENUMERATION("Extensions.BackgroundPageType",
|
| GetBackgroundPageType(extension),
|
| - 10);
|
| + NUM_BACKGROUND_PAGE_TYPES);
|
| }
|
|
|
| // Using an enumeration shows us the total installed ratio across all users.
|
| // Using the totals per user at each startup tells us the distribution of
|
| // usage for each user (e.g. 40% of users have at least one app installed).
|
| - UMA_HISTOGRAM_ENUMERATION("Extensions.LoadType", type, 100);
|
| + UMA_HISTOGRAM_ENUMERATION(
|
| + "Extensions.LoadType", type, Manifest::NUM_LOAD_TYPES);
|
| switch (type) {
|
| case Manifest::TYPE_THEME:
|
| ++theme_count;
|
| @@ -425,8 +428,6 @@ void InstalledLoader::LoadAllExtensions() {
|
| }
|
| break;
|
| }
|
| - if (!Manifest::IsExternalLocation(location))
|
| - ++item_user_count;
|
|
|
| if (extension_action_manager->GetPageAction(*extension))
|
| ++page_action_count;
|
| @@ -502,7 +503,6 @@ void InstalledLoader::LoadAllExtensions() {
|
| }
|
| }
|
|
|
| - UMA_HISTOGRAM_COUNTS_100("Extensions.LoadAllUser", item_user_count);
|
| UMA_HISTOGRAM_COUNTS_100("Extensions.LoadApp",
|
| app_user_count + app_external_count);
|
| UMA_HISTOGRAM_COUNTS_100("Extensions.LoadAppUser", app_user_count);
|
|
|