| OLD | NEW |
| (Empty) |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef COMPONENTS_TRANSLATE_COMMON_TRANSLATE_METRICS_H_ | |
| 6 #define COMPONENTS_TRANSLATE_COMMON_TRANSLATE_METRICS_H_ | |
| 7 | |
| 8 #include <string> | |
| 9 | |
| 10 #include "base/time/time.h" | |
| 11 | |
| 12 namespace translate { | |
| 13 | |
| 14 // An indexing type to query each UMA entry name via GetMetricsName() function. | |
| 15 // Note: |kMetricsEntries| should be updated when a new entry is added here. | |
| 16 enum MetricsNameIndex { | |
| 17 UMA_LANGUAGE_DETECTION, | |
| 18 UMA_CONTENT_LANGUAGE, | |
| 19 UMA_HTML_LANG, | |
| 20 UMA_LANGUAGE_VERIFICATION, | |
| 21 UMA_TIME_TO_BE_READY, | |
| 22 UMA_TIME_TO_LOAD, | |
| 23 UMA_TIME_TO_TRANSLATE, | |
| 24 UMA_USER_ACTION_DURATION, | |
| 25 UMA_PAGE_SCHEME, | |
| 26 UMA_SIMILAR_LANGUAGE_MATCH, | |
| 27 UMA_MAX, | |
| 28 }; | |
| 29 | |
| 30 // A page may provide a Content-Language HTTP header or a META tag. | |
| 31 // TranslateHelper checks if a server provides a valid Content-Language. | |
| 32 enum LanguageCheckType { | |
| 33 LANGUAGE_NOT_PROVIDED, | |
| 34 LANGUAGE_VALID, | |
| 35 LANGUAGE_INVALID, | |
| 36 LANGUAGE_MAX, | |
| 37 }; | |
| 38 | |
| 39 // When a valid Content-Language is provided, TranslateHelper checks if a | |
| 40 // server provided Content-Language matches to a language CLD determined. | |
| 41 enum LanguageVerificationType { | |
| 42 LANGUAGE_VERIFICATION_CLD_DISABLED, // obsolete | |
| 43 LANGUAGE_VERIFICATION_CLD_ONLY, | |
| 44 LANGUAGE_VERIFICATION_UNKNOWN, | |
| 45 LANGUAGE_VERIFICATION_CLD_AGREE, | |
| 46 LANGUAGE_VERIFICATION_CLD_DISAGREE, | |
| 47 LANGUAGE_VERIFICATION_TRUST_CLD, | |
| 48 LANGUAGE_VERIFICATION_CLD_COMPLEMENT_SUB_CODE, | |
| 49 LANGUAGE_VERIFICATION_MAX, | |
| 50 }; | |
| 51 | |
| 52 // Scheme type of pages Chrome is going to translate. | |
| 53 enum SchemeType { | |
| 54 SCHEME_HTTP, | |
| 55 SCHEME_HTTPS, | |
| 56 SCHEME_OTHERS, | |
| 57 SCHEME_MAX, | |
| 58 }; | |
| 59 | |
| 60 // Called after TranslateHelper verifies a server providing Content-Language | |
| 61 // header. |provided_code| contains a Content-Language header value which a | |
| 62 // server provides. It can be empty string when a server doesn't provide it. | |
| 63 // |revised_code| is a value modified by format error corrector. | |
| 64 void ReportContentLanguage(const std::string& provided_code, | |
| 65 const std::string& revised_code); | |
| 66 | |
| 67 // Called after TranslateHelper verifies a page providing html lang attribute. | |
| 68 // |provided_code| contains a html lang attribute which a page provides. It can | |
| 69 // be empty string when a page doesn't provide it. |revised_code| is a value | |
| 70 // modified by format error corrector. | |
| 71 void ReportHtmlLang(const std::string& provided_code, | |
| 72 const std::string& revised_code); | |
| 73 | |
| 74 // Called when CLD verifies Content-Language header. | |
| 75 void ReportLanguageVerification(LanguageVerificationType type); | |
| 76 | |
| 77 // Called when the Translate Element library is ready. | |
| 78 void ReportTimeToBeReady(double time_in_msec); | |
| 79 | |
| 80 // Called when the Translate Element library is loaded. | |
| 81 void ReportTimeToLoad(double time_in_msec); | |
| 82 | |
| 83 // Called when a page translation is finished. | |
| 84 void ReportTimeToTranslate(double time_in_msec); | |
| 85 | |
| 86 // Called when a translation is triggered. | |
| 87 void ReportUserActionDuration(base::TimeTicks begin, base::TimeTicks end); | |
| 88 | |
| 89 // Called when a translation is triggered. | |
| 90 void ReportPageScheme(const std::string& scheme); | |
| 91 | |
| 92 // Called when CLD detects page language. | |
| 93 void ReportLanguageDetectionTime(base::TimeTicks begin, base::TimeTicks end); | |
| 94 | |
| 95 // Called when CLD agreed on a language which is different, but in the similar | |
| 96 // language list. | |
| 97 void ReportSimilarLanguageMatch(bool match); | |
| 98 | |
| 99 // Gets UMA name for an entry specified by |index|. | |
| 100 const char* GetMetricsName(MetricsNameIndex index); | |
| 101 | |
| 102 } // namespace translate | |
| 103 | |
| 104 #endif // COMPONENTS_TRANSLATE_COMMON_TRANSLATE_METRICS_H_ | |
| OLD | NEW |