[Extensions] Fix corrupt extensions metric enum.
Extensions.CorruptExtensionDisabledReason enum values do not match the
code enum ContentVerifyJob::FailureReason. This makes them match.
Also convert UMA macro to function per histogram guidelines.
Bug: N/A
Change-Id: I5c600c58e189a235949f2bb7bd143104cfa03d17
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5293465
Auto-Submit: Justin Lulejian <jlulejian@chromium.org>
Reviewed-by: Devlin Cronin <rdevlin.cronin@chromium.org>
Commit-Queue: Devlin Cronin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1260191}
diff --git a/chrome/browser/extensions/chrome_content_verifier_delegate.cc b/chrome/browser/extensions/chrome_content_verifier_delegate.cc
index 636ce9c4..f1a1108 100644
--- a/chrome/browser/extensions/chrome_content_verifier_delegate.cc
+++ b/chrome/browser/extensions/chrome_content_verifier_delegate.cc
@@ -13,7 +13,7 @@
#include "base/command_line.h"
#include "base/containers/contains.h"
#include "base/metrics/field_trial.h"
-#include "base/metrics/histogram_macros.h"
+#include "base/metrics/histogram_functions.h"
#include "base/strings/escape.h"
#include "base/strings/string_piece.h"
#include "base/strings/string_util.h"
@@ -273,8 +273,8 @@
DCHECK(should_disable);
service->DisableExtension(extension_id, disable_reason::DISABLE_CORRUPTED);
ExtensionPrefs::Get(context_)->IncrementPref(kCorruptedDisableCount);
- UMA_HISTOGRAM_ENUMERATION("Extensions.CorruptExtensionDisabledReason", reason,
- ContentVerifyJob::FAILURE_REASON_MAX);
+ base::UmaHistogramEnumeration("Extensions.CorruptExtensionDisabledReason",
+ reason, ContentVerifyJob::FAILURE_REASON_MAX);
}
void ChromeContentVerifierDelegate::Shutdown() {}
diff --git a/extensions/browser/content_verify_job.h b/extensions/browser/content_verify_job.h
index 329d3650..78fea420 100644
--- a/extensions/browser/content_verify_job.h
+++ b/extensions/browser/content_verify_job.h
@@ -39,6 +39,9 @@
// can be created and used on any thread.
class ContentVerifyJob : public base::RefCountedThreadSafe<ContentVerifyJob> {
public:
+ // Used in UMA metrics. Ensure this stays in sync with
+ // CorruptExtensionDisabledReason in
+ // //tools/metrics/histograms/metadata/extensions/enums.xml.
enum FailureReason {
// No failure.
NONE,
diff --git a/tools/metrics/histograms/metadata/extensions/enums.xml b/tools/metrics/histograms/metadata/extensions/enums.xml
index f777bf2c..18e2cd83 100644
--- a/tools/metrics/histograms/metadata/extensions/enums.xml
+++ b/tools/metrics/histograms/metadata/extensions/enums.xml
@@ -57,8 +57,9 @@
</summary>
<int value="0" label="Unknown Reason"/>
<int value="1" label="Missing All Hashes"/>
- <int value="2" label="Missing File Hash"/>
- <int value="3" label="Hash Mismatch"/>
+ <int value="2" label="Corrupted Hashes"/>
+ <int value="3" label="No Hashes For File"/>
+ <int value="4" label="Hash Mismatch"/>
</enum>
<enum name="DeclarativeAPIFunctionType">
diff --git a/tools/metrics/histograms/metadata/extensions/histograms.xml b/tools/metrics/histograms/metadata/extensions/histograms.xml
index 534a74a..a7a1c8c9 100644
--- a/tools/metrics/histograms/metadata/extensions/histograms.xml
+++ b/tools/metrics/histograms/metadata/extensions/histograms.xml
@@ -464,8 +464,7 @@
<histogram name="Extensions.CorruptExtensionDisabledReason"
enum="CorruptExtensionDisabledReason" expires_after="2024-11-20">
- <owner>lazyboy@chromium.org</owner>
- <owner>rockot@chromium.org</owner>
+ <owner>jlulejian@chromium.org</owner>
<owner>extensions-core@chromium.org</owner>
<summary>
The reason why an extension was detected to be corrupted. Recorded each time