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 25bdf536f57bd82dafc1fc15418a2feaeb9fdc52..d58343829abaf82c9b1765ba802a8e50b97cf872 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"; |
@@ -30,6 +31,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, |
@@ -45,25 +48,36 @@ const MetricsEntry kMetricsEntries[] = { |
COMPILE_ASSERT(arraysize(kMetricsEntries) == TranslateHelperMetrics::UMA_MAX, |
arraysize_of_kMetricsEntries_should_be_UMA_MAX); |
+void ReportLanguageCheck(const char* metric_name, |
+ const std::string& provided_code, |
+ const std::string& revised_code) { |
+ if (provided_code.empty()) { |
+ UMA_HISTOGRAM_ENUMERATION(metric_name, |
Ilya Sherman
2013/05/22 20:26:17
This won't work as you want it to -- the histogram
Takashi Toyoshima
2013/05/23 00:37:14
Thanks.
As you said, unit_tests fails on this.
(So
|
+ TranslateHelperMetrics::LANGUAGE_NOT_PROVIDED, |
+ TranslateHelperMetrics::LANGUAGE_MAX); |
+ } else if (provided_code == revised_code) { |
+ UMA_HISTOGRAM_ENUMERATION(metric_name, |
+ TranslateHelperMetrics::LANGUAGE_VALID, |
+ TranslateHelperMetrics::LANGUAGE_MAX); |
+ } else { |
+ UMA_HISTOGRAM_ENUMERATION(metric_name, |
+ TranslateHelperMetrics::LANGUAGE_INVALID, |
+ TranslateHelperMetrics::LANGUAGE_MAX); |
+ } |
+} |
+ |
} // 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); |
- } |
+ ReportLanguageCheck(kTranslateContentLanguage, provided_code, revised_code); |
+} |
+ |
+void ReportHtmlLang(const std::string& provided_code, |
+ const std::string& revised_code) { |
+ ReportLanguageCheck(kTranslateHtmlLang, provided_code, revised_code); |
} |
void ReportLanguageVerification(LanguageVerificationType type) { |