diff options
author | asvitkine@chromium.org <asvitkine@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-29 18:03:22 +0000 |
---|---|---|
committer | asvitkine@chromium.org <asvitkine@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-29 18:03:22 +0000 |
commit | 50ae9f1c73aaa89c137ad74bf75798ee4b0059f7 (patch) | |
tree | 44687f9efda1114a9874381e35ee08019e3b11d4 | |
parent | 67f73767318e1eb57ee8c036881166bd6629b1c1 (diff) | |
download | chromium_src-50ae9f1c73aaa89c137ad74bf75798ee4b0059f7.zip chromium_src-50ae9f1c73aaa89c137ad74bf75798ee4b0059f7.tar.gz chromium_src-50ae9f1c73aaa89c137ad74bf75798ee4b0059f7.tar.bz2 |
Create a variations component, so that it can be re-used.
Moving this code out of chrome/ paves the way for server-controlled system
field trials on ChromeOS. This allows building a new ChromeOS daemon binary
that depends on the new variations target, without needing to depend on all of
chrome/.
This CL moves several files from chrome/common/metrics and
chrome/browser/metrics into a separate component/variations target and
updates all the include paths referencing these. It does not do additional
cleanup, such as changing namespaces - this is left for a follow-up cleanup
CL.
BUG=266007
TEST=Existing unit tests.
R=joi@chromium.org, jwd@chromium.org, sky@chromium.org
Review URL: https://codereview.chromium.org/23097007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220339 0039d316-1c4b-4281-b951-d872f2087c98
45 files changed, 116 insertions, 82 deletions
diff --git a/chrome/DEPS b/chrome/DEPS index 07ac7d3..252d584 100644 --- a/chrome/DEPS +++ b/chrome/DEPS @@ -30,6 +30,7 @@ include_rules = [ "+chrome/test", "+components/json_schema", "+components/sessions", + "+components/variations", "+components/visitedlink/common", "+content/public/common", "+content/public/test", diff --git a/chrome/browser/autocomplete/autocomplete_result_unittest.cc b/chrome/browser/autocomplete/autocomplete_result_unittest.cc index e51c9da..babf1ae 100644 --- a/chrome/browser/autocomplete/autocomplete_result_unittest.cc +++ b/chrome/browser/autocomplete/autocomplete_result_unittest.cc @@ -17,9 +17,9 @@ #include "chrome/browser/search_engines/template_url_service.h" #include "chrome/browser/search_engines/template_url_service_test_util.h" #include "chrome/common/autocomplete_match_type.h" -#include "chrome/common/metrics/entropy_provider.h" #include "chrome/common/metrics/variations/variations_util.h" #include "chrome/test/base/testing_profile.h" +#include "components/variations/entropy_provider.h" #include "testing/gtest/include/gtest/gtest.h" class AutocompleteResultTest : public testing::Test { diff --git a/chrome/browser/autocomplete/search_provider_unittest.cc b/chrome/browser/autocomplete/search_provider_unittest.cc index 7df07d2..b575f5c 100644 --- a/chrome/browser/autocomplete/search_provider_unittest.cc +++ b/chrome/browser/autocomplete/search_provider_unittest.cc @@ -27,17 +27,16 @@ #include "chrome/browser/search_engines/template_url_service.h" #include "chrome/browser/search_engines/template_url_service_factory.h" #include "chrome/common/chrome_switches.h" -#include "chrome/common/metrics/entropy_provider.h" #include "chrome/common/metrics/variations/variations_util.h" #include "chrome/common/pref_names.h" #include "chrome/test/base/testing_browser_process.h" #include "chrome/test/base/testing_profile.h" +#include "components/variations/entropy_provider.h" #include "content/public/test/test_browser_thread_bundle.h" #include "net/url_request/test_url_fetcher_factory.h" #include "net/url_request/url_request_status.h" #include "testing/gtest/include/gtest/gtest.h" - // SearchProviderTest --------------------------------------------------------- // The following environment is configured for these tests: diff --git a/chrome/browser/extensions/api/metrics_private/metrics_apitest.cc b/chrome/browser/extensions/api/metrics_private/metrics_apitest.cc index d31559a..f87f7dd 100644 --- a/chrome/browser/extensions/api/metrics_private/metrics_apitest.cc +++ b/chrome/browser/extensions/api/metrics_private/metrics_apitest.cc @@ -8,7 +8,7 @@ #include "base/metrics/histogram.h" #include "base/metrics/statistics_recorder.h" #include "chrome/browser/extensions/extension_apitest.h" -#include "chrome/common/metrics/variations/variations_associated_data.h" +#include "components/variations/variations_associated_data.h" #include "content/public/browser/user_metrics.h" namespace { diff --git a/chrome/browser/extensions/api/metrics_private/metrics_private_api.cc b/chrome/browser/extensions/api/metrics_private/metrics_private_api.cc index 8aa2b1b..fe4a350 100644 --- a/chrome/browser/extensions/api/metrics_private/metrics_private_api.cc +++ b/chrome/browser/extensions/api/metrics_private/metrics_private_api.cc @@ -12,8 +12,8 @@ #include "chrome/browser/browser_process.h" #include "chrome/common/extensions/api/metrics_private.h" #include "chrome/common/extensions/extension.h" -#include "chrome/common/metrics/variations/variations_associated_data.h" #include "chrome/common/pref_names.h" +#include "components/variations/variations_associated_data.h" #include "content/public/browser/user_metrics.h" #if defined(OS_CHROMEOS) diff --git a/chrome/browser/history/most_visited_tiles_experiment_unittest.cc b/chrome/browser/history/most_visited_tiles_experiment_unittest.cc index cb66710..ccaee6f 100644 --- a/chrome/browser/history/most_visited_tiles_experiment_unittest.cc +++ b/chrome/browser/history/most_visited_tiles_experiment_unittest.cc @@ -14,7 +14,7 @@ #include "base/values.h" #include "chrome/browser/history/history_types.h" #include "chrome/common/instant_types.h" -#include "chrome/common/metrics/entropy_provider.h" +#include "components/variations/entropy_provider.h" #include "testing/gtest/include/gtest/gtest.h" #include "url/gurl.h" diff --git a/chrome/browser/metrics/metrics_service.cc b/chrome/browser/metrics/metrics_service.cc index dfbcbdf..b356a00 100644 --- a/chrome/browser/metrics/metrics_service.cc +++ b/chrome/browser/metrics/metrics_service.cc @@ -196,11 +196,11 @@ #include "chrome/common/chrome_result_codes.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/metrics/caching_permuted_entropy_provider.h" -#include "chrome/common/metrics/entropy_provider.h" #include "chrome/common/metrics/metrics_log_manager.h" #include "chrome/common/net/test_server_locations.h" #include "chrome/common/pref_names.h" #include "chrome/common/render_messages.h" +#include "components/variations/entropy_provider.h" #include "content/public/browser/child_process_data.h" #include "content/public/browser/histogram_fetcher.h" #include "content/public/browser/load_notification_details.h" diff --git a/chrome/browser/metrics/variations/variations_http_header_provider.cc b/chrome/browser/metrics/variations/variations_http_header_provider.cc index 7be3775..10f2173 100644 --- a/chrome/browser/metrics/variations/variations_http_header_provider.cc +++ b/chrome/browser/metrics/variations/variations_http_header_provider.cc @@ -10,7 +10,6 @@ #include "base/strings/string_util.h" #include "chrome/browser/google/google_util.h" #include "chrome/common/metrics/proto/chrome_experiments.pb.h" -#include "chrome/common/metrics/variations/variations_associated_data.h" #include "net/base/registry_controlled_domains/registry_controlled_domain.h" #include "net/http/http_request_headers.h" #include "url/gurl.h" diff --git a/chrome/browser/metrics/variations/variations_http_header_provider.h b/chrome/browser/metrics/variations/variations_http_header_provider.h index 06b8c69..b432572 100644 --- a/chrome/browser/metrics/variations/variations_http_header_provider.h +++ b/chrome/browser/metrics/variations/variations_http_header_provider.h @@ -12,7 +12,7 @@ #include "base/gtest_prod_util.h" #include "base/metrics/field_trial.h" #include "base/synchronization/lock.h" -#include "chrome/common/metrics/variations/variations_associated_data.h" +#include "components/variations/variations_associated_data.h" namespace content { class ResourceContext; diff --git a/chrome/browser/metrics/variations/variations_service.cc b/chrome/browser/metrics/variations/variations_service.cc index 973d009..63b579a 100644 --- a/chrome/browser/metrics/variations/variations_service.cc +++ b/chrome/browser/metrics/variations/variations_service.cc @@ -18,12 +18,12 @@ #include "base/strings/string_number_conversions.h" #include "base/version.h" #include "chrome/browser/browser_process.h" -#include "chrome/browser/metrics/proto/trials_seed.pb.h" -#include "chrome/browser/metrics/variations/variations_seed_processor.h" #include "chrome/browser/net/network_time_tracker.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/metrics/variations/variations_util.h" #include "chrome/common/pref_names.h" +#include "components/variations/proto/trials_seed.pb.h" +#include "components/variations/variations_seed_processor.h" #include "content/public/browser/browser_thread.h" #include "content/public/common/url_fetcher.h" #include "net/base/load_flags.h" diff --git a/chrome/browser/metrics/variations/variations_service.h b/chrome/browser/metrics/variations/variations_service.h index f87d333..973a8ba 100644 --- a/chrome/browser/metrics/variations/variations_service.h +++ b/chrome/browser/metrics/variations/variations_service.h @@ -12,8 +12,6 @@ #include "base/memory/scoped_ptr.h" #include "base/metrics/field_trial.h" #include "base/time/time.h" -#include "chrome/browser/metrics/proto/study.pb.h" -#include "chrome/browser/metrics/proto/trials_seed.pb.h" #include "chrome/browser/metrics/variations/variations_request_scheduler.h" #include "chrome/browser/web_resource/resource_request_allowed_notifier.h" #include "chrome/common/chrome_version_info.h" @@ -29,6 +27,8 @@ class PrefRegistrySimple; namespace chrome_variations { +class TrialsSeed; + // Used to setup field trials based on stored variations seed data, and fetch // new seed data from the variations server. class VariationsService diff --git a/chrome/browser/metrics/variations/variations_service_unittest.cc b/chrome/browser/metrics/variations/variations_service_unittest.cc index 8da383b..1f7990f 100644 --- a/chrome/browser/metrics/variations/variations_service_unittest.cc +++ b/chrome/browser/metrics/variations/variations_service_unittest.cc @@ -11,10 +11,11 @@ #include "base/sha1.h" #include "base/strings/string_number_conversions.h" #include "base/strings/string_util.h" -#include "chrome/browser/metrics/proto/study.pb.h" #include "chrome/browser/web_resource/resource_request_allowed_notifier_test_util.h" #include "chrome/common/pref_names.h" #include "chrome/test/base/testing_browser_process.h" +#include "components/variations/proto/study.pb.h" +#include "components/variations/proto/trials_seed.pb.h" #include "content/public/test/test_browser_thread.h" #include "net/base/url_util.h" #include "net/http/http_response_headers.h" diff --git a/chrome/browser/omnibox/omnibox_field_trial.cc b/chrome/browser/omnibox/omnibox_field_trial.cc index 0376e73..7f53c60 100644 --- a/chrome/browser/omnibox/omnibox_field_trial.cc +++ b/chrome/browser/omnibox/omnibox_field_trial.cc @@ -13,9 +13,9 @@ #include "base/strings/stringprintf.h" #include "chrome/browser/autocomplete/autocomplete_input.h" #include "chrome/browser/search/search.h" -#include "chrome/common/metrics/metrics_util.h" #include "chrome/common/metrics/variations/variation_ids.h" #include "chrome/common/metrics/variations/variations_util.h" +#include "components/variations/metrics_util.h" namespace { diff --git a/chrome/browser/omnibox/omnibox_field_trial_unittest.cc b/chrome/browser/omnibox/omnibox_field_trial_unittest.cc index adb43a8..82522b6 100644 --- a/chrome/browser/omnibox/omnibox_field_trial_unittest.cc +++ b/chrome/browser/omnibox/omnibox_field_trial_unittest.cc @@ -12,8 +12,8 @@ #include "chrome/browser/autocomplete/autocomplete_input.h" #include "chrome/browser/search/search.h" #include "chrome/common/chrome_switches.h" -#include "chrome/common/metrics/entropy_provider.h" #include "chrome/common/metrics/variations/variations_util.h" +#include "components/variations/entropy_provider.h" #include "testing/gtest/include/gtest/gtest.h" class OmniboxFieldTrialTest : public testing::Test { diff --git a/chrome/browser/search/search_unittest.cc b/chrome/browser/search/search_unittest.cc index 35de837..a93532f 100644 --- a/chrome/browser/search/search_unittest.cc +++ b/chrome/browser/search/search_unittest.cc @@ -16,11 +16,11 @@ #include "chrome/browser/search_engines/template_url_service_factory.h" #include "chrome/browser/ui/tabs/tab_strip_model.h" #include "chrome/common/chrome_switches.h" -#include "chrome/common/metrics/entropy_provider.h" #include "chrome/common/pref_names.h" #include "chrome/common/url_constants.h" #include "chrome/test/base/browser_with_test_window_test.h" #include "chrome/test/base/ui_test_utils.h" +#include "components/variations/entropy_provider.h" #include "content/public/browser/render_process_host.h" #include "content/public/browser/render_view_host.h" #include "content/public/browser/site_instance.h" diff --git a/chrome/browser/spellchecker/feedback_sender_unittest.cc b/chrome/browser/spellchecker/feedback_sender_unittest.cc index 5c0b1db..ed6ac5be 100644 --- a/chrome/browser/spellchecker/feedback_sender_unittest.cc +++ b/chrome/browser/spellchecker/feedback_sender_unittest.cc @@ -15,11 +15,11 @@ #include "base/strings/utf_string_conversions.h" #include "base/values.h" #include "chrome/common/chrome_switches.h" -#include "chrome/common/metrics/entropy_provider.h" #include "chrome/common/spellcheck_common.h" #include "chrome/common/spellcheck_marker.h" #include "chrome/common/spellcheck_result.h" #include "chrome/test/base/testing_profile.h" +#include "components/variations/entropy_provider.h" #include "content/public/test/test_browser_thread.h" #include "net/url_request/test_url_fetcher_factory.h" #include "testing/gtest/include/gtest/gtest.h" diff --git a/chrome/browser/ui/bookmarks/bookmark_prompt_controller.cc b/chrome/browser/ui/bookmarks/bookmark_prompt_controller.cc index 386669d..4e76dcd 100644 --- a/chrome/browser/ui/bookmarks/bookmark_prompt_controller.cc +++ b/chrome/browser/ui/bookmarks/bookmark_prompt_controller.cc @@ -22,8 +22,8 @@ #include "chrome/browser/ui/tabs/tab_strip_model.h" #include "chrome/common/chrome_version_info.h" #include "chrome/common/metrics/variations/variation_ids.h" -#include "chrome/common/metrics/variations/variations_associated_data.h" #include "chrome/common/pref_names.h" +#include "components/variations/variations_associated_data.h" #include "content/public/browser/notification_service.h" #include "content/public/browser/notification_types.h" #include "content/public/browser/web_contents.h" diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi index fc1dc02..6525ea2 100644 --- a/chrome/chrome_browser.gypi +++ b/chrome/chrome_browser.gypi @@ -26,7 +26,6 @@ 'probe_message_proto', 'safe_browsing_proto', 'safe_browsing_report_proto', - 'variations_seed_proto', '../components/components.gyp:browser_context_keyed_service', '../components/components.gyp:encryptor', '../components/components.gyp:sessions', @@ -1121,8 +1120,6 @@ 'browser/metrics/variations/variations_request_scheduler.h', 'browser/metrics/variations/variations_request_scheduler_mobile.cc', 'browser/metrics/variations/variations_request_scheduler_mobile.h', - 'browser/metrics/variations/variations_seed_processor.cc', - 'browser/metrics/variations/variations_seed_processor.h', 'browser/metrics/variations/variations_service.cc', 'browser/metrics/variations/variations_service.h', 'browser/metro_viewer/chrome_metro_viewer_process_host_aurawin.cc', @@ -3373,20 +3370,6 @@ 'includes': [ '../build/protoc.gypi' ] }, { - # Protobuf compiler / generator for Chrome Variations seed. - 'target_name': 'variations_seed_proto', - 'type': 'static_library', - 'sources': [ - 'browser/metrics/proto/trials_seed.proto', - 'browser/metrics/proto/study.proto', - ], - 'variables': { - 'proto_in_dir': 'browser/metrics/proto', - 'proto_out_dir': 'chrome/browser/metrics/proto', - }, - 'includes': [ '../build/protoc.gypi' ] - }, - { # Protobuf compiler / generator for Sync FileSystem protocol buffer. 'target_name': 'sync_file_system_proto', 'type': 'static_library', diff --git a/chrome/chrome_browser_chromeos.gypi b/chrome/chrome_browser_chromeos.gypi index 3f55faf..69a107d 100644 --- a/chrome/chrome_browser_chromeos.gypi +++ b/chrome/chrome_browser_chromeos.gypi @@ -43,7 +43,6 @@ 'installer_util', 'safe_browsing_proto', 'safe_browsing_report_proto', - 'variations_seed_proto', '../breakpad/breakpad.gyp:breakpad_client', '../build/linux/system.gyp:dbus', '../chromeos/chromeos.gyp:chromeos', diff --git a/chrome/chrome_browser_ui.gypi b/chrome/chrome_browser_ui.gypi index 3a2e4d6..f968ba1 100644 --- a/chrome/chrome_browser_ui.gypi +++ b/chrome/chrome_browser_ui.gypi @@ -29,7 +29,6 @@ 'safe_browsing_proto', 'safe_browsing_report_proto', 'feedback_proto', - 'variations_seed_proto', '../components/components.gyp:auto_login_parser', '../content/content.gyp:content_browser', '../content/content.gyp:content_common', diff --git a/chrome/chrome_common.gypi b/chrome/chrome_common.gypi index 7730670..157d2e6 100644 --- a/chrome/chrome_common.gypi +++ b/chrome/chrome_common.gypi @@ -39,6 +39,7 @@ '<(DEPTH)/chrome/common_constants.gyp:common_constants', '<(DEPTH)/components/components.gyp:json_schema', '<(DEPTH)/components/components.gyp:policy_component', + '<(DEPTH)/components/components.gyp:variations', '<(DEPTH)/components/components.gyp:visitedlink_common', '<(DEPTH)/content/content.gyp:content_common', '<(DEPTH)/net/net.gyp:net', @@ -46,7 +47,6 @@ '<(DEPTH)/third_party/icu/icu.gyp:icui18n', '<(DEPTH)/third_party/icu/icu.gyp:icuuc', '<(DEPTH)/third_party/libxml/libxml.gyp:libxml', - '<(DEPTH)/third_party/mt19937ar/mt19937ar.gyp:mt19937ar', '<(DEPTH)/third_party/sqlite/sqlite.gyp:sqlite', '<(DEPTH)/third_party/zlib/google/zip.gyp:zip', '<(DEPTH)/ui/ui.gyp:ui_resources', @@ -396,20 +396,14 @@ 'common/media/webrtc_logging_messages.h', 'common/metrics/caching_permuted_entropy_provider.cc', 'common/metrics/caching_permuted_entropy_provider.h', - 'common/metrics/entropy_provider.cc', - 'common/metrics/entropy_provider.h', 'common/metrics/metrics_log_base.cc', 'common/metrics/metrics_log_base.h', 'common/metrics/metrics_log_manager.cc', 'common/metrics/metrics_log_manager.h', 'common/metrics/metrics_service_base.cc', 'common/metrics/metrics_service_base.h', - 'common/metrics/metrics_util.cc', - 'common/metrics/metrics_util.h', 'common/metrics/variations/uniformity_field_trials.cc', 'common/metrics/variations/uniformity_field_trials.h', - 'common/metrics/variations/variations_associated_data.cc', - 'common/metrics/variations/variations_associated_data.h', 'common/metrics/variations/variations_util.cc', 'common/metrics/variations/variations_util.h', 'common/multi_process_lock.h', diff --git a/chrome/chrome_tests_unit.gypi b/chrome/chrome_tests_unit.gypi index d0d62db..8e1c70b 100644 --- a/chrome/chrome_tests_unit.gypi +++ b/chrome/chrome_tests_unit.gypi @@ -989,7 +989,6 @@ 'browser/metrics/thread_watcher_unittest.cc', 'browser/metrics/time_ticks_experiment_unittest.cc', 'browser/metrics/variations/variations_http_header_provider_unittest.cc', - 'browser/metrics/variations/variations_seed_processor_unittest.cc', 'browser/metrics/variations/variations_service_unittest.cc', 'browser/metrics/variations/variations_request_scheduler_unittest.cc', 'browser/nacl_host/nacl_file_host_unittest.cc', @@ -1775,11 +1774,8 @@ 'common/mac/objc_method_swizzle_unittest.mm', 'common/mac/objc_zombie_unittest.mm', 'common/metrics/caching_permuted_entropy_provider_unittest.cc', - 'common/metrics/entropy_provider_unittest.cc', 'common/metrics/metrics_log_base_unittest.cc', 'common/metrics/metrics_log_manager_unittest.cc', - 'common/metrics/metrics_util_unittest.cc', - 'common/metrics/variations/variations_associated_data_unittest.cc', 'common/metrics/variations/variations_util_unittest.cc', 'common/multi_process_lock_unittest.cc', 'common/net/url_fixer_upper_unittest.cc', diff --git a/chrome/common/metrics/caching_permuted_entropy_provider.h b/chrome/common/metrics/caching_permuted_entropy_provider.h index 6416d91..8592830 100644 --- a/chrome/common/metrics/caching_permuted_entropy_provider.h +++ b/chrome/common/metrics/caching_permuted_entropy_provider.h @@ -8,8 +8,8 @@ #include "base/basictypes.h" #include "base/compiler_specific.h" #include "base/threading/thread_checker.h" -#include "chrome/common/metrics/entropy_provider.h" #include "chrome/common/metrics/proto/permuted_entropy_cache.pb.h" +#include "components/variations/entropy_provider.h" class PrefService; class PrefRegistrySimple; diff --git a/chrome/common/metrics/variations/variations_util.h b/chrome/common/metrics/variations/variations_util.h index f6e29ed..cd0c787 100644 --- a/chrome/common/metrics/variations/variations_util.h +++ b/chrome/common/metrics/variations/variations_util.h @@ -9,7 +9,7 @@ #include "base/metrics/field_trial.h" #include "base/strings/string16.h" -#include "chrome/common/metrics/variations/variations_associated_data.h" +#include "components/variations/variations_associated_data.h" namespace chrome_variations { diff --git a/chrome/common/metrics/variations/variations_util_unittest.cc b/chrome/common/metrics/variations/variations_util_unittest.cc index e5845e5..1f9e140 100644 --- a/chrome/common/metrics/variations/variations_util_unittest.cc +++ b/chrome/common/metrics/variations/variations_util_unittest.cc @@ -11,7 +11,7 @@ #include "base/strings/string_split.h" #include "base/strings/utf_string_conversions.h" #include "base/time/time.h" -#include "chrome/common/metrics/metrics_util.h" +#include "components/variations/metrics_util.h" #include "testing/gtest/include/gtest/gtest.h" namespace chrome_variations { diff --git a/chrome/renderer/autofill/form_autofill_browsertest.cc b/chrome/renderer/autofill/form_autofill_browsertest.cc index 68fa4c7..aa9565e 100644 --- a/chrome/renderer/autofill/form_autofill_browsertest.cc +++ b/chrome/renderer/autofill/form_autofill_browsertest.cc @@ -10,12 +10,12 @@ #include "base/strings/string_util.h" #include "base/strings/stringprintf.h" #include "base/strings/utf_string_conversions.h" -#include "chrome/common/metrics/entropy_provider.h" #include "chrome/test/base/chrome_render_view_test.h" #include "components/autofill/content/renderer/form_autofill_util.h" #include "components/autofill/content/renderer/form_cache.h" #include "components/autofill/core/common/form_data.h" #include "components/autofill/core/common/web_element_descriptor.h" +#include "components/variations/entropy_provider.h" #include "testing/gtest/include/gtest/gtest.h" #include "third_party/WebKit/public/platform/WebString.h" #include "third_party/WebKit/public/platform/WebVector.h" diff --git a/components/OWNERS b/components/OWNERS index ff02f9e..52618de 100644 --- a/components/OWNERS +++ b/components/OWNERS @@ -42,5 +42,9 @@ per-file user_prefs.gypi=bauerb@chromium.org per-file user_prefs.gypi=mnissler@chromium.org per-file user_prefs.gypi=pam@chromium.org +per-file variations.gypi=asvitkine@chromium.org +per-file variations.gypi=jwd@chromium.org +per-file variations.gypi=stevet@chromium.org + per-file *.isolate=csharp@chromium.org per-file *.isolate=maruel@chromium.org diff --git a/components/components.gyp b/components/components.gyp index 602650c..f3be9de 100644 --- a/components/components.gyp +++ b/components/components.gyp @@ -20,6 +20,7 @@ 'policy.gypi', 'sessions.gypi', 'user_prefs.gypi', + 'variations.gypi', 'visitedlink.gypi', 'webdata.gypi', 'web_contents_delegate_android.gypi', diff --git a/components/components_tests.gypi b/components/components_tests.gypi index 61346d0..1cd55d2 100644 --- a/components/components_tests.gypi +++ b/components/components_tests.gypi @@ -19,6 +19,11 @@ 'navigation_interception/intercept_navigation_resource_throttle_unittest.cc', 'sessions/serialized_navigation_entry_unittest.cc', 'test/run_all_unittests.cc', + # TODO(asvitkine): These should be tested on iOS too. + 'variations/entropy_provider_unittest.cc', + 'variations/metrics_util_unittest.cc', + 'variations/variations_associated_data_unittest.cc', + 'variations/variations_seed_processor_unittest.cc', 'visitedlink/test/visitedlink_unittest.cc', 'webdata/encryptor/encryptor_password_mac_unittest.cc', 'webdata/encryptor/encryptor_unittest.cc', @@ -57,6 +62,9 @@ 'sessions', 'sessions_test_support', + # Dependencies of variations + 'variations', + # Dependencies of visitedlink 'visitedlink_browser', 'visitedlink_renderer', diff --git a/components/variations.gypi b/components/variations.gypi new file mode 100644 index 0000000..5bf6b0e --- /dev/null +++ b/components/variations.gypi @@ -0,0 +1,47 @@ +# Copyright (c) 2012 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': 'variations', + 'type': 'static_library', + 'include_dirs': [ + '..', + ], + 'dependencies': [ + '../base/base.gyp:base', + '../third_party/mt19937ar/mt19937ar.gyp:mt19937ar', + 'variations_seed_proto', + ], + 'sources': [ + 'variations/entropy_provider.cc', + 'variations/entropy_provider.h', + 'variations/metrics_util.cc', + 'variations/metrics_util.h', + 'variations/variations_associated_data.cc', + 'variations/variations_associated_data.h', + 'variations/variations_seed_processor.cc', + 'variations/variations_seed_processor.h', + ], + }, + { + # Protobuf compiler / generator for Chrome Variations seed. + 'target_name': 'variations_seed_proto', + 'type': 'static_library', + 'include_dirs': [ + '..', + ], + 'sources': [ + 'variations/proto/trials_seed.proto', + 'variations/proto/study.proto', + ], + 'variables': { + 'proto_in_dir': 'variations/proto', + 'proto_out_dir': 'components/variations/proto', + }, + 'includes': [ '../build/protoc.gypi' ] + }, + ], +} diff --git a/components/variations/OWNERS b/components/variations/OWNERS new file mode 100644 index 0000000..aadd23c --- /dev/null +++ b/components/variations/OWNERS @@ -0,0 +1,3 @@ +asvitkine@chromium.org +jwd@chromium.org +stevet@chromium.org diff --git a/chrome/common/metrics/entropy_provider.cc b/components/variations/entropy_provider.cc index 385f418..a547cb1 100644 --- a/chrome/common/metrics/entropy_provider.cc +++ b/components/variations/entropy_provider.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/common/metrics/entropy_provider.h" +#include "components/variations/entropy_provider.h" #include <algorithm> #include <limits> @@ -12,7 +12,7 @@ #include "base/rand_util.h" #include "base/sha1.h" #include "base/sys_byteorder.h" -#include "chrome/common/metrics/metrics_util.h" +#include "components/variations/metrics_util.h" namespace metrics { diff --git a/chrome/common/metrics/entropy_provider.h b/components/variations/entropy_provider.h index 494c689..786ae28 100644 --- a/chrome/common/metrics/entropy_provider.h +++ b/components/variations/entropy_provider.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_COMMON_METRICS_ENTROPY_PROVIDER_H_ -#define CHROME_COMMON_METRICS_ENTROPY_PROVIDER_H_ +#ifndef COMPONENTS_VARIATIONS_ENTROPY_PROVIDER_H_ +#define COMPONENTS_VARIATIONS_ENTROPY_PROVIDER_H_ #include <functional> #include <string> @@ -91,4 +91,4 @@ class PermutedEntropyProvider : public base::FieldTrial::EntropyProvider { } // namespace metrics -#endif // CHROME_COMMON_METRICS_ENTROPY_PROVIDER_H_ +#endif // COMPONENTS_VARIATIONS_ENTROPY_PROVIDER_H_ diff --git a/chrome/common/metrics/entropy_provider_unittest.cc b/components/variations/entropy_provider_unittest.cc index 2503d00..4e9a637 100644 --- a/chrome/common/metrics/entropy_provider_unittest.cc +++ b/components/variations/entropy_provider_unittest.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/common/metrics/entropy_provider.h" +#include "components/variations/entropy_provider.h" #include <cmath> #include <limits> @@ -13,7 +13,7 @@ #include "base/memory/scoped_ptr.h" #include "base/rand_util.h" #include "base/strings/string_number_conversions.h" -#include "chrome/common/metrics/metrics_util.h" +#include "components/variations/metrics_util.h" #include "testing/gtest/include/gtest/gtest.h" namespace metrics { diff --git a/chrome/common/metrics/metrics_util.cc b/components/variations/metrics_util.cc index 775501d..031c3d3 100644 --- a/chrome/common/metrics/metrics_util.cc +++ b/components/variations/metrics_util.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/common/metrics/metrics_util.h" +#include "components/variations/metrics_util.h" #include "base/sha1.h" #include "base/sys_byteorder.h" diff --git a/chrome/common/metrics/metrics_util.h b/components/variations/metrics_util.h index 306ed09..b331d4e 100644 --- a/chrome/common/metrics/metrics_util.h +++ b/components/variations/metrics_util.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_COMMON_METRICS_METRICS_UTIL_H_ -#define CHROME_COMMON_METRICS_METRICS_UTIL_H_ +#ifndef COMPONENTS_VARIATIONS_METRICS_UTIL_H_ +#define COMPONENTS_VARIATIONS_METRICS_UTIL_H_ #include <string> @@ -17,4 +17,4 @@ uint32 HashName(const std::string& name); } // namespace metrics -#endif // CHROME_COMMON_METRICS_METRICS_UTIL_H_ +#endif // COMPONENTS_VARIATIONS_METRICS_UTIL_H_ diff --git a/chrome/common/metrics/metrics_util_unittest.cc b/components/variations/metrics_util_unittest.cc index 7c21dfd..4f32494 100644 --- a/chrome/common/metrics/metrics_util_unittest.cc +++ b/components/variations/metrics_util_unittest.cc @@ -2,7 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/common/metrics/metrics_util.h" +#include "components/variations/metrics_util.h" + #include "testing/gtest/include/gtest/gtest.h" namespace metrics { diff --git a/chrome/browser/metrics/proto/study.proto b/components/variations/proto/study.proto index fdaa41f..fdaa41f 100644 --- a/chrome/browser/metrics/proto/study.proto +++ b/components/variations/proto/study.proto diff --git a/chrome/browser/metrics/proto/trials_seed.proto b/components/variations/proto/trials_seed.proto index 9e0249a..9e0249a 100644 --- a/chrome/browser/metrics/proto/trials_seed.proto +++ b/components/variations/proto/trials_seed.proto diff --git a/chrome/common/metrics/variations/variations_associated_data.cc b/components/variations/variations_associated_data.cc index 9a1a56e..64a6d6e 100644 --- a/chrome/common/metrics/variations/variations_associated_data.cc +++ b/components/variations/variations_associated_data.cc @@ -2,14 +2,14 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/common/metrics/variations/variations_associated_data.h" +#include "components/variations/variations_associated_data.h" #include <map> +#include <utility> #include <vector> #include "base/memory/singleton.h" -#include "chrome/common/metrics/metrics_util.h" -#include "chrome/common/metrics/variations/variation_ids.h" +#include "components/variations/metrics_util.h" namespace chrome_variations { diff --git a/chrome/common/metrics/variations/variations_associated_data.h b/components/variations/variations_associated_data.h index 78d89b6..bfc4a8f 100644 --- a/chrome/common/metrics/variations/variations_associated_data.h +++ b/components/variations/variations_associated_data.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_COMMON_METRICS_VARIATIONS_VARIATIONS_ASSOCIATED_DATA_H_ -#define CHROME_COMMON_METRICS_VARIATIONS_VARIATIONS_ASSOCIATED_DATA_H_ +#ifndef COMPONENTS_VARIATIONS_VARIATIONS_ASSOCIATED_DATA_H_ +#define COMPONENTS_VARIATIONS_VARIATIONS_ASSOCIATED_DATA_H_ #include <map> #include <string> @@ -152,4 +152,4 @@ void ClearAllVariationParams(); } // namespace chrome_variations -#endif // CHROME_COMMON_METRICS_VARIATIONS_VARIATIONS_ASSOCIATED_DATA_H_ +#endif // COMPONENTS_VARIATIONS_VARIATIONS_ASSOCIATED_DATA_H_ diff --git a/chrome/common/metrics/variations/variations_associated_data_unittest.cc b/components/variations/variations_associated_data_unittest.cc index b3832e6..d9d4b5d 100644 --- a/chrome/common/metrics/variations/variations_associated_data_unittest.cc +++ b/components/variations/variations_associated_data_unittest.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/common/metrics/variations/variations_associated_data.h" +#include "components/variations/variations_associated_data.h" #include "base/metrics/field_trial.h" #include "testing/gtest/include/gtest/gtest.h" diff --git a/chrome/browser/metrics/variations/variations_seed_processor.cc b/components/variations/variations_seed_processor.cc index 3600a7e..c28d351 100644 --- a/chrome/browser/metrics/variations/variations_seed_processor.cc +++ b/components/variations/variations_seed_processor.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/metrics/variations/variations_seed_processor.h" +#include "components/variations/variations_seed_processor.h" #include <map> #include <set> @@ -12,8 +12,7 @@ #include "base/metrics/field_trial.h" #include "base/stl_util.h" #include "base/version.h" -#include "chrome/browser/metrics/proto/trials_seed.pb.h" -#include "chrome/common/metrics/variations/variations_associated_data.h" +#include "components/variations/variations_associated_data.h" namespace chrome_variations { diff --git a/chrome/browser/metrics/variations/variations_seed_processor.h b/components/variations/variations_seed_processor.h index 074d1af..46dccfa 100644 --- a/chrome/browser/metrics/variations/variations_seed_processor.h +++ b/components/variations/variations_seed_processor.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_METRICS_VARIATIONS_VARIATIONS_SEED_PROCESSOR_H_ -#define CHROME_BROWSER_METRICS_VARIATIONS_VARIATIONS_SEED_PROCESSOR_H_ +#ifndef COMPONENTS_VARIATIONS_VARIATIONS_SEED_PROCESSOR_H_ +#define COMPONENTS_VARIATIONS_VARIATIONS_SEED_PROCESSOR_H_ #include <string> @@ -12,8 +12,8 @@ #include "base/metrics/field_trial.h" #include "base/time/time.h" #include "base/version.h" -#include "chrome/browser/metrics/proto/study.pb.h" -#include "chrome/browser/metrics/proto/trials_seed.pb.h" +#include "components/variations/proto/study.pb.h" +#include "components/variations/proto/trials_seed.pb.h" namespace chrome_variations { @@ -93,4 +93,4 @@ class VariationsSeedProcessor { } // namespace chrome_variations -#endif // CHROME_BROWSER_METRICS_VARIATIONS_VARIATIONS_SEED_PROCESSOR_H_ +#endif // COMPONENTS_VARIATIONS_VARIATIONS_SEED_PROCESSOR_H_ diff --git a/chrome/browser/metrics/variations/variations_seed_processor_unittest.cc b/components/variations/variations_seed_processor_unittest.cc index 1ab7c62..6a41ce2 100644 --- a/chrome/browser/metrics/variations/variations_seed_processor_unittest.cc +++ b/components/variations/variations_seed_processor_unittest.cc @@ -2,13 +2,13 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/metrics/variations/variations_seed_processor.h" +#include "components/variations/variations_seed_processor.h" #include <vector> #include "base/command_line.h" #include "base/strings/string_split.h" -#include "chrome/common/metrics/variations/variations_associated_data.h" +#include "components/variations/variations_associated_data.h" #include "testing/gtest/include/gtest/gtest.h" namespace chrome_variations { |