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 CHROME_COMMON_TRANSLATE_TRANSLATE_COMMON_METRICS_H_ | |
6 #define CHROME_COMMON_TRANSLATE_TRANSLATE_COMMON_METRICS_H_ | |
7 | |
8 #include <string> | |
9 | |
10 #include "base/time/time.h" | |
11 | |
12 namespace TranslateCommonMetrics { | |
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 TranslateCommonMetrics | |
103 | |
104 #endif // CHROME_COMMON_TRANSLATE_TRANSLATE_COMMON_METRICS_H_ | |
OLD | NEW |