summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormathp@chromium.org <mathp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-09 17:19:16 +0000
committermathp@chromium.org <mathp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-09 17:19:16 +0000
commit71011c168f7473b1ccf410841c02386e54854e74 (patch)
treed69ed0e2a2d29809670ecdfb3349879f50a6893f
parentd109d5ea91dbae76ae3375cc041a0d000cbd2e2c (diff)
downloadchromium_src-71011c168f7473b1ccf410841c02386e54854e74.zip
chromium_src-71011c168f7473b1ccf410841c02386e54854e74.tar.gz
chromium_src-71011c168f7473b1ccf410841c02386e54854e74.tar.bz2
[Variations] Bring variations_http_header_provider to variations component
Without this, the class can hardly be used within a component (unless we work around it). Adds a workaround for link failure of components_tests due to infobar component bug (crbug.com/386171). BUG=387751,382865,386171 TBR=jam TEST=Variations* Review URL: https://codereview.chromium.org/366373002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282072 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/BUILD.gn1
-rw-r--r--chrome/browser/autocomplete/search_provider.cc4
-rw-r--r--chrome/browser/autocomplete/zero_suggest_provider.cc4
-rw-r--r--chrome/browser/chrome_browser_main.cc6
-rw-r--r--chrome/browser/metrics/variations/proto/BUILD.gn12
-rw-r--r--chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc4
-rw-r--r--chrome/browser/search/suggestions/suggestions_service.cc4
-rw-r--r--chrome/chrome_browser.gypi18
-rw-r--r--chrome/chrome_tests_unit.gypi1
-rw-r--r--components/components_tests.gyp4
-rw-r--r--components/infobars.gypi14
-rw-r--r--components/infobars/test/infobar_test.cc31
-rw-r--r--components/variations.gypi4
-rw-r--r--components/variations/DEPS2
-rw-r--r--components/variations/proto/BUILD.gn1
-rw-r--r--components/variations/proto/chrome_experiments.proto (renamed from chrome/browser/metrics/variations/proto/chrome_experiments.proto)0
-rw-r--r--components/variations/variations_http_header_provider.cc (renamed from chrome/browser/metrics/variations/variations_http_header_provider.cc)16
-rw-r--r--components/variations/variations_http_header_provider.h (renamed from chrome/browser/metrics/variations/variations_http_header_provider.h)14
-rw-r--r--components/variations/variations_http_header_provider_unittest.cc (renamed from chrome/browser/metrics/variations/variations_http_header_provider_unittest.cc)203
19 files changed, 187 insertions, 156 deletions
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 3c9b70c..48f1ce1 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -35,7 +35,6 @@ static_library("browser") {
"//chrome/app/resources:platform_locale_settings",
"//chrome/app/theme:theme_resources",
"//chrome/browser/history:in_memory_url_index_cache_proto",
- "//chrome/browser/metrics/variations/proto:proto",
"//chrome/browser/net:cert_logger_proto",
"//chrome/browser/net:probe_message_proto",
"//chrome/browser/search/suggestions/proto",
diff --git a/chrome/browser/autocomplete/search_provider.cc b/chrome/browser/autocomplete/search_provider.cc
index 3906ef5..adc0de3 100644
--- a/chrome/browser/autocomplete/search_provider.cc
+++ b/chrome/browser/autocomplete/search_provider.cc
@@ -28,7 +28,6 @@
#include "chrome/browser/bookmarks/bookmark_model_factory.h"
#include "chrome/browser/history/history_service.h"
#include "chrome/browser/history/history_service_factory.h"
-#include "chrome/browser/metrics/variations/variations_http_header_provider.h"
#include "chrome/browser/omnibox/omnibox_field_trial.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/search/search.h"
@@ -43,6 +42,7 @@
#include "components/metrics/proto/omnibox_input_type.pb.h"
#include "components/search_engines/template_url_prepopulate_data.h"
#include "components/search_engines/template_url_service.h"
+#include "components/variations/variations_http_header_provider.h"
#include "content/public/browser/user_metrics.h"
#include "grit/generated_resources.h"
#include "net/base/escape.h"
@@ -678,7 +678,7 @@ net::URLFetcher* SearchProvider::CreateSuggestFetcher(
fetcher->SetLoadFlags(net::LOAD_DO_NOT_SAVE_COOKIES);
// Add Chrome experiment state to the request headers.
net::HttpRequestHeaders headers;
- chrome_variations::VariationsHttpHeaderProvider::GetInstance()->AppendHeaders(
+ variations::VariationsHttpHeaderProvider::GetInstance()->AppendHeaders(
fetcher->GetOriginalURL(), profile_->IsOffTheRecord(), false, &headers);
fetcher->SetExtraRequestHeaders(headers.ToString());
fetcher->Start();
diff --git a/chrome/browser/autocomplete/zero_suggest_provider.cc b/chrome/browser/autocomplete/zero_suggest_provider.cc
index 87e8ed4..aa9a07b 100644
--- a/chrome/browser/autocomplete/zero_suggest_provider.cc
+++ b/chrome/browser/autocomplete/zero_suggest_provider.cc
@@ -22,7 +22,6 @@
#include "chrome/browser/autocomplete/search_provider.h"
#include "chrome/browser/history/history_types.h"
#include "chrome/browser/history/top_sites.h"
-#include "chrome/browser/metrics/variations/variations_http_header_provider.h"
#include "chrome/browser/omnibox/omnibox_field_trial.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/search_engines/template_url_service_factory.h"
@@ -32,6 +31,7 @@
#include "components/metrics/proto/omnibox_input_type.pb.h"
#include "components/pref_registry/pref_registry_syncable.h"
#include "components/search_engines/template_url_service.h"
+#include "components/variations/variations_http_header_provider.h"
#include "content/public/browser/user_metrics.h"
#include "net/base/escape.h"
#include "net/base/load_flags.h"
@@ -316,7 +316,7 @@ void ZeroSuggestProvider::Run(const GURL& suggest_url) {
fetcher_->SetLoadFlags(net::LOAD_DO_NOT_SAVE_COOKIES);
// Add Chrome experiment state to the request headers.
net::HttpRequestHeaders headers;
- chrome_variations::VariationsHttpHeaderProvider::GetInstance()->AppendHeaders(
+ variations::VariationsHttpHeaderProvider::GetInstance()->AppendHeaders(
fetcher_->GetOriginalURL(), profile_->IsOffTheRecord(), false, &headers);
fetcher_->SetExtraRequestHeaders(headers.ToString());
fetcher_->Start();
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
index 7fa0378..42f2e7b 100644
--- a/chrome/browser/chrome_browser_main.cc
+++ b/chrome/browser/chrome_browser_main.cc
@@ -61,7 +61,6 @@
#include "chrome/browser/metrics/field_trial_synchronizer.h"
#include "chrome/browser/metrics/thread_watcher.h"
#include "chrome/browser/metrics/tracking_synchronizer.h"
-#include "chrome/browser/metrics/variations/variations_http_header_provider.h"
#include "chrome/browser/metrics/variations/variations_service.h"
#include "chrome/browser/nacl_host/nacl_browser_delegate_impl.h"
#include "chrome/browser/net/chrome_net_log.h"
@@ -113,6 +112,7 @@
#include "components/signin/core/common/profile_management_switches.h"
#include "components/startup_metric_utils/startup_metric_utils.h"
#include "components/translate/core/browser/translate_download_manager.h"
+#include "components/variations/variations_http_header_provider.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
@@ -589,8 +589,8 @@ void ChromeBrowserMainParts::SetupMetricsAndFieldTrials() {
if (command_line->HasSwitch(switches::kForceVariationIds)) {
// Create default variation ids which will always be included in the
// X-Client-Data request header.
- chrome_variations::VariationsHttpHeaderProvider* provider =
- chrome_variations::VariationsHttpHeaderProvider::GetInstance();
+ variations::VariationsHttpHeaderProvider* provider =
+ variations::VariationsHttpHeaderProvider::GetInstance();
bool result = provider->SetDefaultVariationIds(
command_line->GetSwitchValueASCII(switches::kForceVariationIds));
CHECK(result) << "Invalid --" << switches::kForceVariationIds
diff --git a/chrome/browser/metrics/variations/proto/BUILD.gn b/chrome/browser/metrics/variations/proto/BUILD.gn
deleted file mode 100644
index 732e86f..0000000
--- a/chrome/browser/metrics/variations/proto/BUILD.gn
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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.
-
-import("//third_party/protobuf/proto_library.gni")
-
-# GYP version: chrome/chrome_browser.gypi:variations_proto
-proto_library("proto") {
- sources = [
- "chrome_experiments.proto",
- ]
-}
diff --git a/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc b/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc
index 8bbfbf3..33727e8 100644
--- a/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc
+++ b/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc
@@ -19,7 +19,6 @@
#include "chrome/browser/download/download_resource_throttle.h"
#include "chrome/browser/extensions/api/streams_private/streams_private_api.h"
#include "chrome/browser/extensions/user_script_listener.h"
-#include "chrome/browser/metrics/variations/variations_http_header_provider.h"
#include "chrome/browser/prefetch/prefetch.h"
#include "chrome/browser/prerender/prerender_manager.h"
#include "chrome/browser/prerender/prerender_manager_factory.h"
@@ -40,6 +39,7 @@
#include "chrome/common/render_messages.h"
#include "chrome/common/url_constants.h"
#include "components/google/core/browser/google_util.h"
+#include "components/variations/variations_http_header_provider.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/render_process_host.h"
@@ -368,7 +368,7 @@ void ChromeResourceDispatcherHostDelegate::RequestBeginning(
net::HttpRequestHeaders headers;
headers.CopyFrom(request->extra_request_headers());
bool is_off_the_record = io_data->IsOffTheRecord();
- chrome_variations::VariationsHttpHeaderProvider::GetInstance()->
+ variations::VariationsHttpHeaderProvider::GetInstance()->
AppendHeaders(request->url(),
is_off_the_record,
!is_off_the_record &&
diff --git a/chrome/browser/search/suggestions/suggestions_service.cc b/chrome/browser/search/suggestions/suggestions_service.cc
index 186a937..46ca336 100644
--- a/chrome/browser/search/suggestions/suggestions_service.cc
+++ b/chrome/browser/search/suggestions/suggestions_service.cc
@@ -13,11 +13,11 @@
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
#include "base/time/time.h"
-#include "chrome/browser/metrics/variations/variations_http_header_provider.h"
#include "chrome/browser/search/suggestions/blacklist_store.h"
#include "chrome/browser/search/suggestions/suggestions_store.h"
#include "components/pref_registry/pref_registry_syncable.h"
#include "components/variations/variations_associated_data.h"
+#include "components/variations/variations_http_header_provider.h"
#include "content/public/browser/browser_thread.h"
#include "net/base/escape.h"
#include "net/base/load_flags.h"
@@ -248,7 +248,7 @@ net::URLFetcher* SuggestionsService::CreateSuggestionsRequest(const GURL& url) {
request->SetRequestContext(url_request_context_);
// Add Chrome experiment state to the request headers.
net::HttpRequestHeaders headers;
- chrome_variations::VariationsHttpHeaderProvider::GetInstance()->AppendHeaders(
+ variations::VariationsHttpHeaderProvider::GetInstance()->AppendHeaders(
request->GetOriginalURL(), false, false, &headers);
request->SetExtraRequestHeaders(headers.ToString());
return request;
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index 5e63b46..c098d87 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -753,8 +753,6 @@
'browser/metrics/tracking_synchronizer.h',
'browser/metrics/tracking_synchronizer_observer.h',
'browser/metrics/variations/generated_resources_map.h',
- 'browser/metrics/variations/variations_http_header_provider.cc',
- 'browser/metrics/variations/variations_http_header_provider.h',
'browser/metrics/variations/variations_registry_syncer_win.cc',
'browser/metrics/variations/variations_registry_syncer_win.h',
'browser/metrics/variations/variations_request_scheduler.cc',
@@ -2835,7 +2833,6 @@
'in_memory_url_index_cache_proto',
'probe_message_proto',
'suggestions_proto',
- 'variations_proto',
'../components/components.gyp:autocomplete',
'../components/components.gyp:autofill_core_browser',
'../components/components.gyp:bookmarks_browser',
@@ -3406,21 +3403,6 @@
],
},
{
- # Protobuf compiler / generator for UMA (User Metrics Analysis).
-
- # GN version: //chrome/browser/metrics/variations/proto:proto
- 'target_name': 'variations_proto',
- 'type': 'static_library',
- 'sources': [
- 'browser/metrics/variations/proto/chrome_experiments.proto',
- ],
- 'variables': {
- 'proto_in_dir': 'browser/metrics/variations/proto',
- 'proto_out_dir': 'chrome/browser/metrics/variations/proto',
- },
- 'includes': [ '../build/protoc.gypi' ],
- },
- {
# Protobuf compiler / generator for the fraudulent certificate reporting
# protocol buffer.
# GN version: //chrome/browser/net:cert_logger_proto
diff --git a/chrome/chrome_tests_unit.gypi b/chrome/chrome_tests_unit.gypi
index a41581d..dcaa637 100644
--- a/chrome/chrome_tests_unit.gypi
+++ b/chrome/chrome_tests_unit.gypi
@@ -1109,7 +1109,6 @@
'browser/metrics/thread_watcher_unittest.cc',
'browser/metrics/thread_watcher_android_unittest.cc',
'browser/metrics/time_ticks_experiment_unittest.cc',
- 'browser/metrics/variations/variations_http_header_provider_unittest.cc',
'browser/metrics/variations/variations_request_scheduler_mobile_unittest.cc',
'browser/metrics/variations/variations_request_scheduler_unittest.cc',
'browser/metrics/variations/variations_seed_store_unittest.cc',
diff --git a/components/components_tests.gyp b/components/components_tests.gyp
index 49a3281..96e1026 100644
--- a/components/components_tests.gyp
+++ b/components/components_tests.gyp
@@ -201,6 +201,7 @@
'variations/metrics_util_unittest.cc',
'variations/study_filtering_unittest.cc',
'variations/variations_associated_data_unittest.cc',
+ 'variations/variations_http_header_provider_unittest.cc',
'variations/variations_seed_processor_unittest.cc',
'variations/variations_seed_simulator_unittest.cc',
'visitedlink/test/visitedlink_unittest.cc',
@@ -283,6 +284,9 @@
'components.gyp:history_core_browser',
'components.gyp:history_core_common',
+ # Dependencies of infobar
+ 'components.gyp:infobars_test_support',
+
# Dependencies of invalidation
'components.gyp:invalidation',
'components.gyp:invalidation_test_support',
diff --git a/components/infobars.gypi b/components/infobars.gypi
index cb9c2b1..d322517 100644
--- a/components/infobars.gypi
+++ b/components/infobars.gypi
@@ -32,5 +32,19 @@
'infobars/core/infobars_switches.h',
],
},
+ {
+ 'target_name': 'infobars_test_support',
+ 'type': 'static_library',
+ 'include_dirs': [
+ '..',
+ ],
+ 'dependencies': [
+ '../base/base.gyp:base',
+ '../skia/skia.gyp:skia',
+ ],
+ 'sources': [
+ 'infobars/test/infobar_test.cc',
+ ],
+ },
],
}
diff --git a/components/infobars/test/infobar_test.cc b/components/infobars/test/infobar_test.cc
new file mode 100644
index 0000000..a2f17bb
--- /dev/null
+++ b/components/infobars/test/infobar_test.cc
@@ -0,0 +1,31 @@
+// 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 "base/logging.h"
+#include "base/memory/scoped_ptr.h"
+#include "components/infobars/core/confirm_infobar_delegate.h"
+#include "components/infobars/core/infobar.h"
+
+// Provides dummy definitions of static variables and functions that are
+// declared in the component but defined in the embedder in order to allow
+// components_unittests to link.
+// TODO(blundell): The component shouldn't be declaring statics that it's not
+// defining. crbug.com/386171
+
+// On Android, these variables are defined in ../core/infobar_android.cc.
+#if !defined(OS_ANDROID)
+const int infobars::InfoBar::kSeparatorLineHeight = 1;
+const int infobars::InfoBar::kDefaultArrowTargetHeight = 9;
+const int infobars::InfoBar::kMaximumArrowTargetHeight = 24;
+const int infobars::InfoBar::kDefaultArrowTargetHalfWidth =
+ kDefaultArrowTargetHeight;
+const int infobars::InfoBar::kMaximumArrowTargetHalfWidth = 14;
+const int infobars::InfoBar::kDefaultBarTargetHeight = 36;
+#endif
+
+scoped_ptr<infobars::InfoBar> ConfirmInfoBarDelegate::CreateInfoBar(
+ scoped_ptr<ConfirmInfoBarDelegate> delegate) {
+ NOTREACHED();
+ return scoped_ptr<infobars::InfoBar>();
+}
diff --git a/components/variations.gypi b/components/variations.gypi
index 2ae6ffc..1751336 100644
--- a/components/variations.gypi
+++ b/components/variations.gypi
@@ -14,6 +14,7 @@
'dependencies': [
'../base/base.gyp:base',
'../third_party/mt19937ar/mt19937ar.gyp:mt19937ar',
+ 'components.gyp:google_core_browser',
],
'sources': [
'variations/active_field_trials.cc',
@@ -32,6 +33,7 @@
'variations/pref_names.h',
'variations/processed_study.cc',
'variations/processed_study.h',
+ 'variations/proto/chrome_experiments.proto',
'variations/proto/permuted_entropy_cache.proto',
'variations/proto/study.proto',
'variations/proto/variations_seed.proto',
@@ -39,6 +41,8 @@
'variations/study_filtering.h',
'variations/variations_associated_data.cc',
'variations/variations_associated_data.h',
+ 'variations/variations_http_header_provider.cc',
+ 'variations/variations_http_header_provider.h',
'variations/variations_seed_processor.cc',
'variations/variations_seed_processor.h',
'variations/variations_seed_simulator.cc',
diff --git a/components/variations/DEPS b/components/variations/DEPS
index 6448868..1a790cd 100644
--- a/components/variations/DEPS
+++ b/components/variations/DEPS
@@ -1,3 +1,5 @@
include_rules = [
+ "+components/google",
+ "+net",
"+third_party/mt19937ar",
]
diff --git a/components/variations/proto/BUILD.gn b/components/variations/proto/BUILD.gn
index 5895d57..e943e57 100644
--- a/components/variations/proto/BUILD.gn
+++ b/components/variations/proto/BUILD.gn
@@ -6,6 +6,7 @@ import("//third_party/protobuf/proto_library.gni")
proto_library("proto") {
sources = [
+ "chrome_experiments.proto",
"permuted_entropy_cache.proto",
"study.proto",
"variations_seed.proto",
diff --git a/chrome/browser/metrics/variations/proto/chrome_experiments.proto b/components/variations/proto/chrome_experiments.proto
index 28bf22d..28bf22d 100644
--- a/chrome/browser/metrics/variations/proto/chrome_experiments.proto
+++ b/components/variations/proto/chrome_experiments.proto
diff --git a/chrome/browser/metrics/variations/variations_http_header_provider.cc b/components/variations/variations_http_header_provider.cc
index d45c1c4..bc613df 100644
--- a/chrome/browser/metrics/variations/variations_http_header_provider.cc
+++ b/components/variations/variations_http_header_provider.cc
@@ -1,8 +1,8 @@
-// Copyright (c) 2012 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/metrics/variations/variations_http_header_provider.h"
+#include "components/variations/variations_http_header_provider.h"
#include <vector>
@@ -12,13 +12,19 @@
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_split.h"
#include "base/strings/string_util.h"
-#include "chrome/browser/metrics/variations/proto/chrome_experiments.pb.h"
#include "components/google/core/browser/google_util.h"
+#include "components/variations/proto/chrome_experiments.pb.h"
#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
#include "net/http/http_request_headers.h"
#include "url/gurl.h"
-namespace chrome_variations {
+// TODO(mathp): Once the move to variations namespace is complete, remove these.
+using chrome_variations::EMPTY_ID;
+using chrome_variations::GOOGLE_WEB_PROPERTIES;
+using chrome_variations::GOOGLE_WEB_PROPERTIES_TRIGGER;
+using chrome_variations::VariationID;
+
+namespace variations {
namespace {
@@ -256,4 +262,4 @@ bool VariationsHttpHeaderProvider::ShouldAppendHeaders(const GURL& url) {
google_util::ALLOW_NON_STANDARD_PORTS);
}
-} // namespace chrome_variations
+} // namespace variations
diff --git a/chrome/browser/metrics/variations/variations_http_header_provider.h b/components/variations/variations_http_header_provider.h
index 4b7d9a8..8bd15ab 100644
--- a/chrome/browser/metrics/variations/variations_http_header_provider.h
+++ b/components/variations/variations_http_header_provider.h
@@ -1,9 +1,9 @@
-// Copyright (c) 2012 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_METRICS_VARIATIONS_VARIATIONS_HTTP_HEADER_PROVIDER_H_
-#define CHROME_BROWSER_METRICS_VARIATIONS_VARIATIONS_HTTP_HEADER_PROVIDER_H_
+#ifndef COMPONENTS_VARIATIONS_VARIATIONS_HTTP_HEADER_PROVIDER_H_
+#define COMPONENTS_VARIATIONS_VARIATIONS_HTTP_HEADER_PROVIDER_H_
#include <set>
#include <string>
@@ -23,12 +23,10 @@ class HttpRequestHeaders;
}
class GURL;
-class Profile;
-class ProfileIOData;
template <typename T> struct DefaultSingletonTraits;
-namespace chrome_variations {
+namespace variations {
// A helper class for maintaining Chrome experiments and metrics state
// transmitted in custom HTTP request headers.
@@ -110,6 +108,6 @@ class VariationsHttpHeaderProvider : base::FieldTrialList::Observer {
DISALLOW_COPY_AND_ASSIGN(VariationsHttpHeaderProvider);
};
-} // namespace chrome_variations
+} // namespace variations
-#endif // CHROME_BROWSER_METRICS_VARIATIONS_VARIATIONS_HTTP_HEADER_PROVIDER_H_
+#endif // COMPONENTS_VARIATIONS_VARIATIONS_HTTP_HEADER_PROVIDER_H_
diff --git a/chrome/browser/metrics/variations/variations_http_header_provider_unittest.cc b/components/variations/variations_http_header_provider_unittest.cc
index 2e644c4..78148b3 100644
--- a/chrome/browser/metrics/variations/variations_http_header_provider_unittest.cc
+++ b/components/variations/variations_http_header_provider_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/metrics/variations/variations_http_header_provider.h"
+#include "components/variations/variations_http_header_provider.h"
#include <string>
@@ -10,14 +10,20 @@
#include "base/message_loop/message_loop.h"
#include "base/metrics/field_trial.h"
#include "base/run_loop.h"
-#include "chrome/browser/metrics/variations/proto/chrome_experiments.pb.h"
#include "components/variations/entropy_provider.h"
+#include "components/variations/proto/chrome_experiments.pb.h"
#include "components/variations/variations_associated_data.h"
#include "net/http/http_request_headers.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"
-namespace chrome_variations {
+// TODO(mathp): Remove once everything is under namespace 'variations'.
+using chrome_variations::GOOGLE_WEB_PROPERTIES;
+using chrome_variations::GOOGLE_WEB_PROPERTIES_TRIGGER;
+using chrome_variations::IDCollectionKey;
+using chrome_variations::VariationID;
+
+namespace variations {
namespace {
@@ -26,11 +32,9 @@ bool ExtractVariationIds(const std::string& variations,
std::set<VariationID>* variation_ids,
std::set<VariationID>* trigger_ids) {
std::string serialized_proto;
- if (!base::Base64Decode(variations, &serialized_proto))
- return false;
+ if (!base::Base64Decode(variations, &serialized_proto)) return false;
metrics::ChromeVariations proto;
- if (!proto.ParseFromString(serialized_proto))
- return false;
+ if (!proto.ParseFromString(serialized_proto)) return false;
for (int i = 0; i < proto.variation_id_size(); ++i)
variation_ids->insert(proto.variation_id(i));
for (int i = 0; i < proto.trigger_variation_id_size(); ++i)
@@ -39,10 +43,8 @@ bool ExtractVariationIds(const std::string& variations,
}
scoped_refptr<base::FieldTrial> CreateTrialAndAssociateId(
- const std::string& trial_name,
- const std::string& default_group_name,
- IDCollectionKey key,
- VariationID id) {
+ const std::string& trial_name, const std::string& default_group_name,
+ IDCollectionKey key, VariationID id) {
scoped_refptr<base::FieldTrial> trial(
base::FieldTrialList::CreateFieldTrial(trial_name, default_group_name));
@@ -61,7 +63,7 @@ class VariationsHttpHeaderProviderTest : public ::testing::Test {
virtual ~VariationsHttpHeaderProviderTest() {}
virtual void TearDown() OVERRIDE {
- testing::ClearAllVariationIDs();
+ chrome_variations::testing::ClearAllVariationIDs();
}
};
@@ -70,96 +72,97 @@ TEST_F(VariationsHttpHeaderProviderTest, ShouldAppendHeaders) {
const char* url;
bool should_append_headers;
} cases[] = {
- { "http://google.com", true },
- { "http://www.google.com", true },
- { "http://m.google.com", true },
- { "http://google.ca", true },
- { "https://google.ca", true },
- { "http://google.co.uk", true },
- { "http://google.co.uk:8080/", true },
- { "http://www.google.co.uk:8080/", true },
- { "http://google", false },
-
- { "http://youtube.com", true },
- { "http://www.youtube.com", true },
- { "http://www.youtube.ca", true },
- { "http://www.youtube.co.uk:8080/", true },
- { "https://www.youtube.com", true },
- { "http://youtube", false },
-
- { "http://www.yahoo.com", false },
-
- { "http://ad.doubleclick.net", true },
- { "https://a.b.c.doubleclick.net", true },
- { "https://a.b.c.doubleclick.net:8081", true },
- { "http://www.doubleclick.com", true },
- { "http://www.doubleclick.org", false },
- { "http://www.doubleclick.net.com", false },
- { "https://www.doubleclick.net.com", false },
-
- { "http://ad.googlesyndication.com", true },
- { "https://a.b.c.googlesyndication.com", true },
- { "https://a.b.c.googlesyndication.com:8080", true },
- { "http://www.doubleclick.edu", false },
- { "http://www.googlesyndication.com.edu", false },
- { "https://www.googlesyndication.com.com", false },
-
- { "http://www.googleadservices.com", true },
- { "http://www.googleadservices.com:8080", true },
- { "https://www.googleadservices.com", true },
- { "https://www.internal.googleadservices.com", true },
- { "https://www2.googleadservices.com", true },
- { "https://www.googleadservices.org", false },
- { "https://www.googleadservices.com.co.uk", false },
-
- { "http://WWW.ANDROID.COM", true },
- { "http://www.android.com", true },
- { "http://www.doubleclick.com", true },
- { "http://www.doubleclick.net", true },
- { "http://www.ggpht.com", true },
- { "http://www.googleadservices.com", true },
- { "http://www.googleapis.com", true },
- { "http://www.googlesyndication.com", true },
- { "http://www.googleusercontent.com", true },
- { "http://www.googlevideo.com", true },
- { "http://ssl.gstatic.com", true },
- { "http://www.gstatic.com", true },
- { "http://www.ytimg.com", true },
- { "http://wwwytimg.com", false },
- { "http://ytimg.com", false },
-
- { "http://www.android.org", false },
- { "http://www.doubleclick.org", false },
- { "http://www.doubleclick.net", true },
- { "http://www.ggpht.org", false },
- { "http://www.googleadservices.org", false },
- { "http://www.googleapis.org", false },
- { "http://www.googlesyndication.org", false },
- { "http://www.googleusercontent.org", false },
- { "http://www.googlevideo.org", false },
- { "http://ssl.gstatic.org", false },
- { "http://www.gstatic.org", false },
- { "http://www.ytimg.org", false },
-
- { "http://a.b.android.com", true },
- { "http://a.b.doubleclick.com", true },
- { "http://a.b.doubleclick.net", true },
- { "http://a.b.ggpht.com", true },
- { "http://a.b.googleadservices.com", true },
- { "http://a.b.googleapis.com", true },
- { "http://a.b.googlesyndication.com", true },
- { "http://a.b.googleusercontent.com", true },
- { "http://a.b.googlevideo.com", true },
- { "http://ssl.gstatic.com", true },
- { "http://a.b.gstatic.com", true },
- { "http://a.b.ytimg.com", true },
-
- };
+ {"http://google.com", true},
+ {"http://www.google.com", true},
+ {"http://m.google.com", true},
+ {"http://google.ca", true},
+ {"https://google.ca", true},
+ {"http://google.co.uk", true},
+ {"http://google.co.uk:8080/", true},
+ {"http://www.google.co.uk:8080/", true},
+ {"http://google", false},
+
+ {"http://youtube.com", true},
+ {"http://www.youtube.com", true},
+ {"http://www.youtube.ca", true},
+ {"http://www.youtube.co.uk:8080/", true},
+ {"https://www.youtube.com", true},
+ {"http://youtube", false},
+
+ {"http://www.yahoo.com", false},
+
+ {"http://ad.doubleclick.net", true},
+ {"https://a.b.c.doubleclick.net", true},
+ {"https://a.b.c.doubleclick.net:8081", true},
+ {"http://www.doubleclick.com", true},
+ {"http://www.doubleclick.org", false},
+ {"http://www.doubleclick.net.com", false},
+ {"https://www.doubleclick.net.com", false},
+
+ {"http://ad.googlesyndication.com", true},
+ {"https://a.b.c.googlesyndication.com", true},
+ {"https://a.b.c.googlesyndication.com:8080", true},
+ {"http://www.doubleclick.edu", false},
+ {"http://www.googlesyndication.com.edu", false},
+ {"https://www.googlesyndication.com.com", false},
+
+ {"http://www.googleadservices.com", true},
+ {"http://www.googleadservices.com:8080", true},
+ {"https://www.googleadservices.com", true},
+ {"https://www.internal.googleadservices.com", true},
+ {"https://www2.googleadservices.com", true},
+ {"https://www.googleadservices.org", false},
+ {"https://www.googleadservices.com.co.uk", false},
+
+ {"http://WWW.ANDROID.COM", true},
+ {"http://www.android.com", true},
+ {"http://www.doubleclick.com", true},
+ {"http://www.doubleclick.net", true},
+ {"http://www.ggpht.com", true},
+ {"http://www.googleadservices.com", true},
+ {"http://www.googleapis.com", true},
+ {"http://www.googlesyndication.com", true},
+ {"http://www.googleusercontent.com", true},
+ {"http://www.googlevideo.com", true},
+ {"http://ssl.gstatic.com", true},
+ {"http://www.gstatic.com", true},
+ {"http://www.ytimg.com", true},
+ {"http://wwwytimg.com", false},
+ {"http://ytimg.com", false},
+
+ {"http://www.android.org", false},
+ {"http://www.doubleclick.org", false},
+ {"http://www.doubleclick.net", true},
+ {"http://www.ggpht.org", false},
+ {"http://www.googleadservices.org", false},
+ {"http://www.googleapis.org", false},
+ {"http://www.googlesyndication.org", false},
+ {"http://www.googleusercontent.org", false},
+ {"http://www.googlevideo.org", false},
+ {"http://ssl.gstatic.org", false},
+ {"http://www.gstatic.org", false},
+ {"http://www.ytimg.org", false},
+
+ {"http://a.b.android.com", true},
+ {"http://a.b.doubleclick.com", true},
+ {"http://a.b.doubleclick.net", true},
+ {"http://a.b.ggpht.com", true},
+ {"http://a.b.googleadservices.com", true},
+ {"http://a.b.googleapis.com", true},
+ {"http://a.b.googlesyndication.com", true},
+ {"http://a.b.googleusercontent.com", true},
+ {"http://a.b.googlevideo.com", true},
+ {"http://ssl.gstatic.com", true},
+ {"http://a.b.gstatic.com", true},
+ {"http://a.b.ytimg.com", true},
+
+ };
for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) {
const GURL url(cases[i].url);
EXPECT_EQ(cases[i].should_append_headers,
- VariationsHttpHeaderProvider::ShouldAppendHeaders(url)) << url;
+ VariationsHttpHeaderProvider::ShouldAppendHeaders(url))
+ << url;
}
}
@@ -239,4 +242,4 @@ TEST_F(VariationsHttpHeaderProviderTest, OnFieldTrialGroupFinalized) {
EXPECT_TRUE(trigger_ids.find(456) != trigger_ids.end());
}
-} // namespace chrome_variations
+} // namespace variations