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, |
19 UMA_LANGUAGE_VERIFICATION, | 20 UMA_LANGUAGE_VERIFICATION, |
20 UMA_TIME_TO_BE_READY, | 21 UMA_TIME_TO_BE_READY, |
21 UMA_TIME_TO_LOAD, | 22 UMA_TIME_TO_LOAD, |
22 UMA_TIME_TO_TRANSLATE, | 23 UMA_TIME_TO_TRANSLATE, |
23 UMA_USER_ACTION_DURATION, | 24 UMA_USER_ACTION_DURATION, |
24 UMA_PAGE_SCHEME, | 25 UMA_PAGE_SCHEME, |
25 UMA_MAX, | 26 UMA_MAX, |
26 }; | 27 }; |
27 | 28 |
28 // A page may provide a Content-Language HTTP header or a META tag. | 29 // A page may provide a Content-Language HTTP header or a META tag. |
29 // TranslateHelper checks if a server provides a valid Content-Language. | 30 // TranslateHelper checks if a server provides a valid Content-Language. |
30 enum ContentLanguageType { | 31 enum LanguageCheckType { |
31 CONTENT_LANGUAGE_NOT_PROVIDED, | 32 LANGUAGE_NOT_PROVIDED, |
32 CONTENT_LANGUAGE_VALID, | 33 LANGUAGE_VALID, |
33 CONTENT_LANGUAGE_INVALID, | 34 LANGUAGE_INVALID, |
34 CONTENT_LANGUAGE_MAX, | 35 LANGUAGE_MAX, |
35 }; | 36 }; |
36 | 37 |
37 // When a valid Content-Language is provided, TranslateHelper checks if a | 38 // When a valid Content-Language is provided, TranslateHelper checks if a |
38 // server provided Content-Language matches to a language CLD determined. | 39 // server provided Content-Language matches to a language CLD determined. |
39 enum LanguageVerificationType { | 40 enum LanguageVerificationType { |
40 LANGUAGE_VERIFICATION_CLD_DISABLED, | 41 LANGUAGE_VERIFICATION_CLD_DISABLED, |
41 LANGUAGE_VERIFICATION_CLD_ONLY, | 42 LANGUAGE_VERIFICATION_CLD_ONLY, |
42 LANGUAGE_VERIFICATION_UNKNOWN, | 43 LANGUAGE_VERIFICATION_UNKNOWN, |
43 LANGUAGE_VERIFICATION_CLD_AGREE, | 44 LANGUAGE_VERIFICATION_CLD_AGREE, |
44 LANGUAGE_VERIFICATION_CLD_DISAGREE, | 45 LANGUAGE_VERIFICATION_CLD_DISAGREE, |
45 LANGUAGE_VERIFICATION_MAX, | 46 LANGUAGE_VERIFICATION_MAX, |
46 }; | 47 }; |
47 | 48 |
48 // Scheme type of pages Chrome is going to translate. | 49 // Scheme type of pages Chrome is going to translate. |
49 enum SchemeType { | 50 enum SchemeType { |
50 SCHEME_HTTP, | 51 SCHEME_HTTP, |
51 SCHEME_HTTPS, | 52 SCHEME_HTTPS, |
52 SCHEME_OTHERS, | 53 SCHEME_OTHERS, |
53 SCHEME_MAX, | 54 SCHEME_MAX, |
54 }; | 55 }; |
55 | 56 |
56 // Called after TranslateHelper verifies a server providing Content-Language | 57 // Called after TranslateHelper verifies a server providing Content-Language |
57 // header. |provided_code| contains a Content-Language header value which | 58 // header. |provided_code| contains a Content-Language header value which a |
58 // server provides. It can be empty string when a server doesn't provide it. | 59 // server provides. It can be empty string when a server doesn't provide it. |
59 // |revised_code| is a value modified by format error corrector. | 60 // |revised_code| is a value modified by format error corrector. |
60 void ReportContentLanguage(const std::string& provided_code, | 61 void ReportContentLanguage(const std::string& provided_code, |
61 const std::string& revised_code); | 62 const std::string& revised_code); |
62 | 63 |
| 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 |
63 // Called when CLD verifies Content-Language header. | 71 // Called when CLD verifies Content-Language header. |
64 void ReportLanguageVerification(LanguageVerificationType type); | 72 void ReportLanguageVerification(LanguageVerificationType type); |
65 | 73 |
66 // Called when the Translate Element library is ready. | 74 // Called when the Translate Element library is ready. |
67 void ReportTimeToBeReady(double time_in_msec); | 75 void ReportTimeToBeReady(double time_in_msec); |
68 | 76 |
69 // Called when the Translate Element library is loaded. | 77 // Called when the Translate Element library is loaded. |
70 void ReportTimeToLoad(double time_in_msec); | 78 void ReportTimeToLoad(double time_in_msec); |
71 | 79 |
72 // Called when a page translation is finished. | 80 // Called when a page translation is finished. |
(...skipping 11 matching lines...) Expand all Loading... |
84 void ReportLanguageDetectionTime(base::TimeTicks begin, base::TimeTicks end); | 92 void ReportLanguageDetectionTime(base::TimeTicks begin, base::TimeTicks end); |
85 | 93 |
86 #endif // defined(ENABLE_LANGUAGE_DETECTION) | 94 #endif // defined(ENABLE_LANGUAGE_DETECTION) |
87 | 95 |
88 // Gets UMA name for an entry specified by |index|. | 96 // Gets UMA name for an entry specified by |index|. |
89 const char* GetMetricsName(MetricsNameIndex index); | 97 const char* GetMetricsName(MetricsNameIndex index); |
90 | 98 |
91 } // namespace TranslateHelperMetrics | 99 } // namespace TranslateHelperMetrics |
92 | 100 |
93 #endif // CHROME_RENDERER_TRANSLATE_TRANSLATE_HELPER_METRICS_H_ | 101 #endif // CHROME_RENDERER_TRANSLATE_TRANSLATE_HELPER_METRICS_H_ |
OLD | NEW |