Index: chrome/renderer/translate/translate_helper_metrics.cc |
diff --git a/chrome/renderer/translate/translate_helper_metrics.cc b/chrome/renderer/translate/translate_helper_metrics.cc |
index 91626b1ce46015abd3bc4c163eaed120d579e1f9..cf283394aff96856376d54eea92955823f51bbc2 100644 |
--- a/chrome/renderer/translate/translate_helper_metrics.cc |
+++ b/chrome/renderer/translate/translate_helper_metrics.cc |
@@ -13,6 +13,7 @@ namespace { |
// a corresponding index in MetricsNameIndex and an entry in |kMetricsEntries|. |
const char kRenderer4LanguageDetection[] = "Renderer4.LanguageDetection"; |
const char kTranslateContentLanguage[] = "Translate.ContentLanguage"; |
+const char kTranslateHtmlLang[] = "Translate.HtmlLang"; |
const char kTranslateLanguageVerification[] = "Translate.LanguageVerification"; |
const char kTranslateTimeToBeReady[] = "Translate.TimeToBeReady"; |
const char kTranslateTimeToLoad[] = "Translate.TimeToLoad"; |
@@ -34,6 +35,8 @@ const MetricsEntry kMetricsEntries[] = { |
kRenderer4LanguageDetection }, |
{ TranslateHelperMetrics::UMA_CONTENT_LANGUAGE, |
kTranslateContentLanguage }, |
+ { TranslateHelperMetrics::UMA_HTML_LANG, |
+ kTranslateHtmlLang }, |
{ TranslateHelperMetrics::UMA_LANGUAGE_VERIFICATION, |
kTranslateLanguageVerification }, |
{ TranslateHelperMetrics::UMA_TIME_TO_BE_READY, |
@@ -51,25 +54,32 @@ const MetricsEntry kMetricsEntries[] = { |
COMPILE_ASSERT(arraysize(kMetricsEntries) == TranslateHelperMetrics::UMA_MAX, |
arraysize_of_kMetricsEntries_should_be_UMA_MAX); |
+TranslateHelperMetrics::LanguageCheckType GetLanguageCheckMetric( |
+ const std::string& provided_code, |
+ const std::string& revised_code) { |
+ if (provided_code.empty()) |
+ return TranslateHelperMetrics::LANGUAGE_NOT_PROVIDED; |
+ else if (provided_code == revised_code) |
+ return TranslateHelperMetrics::LANGUAGE_VALID; |
+ return TranslateHelperMetrics::LANGUAGE_INVALID; |
+} |
+ |
} // namespace |
namespace TranslateHelperMetrics { |
void ReportContentLanguage(const std::string& provided_code, |
const std::string& revised_code) { |
- if (provided_code.empty()) { |
- UMA_HISTOGRAM_ENUMERATION(kTranslateContentLanguage, |
- CONTENT_LANGUAGE_NOT_PROVIDED, |
- CONTENT_LANGUAGE_MAX); |
- } else if (provided_code == revised_code) { |
- UMA_HISTOGRAM_ENUMERATION(kTranslateContentLanguage, |
- CONTENT_LANGUAGE_VALID, |
- CONTENT_LANGUAGE_MAX); |
- } else { |
- UMA_HISTOGRAM_ENUMERATION(kTranslateContentLanguage, |
- CONTENT_LANGUAGE_INVALID, |
- CONTENT_LANGUAGE_MAX); |
- } |
+ UMA_HISTOGRAM_ENUMERATION(kTranslateContentLanguage, |
+ GetLanguageCheckMetric(provided_code, revised_code), |
+ TranslateHelperMetrics::LANGUAGE_MAX); |
+} |
+ |
+void ReportHtmlLang(const std::string& provided_code, |
+ const std::string& revised_code) { |
+ UMA_HISTOGRAM_ENUMERATION(kTranslateHtmlLang, |
+ GetLanguageCheckMetric(provided_code, revised_code), |
+ TranslateHelperMetrics::LANGUAGE_MAX); |
} |
void ReportLanguageVerification(LanguageVerificationType type) { |