summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--BUILD.gn1
-rw-r--r--chrome/browser/DEPS1
-rw-r--r--chrome/browser/chrome_browser_main.cc6
-rw-r--r--chrome/browser/translate/translate_language_list.cc2
-rw-r--r--chrome/browser/translate/translate_manager.cc2
-rw-r--r--chrome/chrome_browser.gypi6
-rw-r--r--chrome/chrome_tests_unit.gypi2
-rw-r--r--components/components.gyp1
-rw-r--r--components/components_tests.gyp7
-rw-r--r--components/language_usage_metrics.gypi22
-rw-r--r--components/language_usage_metrics/OWNERS3
-rw-r--r--components/language_usage_metrics/language_usage_metrics.cc (renamed from chrome/browser/language_usage_metrics.cc)8
-rw-r--r--components/language_usage_metrics/language_usage_metrics.h (renamed from chrome/browser/language_usage_metrics.h)12
-rw-r--r--components/language_usage_metrics/language_usage_metrics_unittest.cc (renamed from chrome/browser/language_usage_metrics_unittest.cc)8
-rw-r--r--components/translate.gypi3
-rw-r--r--components/translate/DEPS6
-rw-r--r--components/translate/core/browser/translate_browser_metrics.cc (renamed from chrome/browser/translate/translate_browser_metrics.cc)17
-rw-r--r--components/translate/core/browser/translate_browser_metrics.h (renamed from chrome/browser/translate/translate_browser_metrics.h)8
-rw-r--r--components/translate/core/browser/translate_browser_metrics_unittest.cc (renamed from chrome/browser/translate/translate_browser_metrics_unittest.cc)4
-rw-r--r--tools/gn/secondary/components/language_usage_metrics/BUILD.gn16
-rw-r--r--tools/gn/secondary/components/translate/BUILD.gn2
21 files changed, 103 insertions, 34 deletions
diff --git a/BUILD.gn b/BUILD.gn
index 8f521ec..232d8db 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -18,6 +18,7 @@ group("root") {
deps = [
"//base(//build/toolchain/nacl:x86_newlib)",
"//chrome",
+ "//components/language_usage_metrics",
"//components/navigation_metrics",
"//components/onc:onc_component",
"//components/startup_metric_utils",
diff --git a/chrome/browser/DEPS b/chrome/browser/DEPS
index 9146adb..8c6c296 100644
--- a/chrome/browser/DEPS
+++ b/chrome/browser/DEPS
@@ -11,6 +11,7 @@ include_rules = [
"+components/breakpad",
"+components/browser_context_keyed_service",
"+components/dom_distiller",
+ "+components/language_usage_metrics",
"+components/nacl/browser",
"+components/nacl/common",
"+components/navigation_interception",
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
index 32ec024..6a3877c 100644
--- a/chrome/browser/chrome_browser_main.cc
+++ b/chrome/browser/chrome_browser_main.cc
@@ -62,7 +62,6 @@
#include "chrome/browser/google/google_util.h"
#include "chrome/browser/gpu/gl_string_manager.h"
#include "chrome/browser/jankometer.h"
-#include "chrome/browser/language_usage_metrics.h"
#include "chrome/browser/media/media_capture_devices_dispatcher.h"
#include "chrome/browser/metrics/field_trial_synchronizer.h"
#include "chrome/browser/metrics/metrics_log.h"
@@ -114,6 +113,7 @@
#include "chrome/common/profile_management_switches.h"
#include "chrome/common/profiling.h"
#include "chrome/installer/util/google_update_settings.h"
+#include "components/language_usage_metrics/language_usage_metrics.h"
#include "components/nacl/browser/nacl_browser.h"
#include "components/nacl/browser/nacl_process_host.h"
#include "components/startup_metric_utils/startup_metric_utils.h"
@@ -1391,9 +1391,9 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
browser_process_->metrics_service()->RecordBreakpadHasDebugger(
base::debug::BeingDebugged());
- LanguageUsageMetrics::RecordAcceptLanguages(
+ language_usage_metrics::LanguageUsageMetrics::RecordAcceptLanguages(
profile_->GetPrefs()->GetString(prefs::kAcceptLanguages));
- LanguageUsageMetrics::RecordApplicationLanguage(
+ language_usage_metrics::LanguageUsageMetrics::RecordApplicationLanguage(
browser_process_->GetApplicationLocale());
// The extension service may be available at this point. If the command line
diff --git a/chrome/browser/translate/translate_language_list.cc b/chrome/browser/translate/translate_language_list.cc
index 29fb947..9219368 100644
--- a/chrome/browser/translate/translate_language_list.cc
+++ b/chrome/browser/translate/translate_language_list.cc
@@ -14,10 +14,10 @@
#include "base/strings/stringprintf.h"
#include "base/values.h"
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/translate/translate_browser_metrics.h"
#include "chrome/browser/translate/translate_manager.h"
#include "chrome/browser/translate/translate_url_fetcher.h"
#include "chrome/browser/translate/translate_url_util.h"
+#include "components/translate/core/browser/translate_browser_metrics.h"
#include "components/translate/core/browser/translate_event_details.h"
#include "net/base/url_util.h"
#include "ui/base/l10n/l10n_util.h"
diff --git a/chrome/browser/translate/translate_manager.cc b/chrome/browser/translate/translate_manager.cc
index 437661f..50349af 100644
--- a/chrome/browser/translate/translate_manager.cc
+++ b/chrome/browser/translate/translate_manager.cc
@@ -19,7 +19,6 @@
#include "chrome/browser/tab_contents/language_state.h"
#include "chrome/browser/tab_contents/tab_util.h"
#include "chrome/browser/translate/translate_accept_languages.h"
-#include "chrome/browser/translate/translate_browser_metrics.h"
#include "chrome/browser/translate/translate_infobar_delegate.h"
#include "chrome/browser/translate/translate_language_list.h"
#include "chrome/browser/translate/translate_prefs.h"
@@ -37,6 +36,7 @@
#include "chrome/common/render_messages.h"
#include "chrome/common/url_constants.h"
#include "components/translate/core/browser/page_translated_details.h"
+#include "components/translate/core/browser/translate_browser_metrics.h"
#include "components/translate/core/browser/translate_error_details.h"
#include "components/translate/core/browser/translate_event_details.h"
#include "components/translate/core/common/language_detection_details.h"
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index 1ce893e..218cf0b 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -948,8 +948,6 @@
'browser/jankometer_mac.cc',
'browser/jumplist_win.cc',
'browser/jumplist_win.h',
- 'browser/language_usage_metrics.cc',
- 'browser/language_usage_metrics.h',
'browser/lifetime/application_lifetime.cc',
'browser/lifetime/application_lifetime.h',
'browser/lifetime/application_lifetime_android.cc',
@@ -2494,8 +2492,6 @@
'browser/translate/options_menu_model.h',
'browser/translate/translate_accept_languages.h',
'browser/translate/translate_accept_languages.cc',
- 'browser/translate/translate_browser_metrics.cc',
- 'browser/translate/translate_browser_metrics.h',
'browser/translate/translate_infobar_delegate.cc',
'browser/translate/translate_infobar_delegate.h',
'browser/translate/translate_language_list.cc',
@@ -3344,7 +3340,7 @@
}],
],
}, { # 'OS!="win"
- 'sources/': [
+ 'sources/': [
# Exclude files that should be excluded for all non-Windows platforms.
['exclude', '^browser/first_run/try_chrome_dialog_view.cc'],
['exclude', '^browser/first_run/try_chrome_dialog_view.h'],
diff --git a/chrome/chrome_tests_unit.gypi b/chrome/chrome_tests_unit.gypi
index bb38235..f948753 100644
--- a/chrome/chrome_tests_unit.gypi
+++ b/chrome/chrome_tests_unit.gypi
@@ -995,7 +995,6 @@
'browser/invalidation/invalidation_service_test_template.h',
'browser/invalidation/invalidator_storage_unittest.cc',
'browser/invalidation/ticl_invalidation_service_unittest.cc',
- 'browser/language_usage_metrics_unittest.cc',
'browser/local_discovery/privet_confirm_api_flow_unittest.cc',
'browser/local_discovery/privet_http_unittest.cc',
'browser/local_discovery/privet_url_fetcher_unittest.cc',
@@ -1409,7 +1408,6 @@
'browser/thumbnails/render_widget_snapshot_taker_unittest.cc',
'browser/thumbnails/simple_thumbnail_crop_unittest.cc',
'browser/thumbnails/thumbnail_service_unittest.cc',
- 'browser/translate/translate_browser_metrics_unittest.cc',
'browser/translate/translate_manager_unittest.cc',
'browser/translate/translate_prefs_unittest.cc',
'browser/translate/translate_script_unittest.cc',
diff --git a/components/components.gyp b/components/components.gyp
index 89488a1..341d120 100644
--- a/components/components.gyp
+++ b/components/components.gyp
@@ -15,6 +15,7 @@
'breakpad.gypi',
'dom_distiller.gypi',
'json_schema.gypi',
+ 'language_usage_metrics.gypi',
'navigation_metrics.gypi',
'onc.gypi',
'policy.gypi',
diff --git a/components/components_tests.gyp b/components/components_tests.gyp
index 7dca5d6..d16e68b 100644
--- a/components/components_tests.gyp
+++ b/components/components_tests.gyp
@@ -41,6 +41,7 @@
'json_schema/json_schema_validator_unittest.cc',
'json_schema/json_schema_validator_unittest_base.cc',
'json_schema/json_schema_validator_unittest_base.h',
+ 'language_usage_metrics/language_usage_metrics_unittest.cc',
'navigation_interception/intercept_navigation_resource_throttle_unittest.cc',
'precache/content/precache_manager_unittest.cc',
'precache/core/precache_database_unittest.cc',
@@ -49,6 +50,7 @@
'sessions/serialized_navigation_entry_unittest.cc',
'signin/core/webdata/token_service_table_unittest.cc',
'test/run_all_unittests.cc',
+ 'translate/core/browser/translate_browser_metrics_unittest.cc',
'translate/core/common/translate_metrics_unittest.cc',
'translate/core/common/translate_util_unittest.cc',
'translate/language_detection/language_detection_util_unittest.cc',
@@ -102,6 +104,9 @@
# Dependencies of json_schema
'components.gyp:json_schema',
+ # Dependencies of language_usage_metrics
+ 'components.gyp:language_usage_metrics',
+
# Dependencies of precache/core
'components.gyp:precache_core',
@@ -109,6 +114,7 @@
'components.gyp:signin_core',
# Dependencies of translate.
+ 'components.gyp:translate_core_browser',
'components.gyp:translate_core_common',
'components.gyp:translate_language_detection',
@@ -157,6 +163,7 @@
['include', '^auto_login_parser/'],
['include', '^autofill/'],
['include', '^dom_distiller/'],
+ ['include', '^language_usage_metrics/'],
['include', '^precache/core/'],
['include', '^signin/'],
['include', '^translate/'],
diff --git a/components/language_usage_metrics.gypi b/components/language_usage_metrics.gypi
new file mode 100644
index 0000000..e150a1bb
--- /dev/null
+++ b/components/language_usage_metrics.gypi
@@ -0,0 +1,22 @@
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'targets': [
+ {
+ 'target_name': 'language_usage_metrics',
+ 'type': 'static_library',
+ 'dependencies': [
+ '../base/base.gyp:base',
+ ],
+ 'include_dirs': [
+ '..',
+ ],
+ 'sources': [
+ 'language_usage_metrics/language_usage_metrics.cc',
+ 'language_usage_metrics/language_usage_metrics.h',
+ ],
+ },
+ ],
+}
diff --git a/components/language_usage_metrics/OWNERS b/components/language_usage_metrics/OWNERS
new file mode 100644
index 0000000..a214ab1
--- /dev/null
+++ b/components/language_usage_metrics/OWNERS
@@ -0,0 +1,3 @@
+hajimehoshi@chromium.org
+mad@chromium.org
+toyoshim@chromium.org
diff --git a/chrome/browser/language_usage_metrics.cc b/components/language_usage_metrics/language_usage_metrics.cc
index 62ed43c..adb91c9 100644
--- a/chrome/browser/language_usage_metrics.cc
+++ b/components/language_usage_metrics/language_usage_metrics.cc
@@ -1,8 +1,8 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/language_usage_metrics.h"
+#include "components/language_usage_metrics/language_usage_metrics.h"
#include <algorithm>
@@ -17,6 +17,8 @@ void RecordAcceptLanguage(int language_code) {
}
} // namespace
+namespace language_usage_metrics {
+
// static
void LanguageUsageMetrics::RecordAcceptLanguages(
const std::string& accept_languages) {
@@ -69,3 +71,5 @@ void LanguageUsageMetrics::ParseAcceptLanguages(
languages->insert(language_code);
}
}
+
+} // namespace language_usage_metrics
diff --git a/chrome/browser/language_usage_metrics.h b/components/language_usage_metrics/language_usage_metrics.h
index 15a6868..ffde58b 100644
--- a/chrome/browser/language_usage_metrics.h
+++ b/components/language_usage_metrics/language_usage_metrics.h
@@ -1,9 +1,9 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CHROME_BROWSER_LANGUAGE_USAGE_METRICS_H_
-#define CHROME_BROWSER_LANGUAGE_USAGE_METRICS_H_
+#ifndef COMPONENTS_LANGUAGE_USAGE_METRICS_LANGUAGE_USAGE_METRICS_H_
+#define COMPONENTS_LANGUAGE_USAGE_METRICS_LANGUAGE_USAGE_METRICS_H_
#include <set>
#include <string>
@@ -11,6 +11,8 @@
#include "base/basictypes.h"
#include "base/gtest_prod_util.h"
+namespace language_usage_metrics {
+
// Methods to record language usage as UMA histograms.
class LanguageUsageMetrics {
public:
@@ -46,4 +48,6 @@ class LanguageUsageMetrics {
FRIEND_TEST_ALL_PREFIXES(LanguageUsageMetricsTest, ParseAcceptLanguages);
};
-#endif // CHROME_BROWSER_LANGUAGE_USAGE_METRICS_H_
+} // namespace language_usage_metrics
+
+#endif // COMPONENTS_LANGUAGE_USAGE_METRICS_LANGUAGE_USAGE_METRICS_H_
diff --git a/chrome/browser/language_usage_metrics_unittest.cc b/components/language_usage_metrics/language_usage_metrics_unittest.cc
index 9a2dbc98..74344eb 100644
--- a/chrome/browser/language_usage_metrics_unittest.cc
+++ b/components/language_usage_metrics/language_usage_metrics_unittest.cc
@@ -1,11 +1,13 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/language_usage_metrics.h"
+#include "components/language_usage_metrics/language_usage_metrics.h"
#include "testing/gtest/include/gtest/gtest.h"
+namespace language_usage_metrics {
+
TEST(LanguageUsageMetricsTest, ParseAcceptLanguages) {
std::set<int> language_set;
std::set<int>::const_iterator it;
@@ -101,3 +103,5 @@ TEST(LanguageUsageMetricsTest, ToLanguageCode) {
// However, LanguageUsageMetrics doesn't tell what code is valid.
EXPECT_EQ(30840, LanguageUsageMetrics::ToLanguageCode("xx"));
}
+
+} // namespace language_usage_metrics
diff --git a/components/translate.gypi b/components/translate.gypi
index 7c63eb9..474b529 100644
--- a/components/translate.gypi
+++ b/components/translate.gypi
@@ -8,6 +8,7 @@
'target_name': 'translate_core_browser',
'type': 'static_library',
'dependencies': [
+ 'language_usage_metrics',
'translate_core_common',
'../base/base.gyp:base',
'../url/url.gyp:url_lib',
@@ -17,6 +18,8 @@
],
'sources': [
'translate/core/browser/page_translated_details.h',
+ 'translate/core/browser/translate_browser_metrics.cc',
+ 'translate/core/browser/translate_browser_metrics.h',
'translate/core/browser/translate_error_details.h',
'translate/core/browser/translate_event_details.cc',
'translate/core/browser/translate_event_details.h',
diff --git a/components/translate/DEPS b/components/translate/DEPS
index 8f4bfc0..c2106de 100644
--- a/components/translate/DEPS
+++ b/components/translate/DEPS
@@ -1,4 +1,8 @@
include_rules = [
- # translate is used on iOS, which cannot depend on content.
+ "+components/language_usage_metrics",
+
+ # Translate is a layered component; subdirectories must explicitly introduce
+ # the ability to use the content layer as appropriate.
"-content",
+ "-components/translate/content",
]
diff --git a/chrome/browser/translate/translate_browser_metrics.cc b/components/translate/core/browser/translate_browser_metrics.cc
index a6605bd..c0d3357d 100644
--- a/chrome/browser/translate/translate_browser_metrics.cc
+++ b/components/translate/core/browser/translate_browser_metrics.cc
@@ -1,15 +1,15 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
+// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/translate/translate_browser_metrics.h"
+#include "components/translate/core/browser/translate_browser_metrics.h"
#include <string>
#include "base/basictypes.h"
#include "base/metrics/histogram.h"
#include "base/metrics/sparse_histogram.h"
-#include "chrome/browser/language_usage_metrics.h"
+#include "components/language_usage_metrics/language_usage_metrics.h"
namespace {
@@ -63,18 +63,21 @@ void ReportLanguageDetectionError() {
}
void ReportLocalesOnDisabledByPrefs(const std::string& locale) {
- UMA_HISTOGRAM_SPARSE_SLOWLY(kTranslateLocalesOnDisabledByPrefs,
- LanguageUsageMetrics::ToLanguageCode(locale));
+ UMA_HISTOGRAM_SPARSE_SLOWLY(
+ kTranslateLocalesOnDisabledByPrefs,
+ language_usage_metrics::LanguageUsageMetrics::ToLanguageCode(locale));
}
void ReportUndisplayableLanguage(const std::string& language) {
- int language_code = LanguageUsageMetrics::ToLanguageCode(language);
+ int language_code =
+ language_usage_metrics::LanguageUsageMetrics::ToLanguageCode(language);
UMA_HISTOGRAM_SPARSE_SLOWLY(kTranslateUndisplayableLanguage,
language_code);
}
void ReportUnsupportedLanguageAtInitiation(const std::string& language) {
- int language_code = LanguageUsageMetrics::ToLanguageCode(language);
+ int language_code =
+ language_usage_metrics::LanguageUsageMetrics::ToLanguageCode(language);
UMA_HISTOGRAM_SPARSE_SLOWLY(kTranslateUnsupportedLanguageAtInitiation,
language_code);
}
diff --git a/chrome/browser/translate/translate_browser_metrics.h b/components/translate/core/browser/translate_browser_metrics.h
index 21ee89d..0d76e7b 100644
--- a/chrome/browser/translate/translate_browser_metrics.h
+++ b/components/translate/core/browser/translate_browser_metrics.h
@@ -1,9 +1,9 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
+// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CHROME_BROWSER_TRANSLATE_TRANSLATE_BROWSER_METRICS_H_
-#define CHROME_BROWSER_TRANSLATE_TRANSLATE_BROWSER_METRICS_H_
+#ifndef COMPONENTS_TRANSLATE_CORE_BROWSER_TRANSLATE_BROWSER_METRICS_H_
+#define COMPONENTS_TRANSLATE_CORE_BROWSER_TRANSLATE_BROWSER_METRICS_H_
#include <string>
@@ -61,4 +61,4 @@ const char* GetMetricsName(MetricsNameIndex index);
} // namespace TranslateBrowserMetrics
-#endif // CHROME_BROWSER_TRANSLATE_TRANSLATE_BROWSER_METRICS_H_
+#endif // COMPONENTS_TRANSLATE_CORE_BROWSER_TRANSLATE_BROWSER_METRICS_H_
diff --git a/chrome/browser/translate/translate_browser_metrics_unittest.cc b/components/translate/core/browser/translate_browser_metrics_unittest.cc
index a7e3149..404014f 100644
--- a/chrome/browser/translate/translate_browser_metrics_unittest.cc
+++ b/components/translate/core/browser/translate_browser_metrics_unittest.cc
@@ -1,8 +1,8 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
+// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/translate/translate_browser_metrics.h"
+#include "components/translate/core/browser/translate_browser_metrics.h"
#include "base/basictypes.h"
#include "base/memory/scoped_ptr.h"
diff --git a/tools/gn/secondary/components/language_usage_metrics/BUILD.gn b/tools/gn/secondary/components/language_usage_metrics/BUILD.gn
new file mode 100644
index 0000000..6d30575
--- /dev/null
+++ b/tools/gn/secondary/components/language_usage_metrics/BUILD.gn
@@ -0,0 +1,16 @@
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+static_library("language_usage_metrics") {
+ external = true
+
+ sources = [
+ "language_usage_metrics.cc",
+ "language_usage_metrics.h",
+ ]
+
+ deps = [
+ "//base",
+ ]
+}
diff --git a/tools/gn/secondary/components/translate/BUILD.gn b/tools/gn/secondary/components/translate/BUILD.gn
index 04ff986..9619a5d 100644
--- a/tools/gn/secondary/components/translate/BUILD.gn
+++ b/tools/gn/secondary/components/translate/BUILD.gn
@@ -7,6 +7,8 @@ static_library("translate_core_browser") {
sources = [
"core/browser/page_translated_details.h",
+ "core/browser/translate_browser_metrics.cc",
+ "core/browser/translate_browser_metrics.h",
"core/browser/translate_error_details.h",
"core/browser/translate_event_details.cc",
"core/browser/translate_event_details.h",