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