Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(873)

Side by Side Diff: chrome/renderer/translate/translate_helper_metrics.h

Issue 15728002: Translate: adopt html lang attribute if valid value is provided (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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_MAX, 25 UMA_MAX,
25 }; 26 };
26 27
27 // 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.
28 // TranslateHelper checks if a server provides a valid Content-Language. 29 // TranslateHelper checks if a server provides a valid Content-Language.
29 enum ContentLanguageType { 30 enum LanguageCheckType {
30 CONTENT_LANGUAGE_NOT_PROVIDED, 31 LANGUAGE_NOT_PROVIDED,
31 CONTENT_LANGUAGE_VALID, 32 LANGUAGE_VALID,
32 CONTENT_LANGUAGE_INVALID, 33 LANGUAGE_INVALID,
33 CONTENT_LANGUAGE_MAX, 34 LANGUAGE_MAX,
34 }; 35 };
35 36
36 // When a valid Content-Language is provided, TranslateHelper checks if a 37 // When a valid Content-Language is provided, TranslateHelper checks if a
37 // server provided Content-Language matches to a language CLD determined. 38 // server provided Content-Language matches to a language CLD determined.
38 enum LanguageVerificationType { 39 enum LanguageVerificationType {
39 LANGUAGE_VERIFICATION_CLD_DISABLED, 40 LANGUAGE_VERIFICATION_CLD_DISABLED,
40 LANGUAGE_VERIFICATION_CLD_ONLY, 41 LANGUAGE_VERIFICATION_CLD_ONLY,
41 LANGUAGE_VERIFICATION_UNKNOWN, 42 LANGUAGE_VERIFICATION_UNKNOWN,
42 LANGUAGE_VERIFICATION_CLD_AGREE, 43 LANGUAGE_VERIFICATION_CLD_AGREE,
43 LANGUAGE_VERIFICATION_CLD_DISAGREE, 44 LANGUAGE_VERIFICATION_CLD_DISAGREE,
44 LANGUAGE_VERIFICATION_MAX, 45 LANGUAGE_VERIFICATION_MAX,
45 }; 46 };
46 47
47 // Called after TranslateHelper verifies a server providing Content-Language 48 // Called after TranslateHelper verifies a server providing Content-Language
48 // header. |provided_code| contains a Content-Language header value which 49 // header. |provided_code| contains a Content-Language header value which a
49 // server provides. It can be empty string when a server doesn't provide it. 50 // server provides. It can be empty string when a server doesn't provide it.
50 // |revised_code| is a value modified by format error corrector. 51 // |revised_code| is a value modified by format error corrector.
51 void ReportContentLanguage(const std::string& provided_code, 52 void ReportContentLanguage(const std::string& provided_code,
52 const std::string& revised_code); 53 const std::string& revised_code);
53 54
55 // Called after TranslateHelper verifies a page providing html lang attribute.
56 // |provided_code| contains a html lang attribute which a page provides. It can
57 // be empty string when a page doesn't provide it. |revised_code| is a value
58 // modified by format error corrector.
59 void ReportHtmlLang(const std::string& provided_code,
60 const std::string& revised_code);
61
54 // Called when CLD verifies Content-Language header. 62 // Called when CLD verifies Content-Language header.
55 void ReportLanguageVerification(LanguageVerificationType type); 63 void ReportLanguageVerification(LanguageVerificationType type);
56 64
57 // Called when the Translate Element library is ready. 65 // Called when the Translate Element library is ready.
58 void ReportTimeToBeReady(double time_in_msec); 66 void ReportTimeToBeReady(double time_in_msec);
59 67
60 // Called when the Translate Element library is loaded. 68 // Called when the Translate Element library is loaded.
61 void ReportTimeToLoad(double time_in_msec); 69 void ReportTimeToLoad(double time_in_msec);
62 70
63 // Called when a page translation is finished. 71 // Called when a page translation is finished.
64 void ReportTimeToTranslate(double time_in_msec); 72 void ReportTimeToTranslate(double time_in_msec);
65 73
66 // Called when a translation is triggered. 74 // Called when a translation is triggered.
67 void ReportUserActionDuration(base::TimeTicks begin, base::TimeTicks end); 75 void ReportUserActionDuration(base::TimeTicks begin, base::TimeTicks end);
68 76
69 #if defined(ENABLE_LANGUAGE_DETECTION) 77 #if defined(ENABLE_LANGUAGE_DETECTION)
70 78
71 // Called when CLD detects page language. 79 // Called when CLD detects page language.
72 void ReportLanguageDetectionTime(base::TimeTicks begin, base::TimeTicks end); 80 void ReportLanguageDetectionTime(base::TimeTicks begin, base::TimeTicks end);
73 81
74 #endif // defined(ENABLE_LANGUAGE_DETECTION) 82 #endif // defined(ENABLE_LANGUAGE_DETECTION)
75 83
76 // Gets UMA name for an entry specified by |index|. 84 // Gets UMA name for an entry specified by |index|.
77 const char* GetMetricsName(MetricsNameIndex index); 85 const char* GetMetricsName(MetricsNameIndex index);
78 86
79 } // namespace TranslateHelperMetrics 87 } // namespace TranslateHelperMetrics
80 88
81 #endif // CHROME_RENDERER_TRANSLATE_TRANSLATE_HELPER_METRICS_H_ 89 #endif // CHROME_RENDERER_TRANSLATE_TRANSLATE_HELPER_METRICS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698