Commit c507789d authored by John Delaney's avatar John Delaney Committed by Commit Bot

Activate DelayUnsafeAds only if AdTagging enabled

The DelayUnsafeAds field trial parameters should only be queried if the client has
AdTagging enabled.

Bug: 856271
Change-Id: Ie4c19bb735c8b20c2454da21f12c3c7ce7cd4e02
Reviewed-on: https://chromium-review.googlesource.com/1117326Reviewed-by: default avatarCharlie Harrison <csharrison@chromium.org>
Commit-Queue: John Delaney <johnidel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571094}
parent 15aee175
......@@ -109,18 +109,20 @@ base::TimeDelta AdDelayThrottle::DeferCondition::OnReadyToDefer() {
constexpr base::TimeDelta AdDelayThrottle::kDefaultDelay;
AdDelayThrottle::Factory::Factory()
: insecure_delay_(base::TimeDelta::FromMilliseconds(
base::GetFieldTrialParamByFeatureAsInt(
kDelayUnsafeAds,
kInsecureDelayParam,
kDefaultDelay.InMilliseconds()))),
: delay_enabled_(base::FeatureList::IsEnabled(kAdTagging) &&
base::FeatureList::IsEnabled(kDelayUnsafeAds)),
insecure_delay_(base::TimeDelta::FromMilliseconds(
delay_enabled_ ? base::GetFieldTrialParamByFeatureAsInt(
kDelayUnsafeAds,
kInsecureDelayParam,
kDefaultDelay.InMilliseconds())
: 0)),
non_isolated_delay_(base::TimeDelta::FromMilliseconds(
base::GetFieldTrialParamByFeatureAsInt(
kDelayUnsafeAds,
kNonIsolatedDelayParam,
kDefaultDelay.InMilliseconds()))),
delay_enabled_(base::FeatureList::IsEnabled(kAdTagging) &&
base::FeatureList::IsEnabled(kDelayUnsafeAds)) {}
delay_enabled_ ? base::GetFieldTrialParamByFeatureAsInt(
kDelayUnsafeAds,
kNonIsolatedDelayParam,
kDefaultDelay.InMilliseconds())
: 0)) {}
AdDelayThrottle::Factory::~Factory() = default;
......
......@@ -56,9 +56,9 @@ class AdDelayThrottle : public content::URLLoaderThrottle {
bool delay_enabled() const { return delay_enabled_; }
private:
const bool delay_enabled_ = false;
const base::TimeDelta insecure_delay_;
const base::TimeDelta non_isolated_delay_;
const bool delay_enabled_ = false;
DISALLOW_COPY_AND_ASSIGN(Factory);
};
......
......@@ -141,6 +141,10 @@ TEST_F(AdDelayThrottleTest, NoFeature_NoDelay) {
TEST_F(AdDelayThrottleTest, NoAdTagging_NoDelay) {
base::test::ScopedFeatureList scoped_disable;
scoped_disable.InitAndDisableFeature(kAdTagging);
base::test::ScopedFeatureList scoped_params;
scoped_params.InitAndEnableFeatureWithParameters(
kDelayUnsafeAds,
{{kInsecureDelayParam, "50"}, {kNonIsolatedDelayParam, "100"}});
AdDelayThrottle::Factory factory;
auto throttle = factory.MaybeCreate(std::make_unique<MockMetadataProvider>());
......@@ -152,6 +156,8 @@ TEST_F(AdDelayThrottleTest, NoAdTagging_NoDelay) {
scoped_environment_.RunUntilIdle();
EXPECT_TRUE(client_->has_received_completion());
EXPECT_FALSE(base::FieldTrialList::IsTrialActive(
base::FeatureList::GetFieldTrial(kDelayUnsafeAds)->trial_name()));
}
TEST_F(AdDelayThrottleTest, AdDelay) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment