Skip to content

Commit

Permalink
Create a variations component, so that it can be re-used.
Browse files Browse the repository at this point in the history
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
  • Loading branch information
asvitkine@chromium.org committed Aug 29, 2013
1 parent 67f7376 commit 50ae9f1
Show file tree
Hide file tree
Showing 45 changed files with 116 additions and 82 deletions.
1 change: 1 addition & 0 deletions chrome/DEPS
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ include_rules = [
"+chrome/test",
"+components/json_schema",
"+components/sessions",
"+components/variations",
"+components/visitedlink/common",
"+content/public/common",
"+content/public/test",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
3 changes: 1 addition & 2 deletions chrome/browser/autocomplete/search_provider_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down
2 changes: 1 addition & 1 deletion chrome/browser/metrics/metrics_service.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
4 changes: 2 additions & 2 deletions chrome/browser/metrics/variations/variations_service.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
4 changes: 2 additions & 2 deletions chrome/browser/metrics/variations/variations_service.h
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion chrome/browser/omnibox/omnibox_field_trial.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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 {

Expand Down
2 changes: 1 addition & 1 deletion chrome/browser/omnibox/omnibox_field_trial_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
2 changes: 1 addition & 1 deletion chrome/browser/search/search_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion chrome/browser/spellchecker/feedback_sender_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion chrome/browser/ui/bookmarks/bookmark_prompt_controller.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
17 changes: 0 additions & 17 deletions chrome/chrome_browser.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down Expand Up @@ -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',
Expand Down Expand Up @@ -3372,20 +3369,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',
Expand Down
1 change: 0 additions & 1 deletion chrome/chrome_browser_chromeos.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down
1 change: 0 additions & 1 deletion chrome/chrome_browser_ui.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down
8 changes: 1 addition & 7 deletions chrome/chrome_common.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,14 @@
'<(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',
'<(DEPTH)/skia/skia.gyp:skia',
'<(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',
Expand Down Expand Up @@ -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',
Expand Down
4 changes: 0 additions & 4 deletions chrome/chrome_tests_unit.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down Expand Up @@ -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',
Expand Down
2 changes: 1 addition & 1 deletion chrome/common/metrics/caching_permuted_entropy_provider.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion chrome/common/metrics/variations/variations_util.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
2 changes: 1 addition & 1 deletion chrome/renderer/autofill/form_autofill_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
4 changes: 4 additions & 0 deletions components/OWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -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
1 change: 1 addition & 0 deletions components/components.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
'policy.gypi',
'sessions.gypi',
'user_prefs.gypi',
'variations.gypi',
'visitedlink.gypi',
'webdata.gypi',
'web_contents_delegate_android.gypi',
Expand Down
8 changes: 8 additions & 0 deletions components/components_tests.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down Expand Up @@ -57,6 +62,9 @@
'sessions',
'sessions_test_support',

# Dependencies of variations
'variations',

# Dependencies of visitedlink
'visitedlink_browser',
'visitedlink_renderer',
Expand Down
Loading

0 comments on commit 50ae9f1

Please sign in to comment.