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

Side by Side Diff: chrome/browser/translate/translate_browser_metrics.cc

Issue 64823005: Copy the implementations of TranslateUIDelegate to TransalteInfobarDelegate (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Peter's review (2) Created 7 years, 1 month 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
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 #include "chrome/browser/translate/translate_browser_metrics.h" 5 #include "chrome/browser/translate/translate_browser_metrics.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
11 #include "base/metrics/sparse_histogram.h" 11 #include "base/metrics/sparse_histogram.h"
12 #include "chrome/browser/language_usage_metrics.h" 12 #include "chrome/browser/language_usage_metrics.h"
13 13
14 namespace { 14 namespace {
15 15
16 // Constant string values to indicate UMA names. All entries should have 16 // Constant string values to indicate UMA names. All entries should have
17 // a corresponding index in MetricsNameIndex and an entry in |kMetricsEntries|. 17 // a corresponding index in MetricsNameIndex and an entry in |kMetricsEntries|.
18 const char kTranslateInitiationStatus[] = 18 const char kTranslateInitiationStatus[] =
19 "Translate.InitiationStatus.v2"; 19 "Translate.InitiationStatus.v2";
20 const char kTranslateReportLanguageDetectionError[] = 20 const char kTranslateReportLanguageDetectionError[] =
21 "Translate.ReportLanguageDetectionError"; 21 "Translate.ReportLanguageDetectionError";
22 const char kTranslateLocalesOnDisabledByPrefs[] = 22 const char kTranslateLocalesOnDisabledByPrefs[] =
23 "Translate.LocalesOnDisabledByPrefs"; 23 "Translate.LocalesOnDisabledByPrefs";
24 const char kTranslateUndisplayableLanguage[] = 24 const char kTranslateUndisplayableLanguage[] =
25 "Translate.UndisplayableLanguage"; 25 "Translate.UndisplayableLanguage";
26 const char kTranslateUnsupportedLanguageAtInitiation[] = 26 const char kTranslateUnsupportedLanguageAtInitiation[] =
27 "Translate.UnsupportedLanguageAtInitiation"; 27 "Translate.UnsupportedLanguageAtInitiation";
28 const char kTranslateDeclineTranslate[] = "Translate.DeclineTranslate";
29 const char kTranslateRevertTranslation[] = "Translate.RevertTranslation";
Takashi Toyoshima 2013/11/12 22:16:56 Ah, I see. The UMA strings was originally unsymmet
hajimehoshi 2013/11/13 01:15:20 Thanks, but I prefer each variable name matches ea
30 const char kTranslatePerformTranslate[] = "Translate.Translate";
31 const char kTranslateNeverTranslateLang[] = "Translate.NeverTranslateLang";
32 const char kTranslateNeverTranslateSite[] = "Translate.NeverTranslateSite";
33 const char kTranslateAlwaysTranslateLang[] = "Translate.AlwaysTranslateLang";
34 const char kTranslateModifyOriginalLang[] = "Translate.ModifyOriginalLang";
35 const char kTranslateModifyTargetLang[] = "Translate.ModifyTargetLang";
28 36
29 struct MetricsEntry { 37 struct MetricsEntry {
30 TranslateBrowserMetrics::MetricsNameIndex index; 38 TranslateBrowserMetrics::MetricsNameIndex index;
31 const char* const name; 39 const char* const name;
32 }; 40 };
33 41
34 // This entry table should be updated when new UMA items are added. 42 // This entry table should be updated when new UMA items are added.
35 const MetricsEntry kMetricsEntries[] = { 43 const MetricsEntry kMetricsEntries[] = {
36 { TranslateBrowserMetrics::UMA_INITIATION_STATUS, 44 { TranslateBrowserMetrics::UMA_INITIATION_STATUS,
37 kTranslateInitiationStatus }, 45 kTranslateInitiationStatus },
38 { TranslateBrowserMetrics::UMA_LANGUAGE_DETECTION_ERROR, 46 { TranslateBrowserMetrics::UMA_LANGUAGE_DETECTION_ERROR,
39 kTranslateReportLanguageDetectionError }, 47 kTranslateReportLanguageDetectionError },
40 { TranslateBrowserMetrics::UMA_LOCALES_ON_DISABLED_BY_PREFS, 48 { TranslateBrowserMetrics::UMA_LOCALES_ON_DISABLED_BY_PREFS,
41 kTranslateLocalesOnDisabledByPrefs }, 49 kTranslateLocalesOnDisabledByPrefs },
42 { TranslateBrowserMetrics::UMA_UNDISPLAYABLE_LANGUAGE, 50 { TranslateBrowserMetrics::UMA_UNDISPLAYABLE_LANGUAGE,
43 kTranslateUndisplayableLanguage }, 51 kTranslateUndisplayableLanguage },
44 { TranslateBrowserMetrics::UMA_UNSUPPORTED_LANGUAGE_AT_INITIATION, 52 { TranslateBrowserMetrics::UMA_UNSUPPORTED_LANGUAGE_AT_INITIATION,
45 kTranslateUnsupportedLanguageAtInitiation }, 53 kTranslateUnsupportedLanguageAtInitiation },
54 { TranslateBrowserMetrics::UMA_DECLINE_TRANSLATE,
55 kTranslateDeclineTranslate },
56 { TranslateBrowserMetrics::UMA_REVERT_TRANSLATION,
57 kTranslateRevertTranslation },
58 { TranslateBrowserMetrics::UMA_PERFORM_TRANSLATE,
59 kTranslatePerformTranslate },
60 { TranslateBrowserMetrics::UMA_NEVER_TRANSLATE_LANG,
61 kTranslateNeverTranslateLang },
62 { TranslateBrowserMetrics::UMA_NEVER_TRANSLATE_SITE,
63 kTranslateNeverTranslateSite },
64 { TranslateBrowserMetrics::UMA_ALWAYS_TRANSLATE_LANG,
65 kTranslateAlwaysTranslateLang },
66 { TranslateBrowserMetrics::UMA_MODIFY_ORIGINAL_LANG,
67 kTranslateModifyOriginalLang },
68 { TranslateBrowserMetrics::UMA_MODIFY_TARGET_LANG,
69 kTranslateModifyTargetLang },
46 }; 70 };
47 71
48 COMPILE_ASSERT(arraysize(kMetricsEntries) == TranslateBrowserMetrics::UMA_MAX, 72 COMPILE_ASSERT(arraysize(kMetricsEntries) == TranslateBrowserMetrics::UMA_MAX,
49 arraysize_of_kMetricsEntries_should_be_UMA_MAX); 73 arraysize_of_kMetricsEntries_should_be_UMA_MAX);
50 74
51 } // namespace 75 } // namespace
52 76
53 namespace TranslateBrowserMetrics { 77 namespace TranslateBrowserMetrics {
54 78
55 void ReportInitiationStatus(InitiationStatusType type) { 79 void ReportInitiationStatus(InitiationStatusType type) {
(...skipping 26 matching lines...) Expand all
82 const char* GetMetricsName(MetricsNameIndex index) { 106 const char* GetMetricsName(MetricsNameIndex index) {
83 for (size_t i = 0; i < arraysize(kMetricsEntries); ++i) { 107 for (size_t i = 0; i < arraysize(kMetricsEntries); ++i) {
84 if (kMetricsEntries[i].index == index) 108 if (kMetricsEntries[i].index == index)
85 return kMetricsEntries[i].name; 109 return kMetricsEntries[i].name;
86 } 110 }
87 NOTREACHED(); 111 NOTREACHED();
88 return NULL; 112 return NULL;
89 } 113 }
90 114
91 } // namespace TranslateBrowserMetrics 115 } // namespace TranslateBrowserMetrics
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698