Fix reporting of Extensions.KnownDisabledReDisabled to also report 0 when there are no known_disabled extensions.

As it is now we don't report neither Extensions.KnownDisabledReDisabled:0, nor Extensions.KnownDisabledInitialized, when there are no known_disabled and no currently disabled_extensions.

This CL makes it so that we always report either and will result in an increase of the number of 0 reports for Extensions.KnownDisabledReDisabled.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236109 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index 04204fb..2671bf9 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -1438,41 +1438,41 @@
 }
 
 void ExtensionService::ReconcileKnownDisabled() {
-  ExtensionIdSet known_disabled_ids = extension_prefs_->GetKnownDisabled();
-  if (known_disabled_ids.empty()) {
-    if (!disabled_extensions_.is_empty()) {
-      extension_prefs_->SetKnownDisabled(disabled_extensions_.GetIDs());
-      UMA_HISTOGRAM_BOOLEAN("Extensions.KnownDisabledInitialized", true);
-    }
-  } else {
-    // Both |known_disabled_ids| and |extensions_| are ordered (by definition
-    // of std::map and std::set). Iterate forward over both sets in parallel
-    // to find matching IDs and disable the corresponding extensions.
-    ExtensionSet::const_iterator extensions_it = extensions_.begin();
-    ExtensionIdSet::const_iterator known_disabled_ids_it =
-        known_disabled_ids.begin();
-    int known_disabled_count = 0;
-    while (extensions_it != extensions_.end() &&
-           known_disabled_ids_it != known_disabled_ids.end()) {
-      const std::string& extension_id = extensions_it->get()->id();
-      const int comparison = extension_id.compare(*known_disabled_ids_it);
-      if (comparison < 0) {
-        ++extensions_it;
-      } else if (comparison > 0) {
-        ++known_disabled_ids_it;
-      } else {
-        ++known_disabled_count;
-        // Advance |extensions_it| immediately as it will be invalidated upon
-        // disabling the extension it points to.
-        ++extensions_it;
-        ++known_disabled_ids_it;
-        DisableExtension(extension_id, Extension::DISABLE_KNOWN_DISABLED);
-      }
-    }
-    UMA_HISTOGRAM_COUNTS_100("Extensions.KnownDisabledReDisabled",
-                             known_disabled_count);
+  const ExtensionIdSet known_disabled_ids =
+      extension_prefs_->GetKnownDisabled();
+  if (known_disabled_ids.empty() && !disabled_extensions_.is_empty()) {
+    extension_prefs_->SetKnownDisabled(disabled_extensions_.GetIDs());
+    UMA_HISTOGRAM_BOOLEAN("Extensions.KnownDisabledInitialized", true);
+    return;
   }
 
+  // Both |known_disabled_ids| and |extensions_| are ordered (by definition
+  // of std::map and std::set). Iterate forward over both sets in parallel
+  // to find matching IDs and disable the corresponding extensions.
+  ExtensionSet::const_iterator extensions_it = extensions_.begin();
+  ExtensionIdSet::const_iterator known_disabled_ids_it =
+      known_disabled_ids.begin();
+  int known_disabled_count = 0;
+  while (extensions_it != extensions_.end() &&
+         known_disabled_ids_it != known_disabled_ids.end()) {
+    const std::string& extension_id = extensions_it->get()->id();
+    const int comparison = extension_id.compare(*known_disabled_ids_it);
+    if (comparison < 0) {
+      ++extensions_it;
+    } else if (comparison > 0) {
+      ++known_disabled_ids_it;
+    } else {
+      ++known_disabled_count;
+      // Advance |extensions_it| immediately as it will be invalidated upon
+      // disabling the extension it points to.
+      ++extensions_it;
+      ++known_disabled_ids_it;
+      DisableExtension(extension_id, Extension::DISABLE_KNOWN_DISABLED);
+    }
+  }
+  UMA_HISTOGRAM_COUNTS_100("Extensions.KnownDisabledReDisabled",
+                           known_disabled_count);
+
   // Update the list of known disabled to reflect every change to
   // |disabled_extensions_| from this point forward.
   disabled_extensions_.set_modification_callback(