Revert "Add browserSignals.forDebuggingOnlySampling"
This reverts commit 6fcd97e0dc
.
Reason for revert: Failing on ChromiumOS MSan tests. See https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20ChromiumOS%20MSan%20Tests/50148/test-results?sortby=&groupby= for example.
Original change's description:
> Add browserSignals.forDebuggingOnlySampling
>
> ...to generateBid() and scoreAd(), to tell whether fDO sampling is
> enabled. The new signal is behind a flag, and only available when the
> flag is enabled. It's always set to false for now even when it's
> available.
>
> Bug: 391877228
>
> Change-Id: I0e8bcf1c4dc9bed5110fb9c48427d1f3526cb162
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6265086
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Commit-Queue: Qingxin Wu <qingxinwu@google.com>
> Reviewed-by: Maks Orlovich <morlovich@chromium.org>
> Reviewed-by: Dominic Farolino <dom@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1422110}
Bug: 391877228
Change-Id: I844f0d5b9a8caff30d8ae32bc621211909afe479
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6284447
Auto-Submit: Adam Rice <ricea@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Adam Rice <ricea@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1422384}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
452913d29e
commit
cff94c68a1
content
browser
interest_group
services
third_party/blink
@ -311,7 +311,6 @@ class MockBidderWorklet : public auction_worklet::mojom::BidderWorklet {
|
||||
const url::Origin& browser_signal_seller_origin,
|
||||
const std::optional<url::Origin>& browser_signal_top_level_seller_origin,
|
||||
const base::TimeDelta browser_signal_recency,
|
||||
bool browser_signal_for_debugging_only_sampling,
|
||||
blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals,
|
||||
base::Time auction_start_time,
|
||||
const std::optional<blink::AdSize>& requested_ad_size,
|
||||
@ -504,7 +503,6 @@ class MockSellerWorklet : public auction_worklet::mojom::SellerWorklet {
|
||||
browser_signal_buyer_and_seller_reporting_id,
|
||||
uint32_t browser_signal_bidding_duration_msecs,
|
||||
bool browser_signal_for_debugging_only_in_cooldown_or_lockout,
|
||||
bool browser_signal_for_debugging_only_sampling,
|
||||
const std::optional<base::TimeDelta> seller_timeout,
|
||||
uint64_t trace_id,
|
||||
const url::Origin& bidder_joining_origin,
|
||||
|
@ -2258,9 +2258,6 @@ class InterestGroupAuction::BuyerHelper
|
||||
bid_state->handled_direct_from_seller_signals_in_begin_generate_bid =
|
||||
true;
|
||||
}
|
||||
|
||||
// TODO(crbug.com/391877228): Set its value based on cookie settings.
|
||||
bool browser_signal_for_debugging_only_sampling = false;
|
||||
bid_state->worklet_handle->GetBidderWorklet()->BeginGenerateBid(
|
||||
auction_worklet::mojom::BidderWorkletNonSharedParams::New(
|
||||
interest_group.name,
|
||||
@ -2282,7 +2279,6 @@ class InterestGroupAuction::BuyerHelper
|
||||
: std::optional<url::Origin>(),
|
||||
(base::Time::Now() - bid_state->bidder->join_time)
|
||||
.RoundToMultiple(base::Milliseconds(100)),
|
||||
browser_signal_for_debugging_only_sampling,
|
||||
bid_state->bidder->bidding_browser_signals.Clone(),
|
||||
auction_->auction_start_time_, auction_->RequestedAdSize(),
|
||||
multi_bid_limit_, *bid_state->trace_id, std::move(pending_remote),
|
||||
@ -5596,8 +5592,6 @@ void InterestGroupAuction::ScoreBid(std::unique_ptr<Bid> bid) {
|
||||
cache_handle->compression_group_token(), partition_id);
|
||||
}
|
||||
|
||||
// TODO(crbug.com/391877228): Set its value based on cookie settings.
|
||||
bool browser_signal_for_debugging_only_sampling = false;
|
||||
seller_worklet_handle_->GetSellerWorklet()->ScoreAd(
|
||||
bid->ad_metadata, bid->bid, bid->bid_currency, config_->non_shared_params,
|
||||
std::move(cache_key),
|
||||
@ -5619,8 +5613,7 @@ void InterestGroupAuction::ScoreBid(std::unique_ptr<Bid> bid) {
|
||||
IsOriginInDebugReportCooldownOrLockout(
|
||||
config_->seller, debug_report_lockout_and_cooldowns_,
|
||||
base::Time::Now()),
|
||||
browser_signal_for_debugging_only_sampling, SellerTimeout(), bid_trace_id,
|
||||
bid->bid_state->bidder->joining_origin,
|
||||
SellerTimeout(), bid_trace_id, bid->bid_state->bidder->joining_origin,
|
||||
score_ad_receiver.InitWithNewPipeAndPassRemote());
|
||||
|
||||
score_ad_receivers_.Add(
|
||||
|
@ -83,7 +83,6 @@ void MockBidderWorklet::BeginGenerateBid(
|
||||
const url::Origin& browser_signal_seller_origin,
|
||||
const std::optional<url::Origin>& browser_signal_top_level_seller_origin,
|
||||
const base::TimeDelta browser_signal_recency,
|
||||
bool browser_signal_for_debugging_only_sampling,
|
||||
blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals,
|
||||
base::Time auction_start_time,
|
||||
const std::optional<blink::AdSize>& requested_ad_size,
|
||||
@ -429,7 +428,6 @@ void MockSellerWorklet::ScoreAd(
|
||||
browser_signal_buyer_and_seller_reporting_id,
|
||||
uint32_t browser_signal_bidding_duration_msecs,
|
||||
bool browser_signal_for_debugging_only_in_cooldown_or_lockout,
|
||||
bool browser_signal_for_debugging_only_sampling,
|
||||
const std::optional<base::TimeDelta> seller_timeout,
|
||||
uint64_t trace_id,
|
||||
const url::Origin& bidder_joining_origin,
|
||||
|
@ -74,7 +74,6 @@ class MockBidderWorklet : public auction_worklet::mojom::BidderWorklet,
|
||||
const url::Origin& browser_signal_seller_origin,
|
||||
const std::optional<url::Origin>& browser_signal_top_level_seller_origin,
|
||||
const base::TimeDelta browser_signal_recency,
|
||||
bool browser_signal_for_debugging_only_sampling,
|
||||
blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals,
|
||||
base::Time auction_start_time,
|
||||
const std::optional<blink::AdSize>& requested_ad_size,
|
||||
@ -315,7 +314,6 @@ class MockSellerWorklet : public auction_worklet::mojom::SellerWorklet {
|
||||
browser_signal_buyer_and_seller_reporting_id,
|
||||
uint32_t browser_signal_bidding_duration_msecs,
|
||||
bool browser_signal_for_debugging_only_in_cooldown_or_lockout,
|
||||
bool browser_signal_for_debugging_only_sampling,
|
||||
const std::optional<base::TimeDelta> seller_timeout,
|
||||
uint64_t trace_id,
|
||||
const url::Origin& bidder_joining_origin,
|
||||
|
@ -79,7 +79,6 @@ class DebugConnector : public auction_worklet::mojom::BidderWorklet {
|
||||
const url::Origin& browser_signal_seller_origin,
|
||||
const std::optional<url::Origin>& browser_signal_top_level_seller_origin,
|
||||
const base::TimeDelta browser_signal_recency,
|
||||
bool browser_signal_for_debugging_only_sampling,
|
||||
blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals,
|
||||
base::Time auction_start_time,
|
||||
const std::optional<blink::AdSize>& requested_ad_size,
|
||||
|
@ -492,7 +492,6 @@ void BidderWorklet::BeginGenerateBid(
|
||||
const url::Origin& browser_signal_seller_origin,
|
||||
const std::optional<url::Origin>& browser_signal_top_level_seller_origin,
|
||||
const base::TimeDelta browser_signal_recency,
|
||||
bool browser_signal_for_debugging_only_sampling,
|
||||
blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals,
|
||||
base::Time auction_start_time,
|
||||
const std::optional<blink::AdSize>& requested_ad_size,
|
||||
@ -514,8 +513,6 @@ void BidderWorklet::BeginGenerateBid(
|
||||
generate_bid_task->browser_signal_top_level_seller_origin =
|
||||
browser_signal_top_level_seller_origin;
|
||||
generate_bid_task->browser_signal_recency = browser_signal_recency;
|
||||
generate_bid_task->browser_signal_for_debugging_only_sampling =
|
||||
browser_signal_for_debugging_only_sampling;
|
||||
generate_bid_task->bidding_browser_signals =
|
||||
std::move(bidding_browser_signals);
|
||||
generate_bid_task->auction_start_time = auction_start_time;
|
||||
@ -1363,7 +1360,6 @@ void BidderWorklet::V8State::GenerateBid(
|
||||
const url::Origin& browser_signal_seller_origin,
|
||||
const std::optional<url::Origin>& browser_signal_top_level_seller_origin,
|
||||
const base::TimeDelta browser_signal_recency,
|
||||
bool browser_signal_for_debugging_only_sampling,
|
||||
blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals,
|
||||
base::Time auction_start_time,
|
||||
const std::optional<blink::AdSize>& requested_ad_size,
|
||||
@ -1391,9 +1387,9 @@ void BidderWorklet::V8State::GenerateBid(
|
||||
direct_from_seller_auction_signals_header_ad_slot, per_buyer_timeout,
|
||||
expected_buyer_currency, browser_signal_seller_origin,
|
||||
base::OptionalToPtr(browser_signal_top_level_seller_origin),
|
||||
browser_signal_recency, browser_signal_for_debugging_only_sampling,
|
||||
bidding_browser_signals, auction_start_time, requested_ad_size,
|
||||
multi_bid_limit, trusted_bidding_signals_result, trace_id,
|
||||
browser_signal_recency, bidding_browser_signals, auction_start_time,
|
||||
requested_ad_size, multi_bid_limit, trusted_bidding_signals_result,
|
||||
trace_id,
|
||||
/*context_recycler_for_rerun=*/nullptr,
|
||||
/*restrict_to_kanon_ads=*/false);
|
||||
|
||||
@ -1463,9 +1459,9 @@ void BidderWorklet::V8State::GenerateBid(
|
||||
per_buyer_timeout, expected_buyer_currency,
|
||||
browser_signal_seller_origin,
|
||||
base::OptionalToPtr(browser_signal_top_level_seller_origin),
|
||||
browser_signal_recency, browser_signal_for_debugging_only_sampling,
|
||||
bidding_browser_signals, auction_start_time, requested_ad_size,
|
||||
/* multi_bid_limit=*/1, trusted_bidding_signals_result, trace_id,
|
||||
browser_signal_recency, bidding_browser_signals, auction_start_time,
|
||||
requested_ad_size, /* multi_bid_limit=*/1,
|
||||
trusted_bidding_signals_result, trace_id,
|
||||
std::move(result->context_recycler_for_rerun),
|
||||
/*restrict_to_kanon_ads=*/true);
|
||||
} else {
|
||||
@ -1566,7 +1562,6 @@ BidderWorklet::V8State::RunGenerateBidOnce(
|
||||
const url::Origin& browser_signal_seller_origin,
|
||||
const url::Origin* browser_signal_top_level_seller_origin,
|
||||
const base::TimeDelta browser_signal_recency,
|
||||
bool browser_signal_for_debugging_only_sampling,
|
||||
const blink::mojom::BiddingBrowserSignalsPtr& bidding_browser_signals,
|
||||
base::Time auction_start_time,
|
||||
const std::optional<blink::AdSize>& requested_ad_size,
|
||||
@ -1889,12 +1884,6 @@ BidderWorklet::V8State::RunGenerateBidOnce(
|
||||
"forDebuggingOnlyInCooldownOrLockout",
|
||||
bidding_browser_signals
|
||||
->for_debugging_only_in_cooldown_or_lockout)) ||
|
||||
(base::FeatureList::IsEnabled(
|
||||
blink::features::kBiddingAndScoringDebugReportingAPI) &&
|
||||
base::FeatureList::IsEnabled(
|
||||
blink::features::kFledgeEnableSampleDebugReportOnCookieSetting) &&
|
||||
!browser_signals_dict.Set("forDebuggingOnlySampling",
|
||||
browser_signal_for_debugging_only_sampling)) ||
|
||||
// `adComponentsLimit` is reported only when the corresponding change
|
||||
// is rolled out, to avoid affecting behavior if it's not.
|
||||
(base::FeatureList::IsEnabled(
|
||||
@ -2710,7 +2699,6 @@ void BidderWorklet::GenerateBidIfReady(GenerateBidTaskList::iterator task) {
|
||||
std::move(task->browser_signal_seller_origin),
|
||||
std::move(task->browser_signal_top_level_seller_origin),
|
||||
std::move(task->browser_signal_recency),
|
||||
task->browser_signal_for_debugging_only_sampling,
|
||||
std::move(task->bidding_browser_signals), task->auction_start_time,
|
||||
std::move(task->requested_ad_size), task->multi_bid_limit,
|
||||
std::move(task->trusted_bidding_signals_result),
|
||||
|
@ -181,7 +181,6 @@ class CONTENT_EXPORT BidderWorklet : public mojom::BidderWorklet,
|
||||
const url::Origin& browser_signal_seller_origin,
|
||||
const std::optional<url::Origin>& browser_signal_top_level_seller_origin,
|
||||
const base::TimeDelta browser_signal_recency,
|
||||
bool browser_signal_for_debugging_only_sampling,
|
||||
blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals,
|
||||
base::Time auction_start_time,
|
||||
const std::optional<blink::AdSize>& requested_ad_size,
|
||||
@ -262,7 +261,6 @@ class CONTENT_EXPORT BidderWorklet : public mojom::BidderWorklet,
|
||||
url::Origin browser_signal_seller_origin;
|
||||
std::optional<url::Origin> browser_signal_top_level_seller_origin;
|
||||
base::TimeDelta browser_signal_recency;
|
||||
bool browser_signal_for_debugging_only_sampling;
|
||||
blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals;
|
||||
std::optional<blink::AdSize> requested_ad_size;
|
||||
uint16_t multi_bid_limit;
|
||||
@ -623,7 +621,6 @@ class CONTENT_EXPORT BidderWorklet : public mojom::BidderWorklet,
|
||||
const std::optional<url::Origin>&
|
||||
browser_signal_top_level_seller_origin,
|
||||
const base::TimeDelta browser_signal_recency,
|
||||
bool browser_signal_for_debugging_only_sampling,
|
||||
blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals,
|
||||
base::Time auction_start_time,
|
||||
const std::optional<blink::AdSize>& requested_ad_size,
|
||||
@ -667,7 +664,6 @@ class CONTENT_EXPORT BidderWorklet : public mojom::BidderWorklet,
|
||||
const url::Origin& browser_signal_seller_origin,
|
||||
const url::Origin* browser_signal_top_level_seller_origin,
|
||||
const base::TimeDelta browser_signal_recency,
|
||||
bool browser_signal_for_debugging_only_sampling,
|
||||
const blink::mojom::BiddingBrowserSignalsPtr& bidding_browser_signals,
|
||||
base::Time auction_start_time,
|
||||
const std::optional<blink::AdSize>& requested_ad_size,
|
||||
|
@ -809,10 +809,8 @@ class BidderWorkletTest : public testing::Test {
|
||||
? std::nullopt
|
||||
: direct_from_seller_auction_signals_,
|
||||
browser_signal_seller_origin_, browser_signal_top_level_seller_origin_,
|
||||
browser_signal_recency_generate_bid_,
|
||||
browser_signal_for_debugging_only_sampling_,
|
||||
CreateBiddingBrowserSignals(), auction_start_time_, requested_ad_size_,
|
||||
multi_bid_limit_,
|
||||
browser_signal_recency_generate_bid_, CreateBiddingBrowserSignals(),
|
||||
auction_start_time_, requested_ad_size_, multi_bid_limit_,
|
||||
/*trace_id=*/1, std::move(generate_bid_client), std::move(finalizer));
|
||||
bidder_worklet->SendPendingSignalsRequests();
|
||||
}
|
||||
@ -852,10 +850,8 @@ class BidderWorkletTest : public testing::Test {
|
||||
direct_from_seller_per_buyer_signals_,
|
||||
direct_from_seller_auction_signals_, browser_signal_seller_origin_,
|
||||
browser_signal_top_level_seller_origin_,
|
||||
browser_signal_recency_generate_bid_,
|
||||
browser_signal_for_debugging_only_sampling_,
|
||||
CreateBiddingBrowserSignals(), auction_start_time_, requested_ad_size_,
|
||||
multi_bid_limit_,
|
||||
browser_signal_recency_generate_bid_, CreateBiddingBrowserSignals(),
|
||||
auction_start_time_, requested_ad_size_, multi_bid_limit_,
|
||||
/*trace_id=*/1, GenerateBidClientWithCallbacks::CreateNeverCompletes(),
|
||||
bid_finalizer.BindNewEndpointAndPassReceiver());
|
||||
bidder_worklet->SendPendingSignalsRequests();
|
||||
@ -1037,9 +1033,9 @@ class BidderWorkletTest : public testing::Test {
|
||||
int browser_signal_bid_count_;
|
||||
bool browser_signal_for_debugging_only_in_cooldown_or_lockout_;
|
||||
base::TimeDelta browser_signal_recency_generate_bid_;
|
||||
bool browser_signal_for_debugging_only_sampling_;
|
||||
std::vector<mojo::StructPtr<blink::mojom::PreviousWin>>
|
||||
browser_signal_prev_wins_;
|
||||
|
||||
std::optional<std::string> auction_signals_;
|
||||
std::optional<std::string> per_buyer_signals_;
|
||||
std::optional<GURL> direct_from_seller_per_buyer_signals_;
|
||||
@ -4711,10 +4707,8 @@ TEST_P(BidderWorkletMultiThreadingTest, GenerateBidParallel) {
|
||||
direct_from_seller_per_buyer_signals_,
|
||||
direct_from_seller_auction_signals_, browser_signal_seller_origin_,
|
||||
browser_signal_top_level_seller_origin_,
|
||||
browser_signal_recency_generate_bid_,
|
||||
browser_signal_for_debugging_only_sampling_,
|
||||
CreateBiddingBrowserSignals(), auction_start_time_,
|
||||
requested_ad_size_, multi_bid_limit_,
|
||||
browser_signal_recency_generate_bid_, CreateBiddingBrowserSignals(),
|
||||
auction_start_time_, requested_ad_size_, multi_bid_limit_,
|
||||
/*trace_id=*/1,
|
||||
GenerateBidClientWithCallbacks::Create(base::BindLambdaForTesting(
|
||||
[&run_loop, &num_generate_bid_calls, bid_value](
|
||||
@ -4835,10 +4829,8 @@ TEST_P(BidderWorkletMultiThreadingTest,
|
||||
kanon_mode_, join_origin_, direct_from_seller_per_buyer_signals_,
|
||||
direct_from_seller_auction_signals_, browser_signal_seller_origin_,
|
||||
browser_signal_top_level_seller_origin_,
|
||||
browser_signal_recency_generate_bid_,
|
||||
browser_signal_for_debugging_only_sampling_,
|
||||
CreateBiddingBrowserSignals(), auction_start_time_, requested_ad_size_,
|
||||
multi_bid_limit_,
|
||||
browser_signal_recency_generate_bid_, CreateBiddingBrowserSignals(),
|
||||
auction_start_time_, requested_ad_size_, multi_bid_limit_,
|
||||
/*trace_id=*/1,
|
||||
GenerateBidClientWithCallbacks::Create(base::BindLambdaForTesting(
|
||||
[&run_loop, &num_generate_bid_calls, i](
|
||||
@ -4967,10 +4959,8 @@ TEST_P(BidderWorkletMultiThreadingTest,
|
||||
kanon_mode_, join_origin_, direct_from_seller_per_buyer_signals_,
|
||||
direct_from_seller_auction_signals_, browser_signal_seller_origin_,
|
||||
browser_signal_top_level_seller_origin_,
|
||||
browser_signal_recency_generate_bid_,
|
||||
browser_signal_for_debugging_only_sampling_,
|
||||
CreateBiddingBrowserSignals(), auction_start_time_, requested_ad_size_,
|
||||
multi_bid_limit_,
|
||||
browser_signal_recency_generate_bid_, CreateBiddingBrowserSignals(),
|
||||
auction_start_time_, requested_ad_size_, multi_bid_limit_,
|
||||
/*trace_id=*/1,
|
||||
GenerateBidClientWithCallbacks::Create(base::BindLambdaForTesting(
|
||||
[&run_loop, &num_generate_bid_calls, i](
|
||||
@ -5105,10 +5095,8 @@ TEST_P(BidderWorkletMultiThreadingTest,
|
||||
kanon_mode_, join_origin_, direct_from_seller_per_buyer_signals_,
|
||||
direct_from_seller_auction_signals_, browser_signal_seller_origin_,
|
||||
browser_signal_top_level_seller_origin_,
|
||||
browser_signal_recency_generate_bid_,
|
||||
browser_signal_for_debugging_only_sampling_,
|
||||
CreateBiddingBrowserSignals(), auction_start_time_, requested_ad_size_,
|
||||
multi_bid_limit_,
|
||||
browser_signal_recency_generate_bid_, CreateBiddingBrowserSignals(),
|
||||
auction_start_time_, requested_ad_size_, multi_bid_limit_,
|
||||
/*trace_id=*/1,
|
||||
GenerateBidClientWithCallbacks::Create(base::BindLambdaForTesting(
|
||||
[&run_loop, &num_generate_bid_calls, i](
|
||||
@ -5222,10 +5210,8 @@ TEST_P(BidderWorkletMultiThreadingTest,
|
||||
kanon_mode_, join_origin_, direct_from_seller_per_buyer_signals_,
|
||||
direct_from_seller_auction_signals_, browser_signal_seller_origin_,
|
||||
browser_signal_top_level_seller_origin_,
|
||||
browser_signal_recency_generate_bid_,
|
||||
browser_signal_for_debugging_only_sampling_,
|
||||
CreateBiddingBrowserSignals(), auction_start_time_, requested_ad_size_,
|
||||
multi_bid_limit_,
|
||||
browser_signal_recency_generate_bid_, CreateBiddingBrowserSignals(),
|
||||
auction_start_time_, requested_ad_size_, multi_bid_limit_,
|
||||
/*trace_id=*/1,
|
||||
GenerateBidClientWithCallbacks::Create(base::BindLambdaForTesting(
|
||||
[&run_loop, &num_generate_bid_calls, i](
|
||||
@ -5662,12 +5648,6 @@ TEST_F(BidderWorkletTest,
|
||||
)");
|
||||
}
|
||||
|
||||
TEST_F(BidderWorkletTest, GenerateBidBrowserSignalForDebuggingOnlySampling) {
|
||||
RunGenerateBidExpectingExpressionIsTrue(R"(
|
||||
!browserSignals.hasOwnProperty('forDebuggingOnlySampling');
|
||||
)");
|
||||
}
|
||||
|
||||
TEST_F(BidderWorkletTest, GenerateBidAds) {
|
||||
// A bid URL that's not in the InterestGroup's ads list should fail.
|
||||
RunGenerateBidWithReturnValueExpectingResult(
|
||||
@ -14090,34 +14070,6 @@ TEST_F(BidderWorkletSampleDebugReportsDisabledTest,
|
||||
)");
|
||||
}
|
||||
|
||||
class BidderWorkletEnableSampleDebugReportOnCookieSettingTest
|
||||
: public BidderWorkletTest {
|
||||
public:
|
||||
BidderWorkletEnableSampleDebugReportOnCookieSettingTest() {
|
||||
scoped_feature_list_.InitWithFeatures(
|
||||
/*enabled_features=*/
|
||||
{blink::features::kBiddingAndScoringDebugReportingAPI,
|
||||
blink::features::kFledgeEnableSampleDebugReportOnCookieSetting},
|
||||
/*disabled_features=*/{});
|
||||
}
|
||||
|
||||
private:
|
||||
base::test::ScopedFeatureList scoped_feature_list_;
|
||||
};
|
||||
|
||||
TEST_F(BidderWorkletEnableSampleDebugReportOnCookieSettingTest,
|
||||
GenerateBidBrowserSignalForDebuggingOnlySampling) {
|
||||
browser_signal_for_debugging_only_sampling_ = false;
|
||||
RunGenerateBidExpectingExpressionIsTrue(R"(
|
||||
browserSignals.forDebuggingOnlySampling === false;
|
||||
)");
|
||||
|
||||
browser_signal_for_debugging_only_sampling_ = true;
|
||||
RunGenerateBidExpectingExpressionIsTrue(R"(
|
||||
browserSignals.forDebuggingOnlySampling === true;
|
||||
)");
|
||||
}
|
||||
|
||||
// With the feature on, same-origin trusted signals still come in the same,
|
||||
// only there is an extra null param.
|
||||
TEST_F(BidderWorkletTest, SameOrigin) {
|
||||
|
@ -428,9 +428,6 @@ interface BidderWorklet {
|
||||
// `browser_signal_recency` The duration of time from when this device
|
||||
// joined this interest group until now, rounded to the nearest 100ms.
|
||||
//
|
||||
// `browser_signal_for_debugging_only_sampling` Whether the browser has fDO
|
||||
// sampling enabled.
|
||||
//
|
||||
// `bidding_browser_signals` See BiddingBrowserSignals.
|
||||
//
|
||||
// `auction_start_time` The time the auction started, used to ensure the
|
||||
@ -466,7 +463,6 @@ interface BidderWorklet {
|
||||
url.mojom.Origin browser_signal_seller_origin,
|
||||
url.mojom.Origin? browser_signal_top_level_seller_origin,
|
||||
mojo_base.mojom.TimeDelta browser_signal_recency,
|
||||
bool browser_signal_for_debugging_only_sampling,
|
||||
blink.mojom.BiddingBrowserSignals bidding_browser_signals,
|
||||
mojo_base.mojom.Time auction_start_time,
|
||||
blink.mojom.AdSize? requested_ad_size,
|
||||
|
@ -267,9 +267,6 @@ interface SellerWorklet {
|
||||
// browser is under lockout or the seller's origin is under cooldown for
|
||||
// sending forDebuggingOnly reports.
|
||||
//
|
||||
// `browser_signal_for_debugging_only_sampling` Whether the browser has fDO
|
||||
// sampling enabled.
|
||||
//
|
||||
// `seller_timeout` Restrict the runtime of the seller's scoring script. Any
|
||||
// timeout higher than 500 ms will be clamped to 500 ms before passing in as
|
||||
// `seller_timeout`. Null if not provided by the publisher page. Null will be
|
||||
@ -299,7 +296,6 @@ interface SellerWorklet {
|
||||
string? browser_signal_buyer_and_seller_reporting_id,
|
||||
uint32 browser_signal_bidding_duration_msecs,
|
||||
bool browser_signal_for_debugging_only_in_cooldown_or_lockout,
|
||||
bool browser_signal_for_debugging_only_sampling,
|
||||
mojo_base.mojom.TimeDelta? seller_timeout,
|
||||
uint64 trace_id,
|
||||
url.mojom.Origin bidder_joining_origin,
|
||||
|
@ -563,7 +563,6 @@ void SellerWorklet::ScoreAd(
|
||||
browser_signal_buyer_and_seller_reporting_id,
|
||||
uint32_t browser_signal_bidding_duration_msecs,
|
||||
bool browser_signal_for_debugging_only_in_cooldown_or_lockout,
|
||||
bool browser_signal_for_debugging_only_sampling,
|
||||
const std::optional<base::TimeDelta> seller_timeout,
|
||||
uint64_t trace_id,
|
||||
const url::Origin& bidder_joining_origin,
|
||||
@ -601,8 +600,6 @@ void SellerWorklet::ScoreAd(
|
||||
browser_signal_bidding_duration_msecs;
|
||||
score_ad_task->browser_signal_for_debugging_only_in_cooldown_or_lockout =
|
||||
browser_signal_for_debugging_only_in_cooldown_or_lockout;
|
||||
score_ad_task->browser_signal_for_debugging_only_sampling =
|
||||
browser_signal_for_debugging_only_sampling;
|
||||
score_ad_task->seller_timeout = seller_timeout;
|
||||
score_ad_task->trace_id = trace_id;
|
||||
score_ad_task->score_ad_client.Bind(std::move(score_ad_client));
|
||||
@ -980,7 +977,6 @@ void SellerWorklet::V8State::ScoreAd(
|
||||
browser_signal_buyer_and_seller_reporting_id,
|
||||
uint32_t browser_signal_bidding_duration_msecs,
|
||||
bool browser_signal_for_debugging_only_in_cooldown_or_lockout,
|
||||
bool browser_signal_for_debugging_only_sampling,
|
||||
const std::optional<base::TimeDelta> seller_timeout,
|
||||
uint64_t trace_id,
|
||||
base::ScopedClosureRunner cleanup_score_ad_task,
|
||||
@ -1178,12 +1174,6 @@ void SellerWorklet::V8State::ScoreAd(
|
||||
!browser_signals_dict.Set(
|
||||
"forDebuggingOnlyInCooldownOrLockout",
|
||||
browser_signal_for_debugging_only_in_cooldown_or_lockout)) ||
|
||||
(base::FeatureList::IsEnabled(
|
||||
blink::features::kBiddingAndScoringDebugReportingAPI) &&
|
||||
base::FeatureList::IsEnabled(
|
||||
blink::features::kFledgeEnableSampleDebugReportOnCookieSetting) &&
|
||||
!browser_signals_dict.Set("forDebuggingOnlySampling",
|
||||
browser_signal_for_debugging_only_sampling)) ||
|
||||
(ad->creative_scanning_metadata.has_value() &&
|
||||
creative_scanning_enabled_ &&
|
||||
!browser_signals_dict.Set("creativeScanningMetadata",
|
||||
@ -2377,7 +2367,6 @@ void SellerWorklet::ScoreAdIfReady(ScoreAdTaskList::iterator task) {
|
||||
std::move(task->browser_signal_buyer_and_seller_reporting_id),
|
||||
task->browser_signal_bidding_duration_msecs,
|
||||
task->browser_signal_for_debugging_only_in_cooldown_or_lockout,
|
||||
task->browser_signal_for_debugging_only_sampling,
|
||||
std::move(task->seller_timeout), task->trace_id,
|
||||
base::ScopedClosureRunner(std::move(cleanup_score_ad_task)),
|
||||
/*task_enqueued_time=*/base::TimeTicks::Now(),
|
||||
|
@ -153,7 +153,6 @@ class CONTENT_EXPORT SellerWorklet : public mojom::SellerWorklet {
|
||||
browser_signal_buyer_and_seller_reporting_id,
|
||||
uint32_t browser_signal_bidding_duration_msecs,
|
||||
bool browser_signal_for_debugging_only_in_cooldown_or_lockout,
|
||||
bool browser_signal_for_debugging_only_sampling,
|
||||
const std::optional<base::TimeDelta> seller_timeout,
|
||||
uint64_t trace_id,
|
||||
const url::Origin& bidder_joining_origin,
|
||||
@ -222,7 +221,6 @@ class CONTENT_EXPORT SellerWorklet : public mojom::SellerWorklet {
|
||||
std::optional<std::string> browser_signal_buyer_and_seller_reporting_id;
|
||||
uint32_t browser_signal_bidding_duration_msecs;
|
||||
bool browser_signal_for_debugging_only_in_cooldown_or_lockout;
|
||||
bool browser_signal_for_debugging_only_sampling;
|
||||
std::optional<base::TimeDelta> seller_timeout;
|
||||
uint64_t trace_id;
|
||||
|
||||
@ -416,7 +414,6 @@ class CONTENT_EXPORT SellerWorklet : public mojom::SellerWorklet {
|
||||
browser_signal_buyer_and_seller_reporting_id,
|
||||
uint32_t browser_signal_bidding_duration_msecs,
|
||||
bool browser_signal_for_debugging_only_in_cooldown_or_lockout,
|
||||
bool browser_signal_for_debugging_only_sampling,
|
||||
const std::optional<base::TimeDelta> seller_timeout,
|
||||
uint64_t trace_id,
|
||||
base::ScopedClosureRunner cleanup_score_ad_task,
|
||||
|
@ -303,7 +303,6 @@ class SellerWorkletTest : public testing::Test,
|
||||
browser_signal_bidding_duration_msecs_ = 0;
|
||||
browser_signal_render_size_ = std::nullopt;
|
||||
browser_signal_for_debugging_only_in_cooldown_or_lockout_ = false;
|
||||
browser_signal_for_debugging_only_sampling_ = false;
|
||||
browser_signal_desireability_ = 1;
|
||||
seller_timeout_ = std::nullopt;
|
||||
bidder_joining_origin_ = url::Origin::Create(GURL("https://joining.test/"));
|
||||
@ -463,7 +462,7 @@ class SellerWorkletTest : public testing::Test,
|
||||
browser_signal_buyer_and_seller_reporting_id_,
|
||||
browser_signal_bidding_duration_msecs_,
|
||||
browser_signal_for_debugging_only_in_cooldown_or_lockout_,
|
||||
browser_signal_for_debugging_only_sampling_, seller_timeout_,
|
||||
seller_timeout_,
|
||||
/*trace_id=*/1, bidder_joining_origin_,
|
||||
TestScoreAdClient::Create(base::BindOnce(
|
||||
[](double expected_score,
|
||||
@ -564,7 +563,7 @@ class SellerWorkletTest : public testing::Test,
|
||||
browser_signal_buyer_and_seller_reporting_id_,
|
||||
browser_signal_bidding_duration_msecs_,
|
||||
browser_signal_for_debugging_only_in_cooldown_or_lockout_,
|
||||
browser_signal_for_debugging_only_sampling_, seller_timeout_,
|
||||
seller_timeout_,
|
||||
/*trace_id=*/1, bidder_joining_origin_,
|
||||
TestScoreAdClient::Create(
|
||||
TestScoreAdClient::ScoreAdNeverInvokedCallback()));
|
||||
@ -959,7 +958,6 @@ class SellerWorkletTest : public testing::Test,
|
||||
uint32_t browser_signal_bidding_duration_msecs_;
|
||||
std::optional<blink::AdSize> browser_signal_render_size_;
|
||||
bool browser_signal_for_debugging_only_in_cooldown_or_lockout_;
|
||||
bool browser_signal_for_debugging_only_sampling_;
|
||||
double browser_signal_desireability_;
|
||||
double browser_signal_highest_scoring_other_bid_;
|
||||
std::optional<blink::AdCurrency>
|
||||
@ -2538,7 +2536,7 @@ TEST_F(SellerWorkletTest, ScoreAdJsFetchLatency) {
|
||||
browser_signal_buyer_and_seller_reporting_id_,
|
||||
browser_signal_bidding_duration_msecs_,
|
||||
browser_signal_for_debugging_only_in_cooldown_or_lockout_,
|
||||
browser_signal_for_debugging_only_sampling_, seller_timeout_,
|
||||
seller_timeout_,
|
||||
/*trace_id=*/1, bidder_joining_origin_,
|
||||
TestScoreAdClient::Create(base::BindLambdaForTesting(
|
||||
[&run_loop](double score, mojom::RejectReason reject_reason,
|
||||
@ -4498,7 +4496,7 @@ TEST_P(SellerWorkletMultiThreadingTest, ScriptIsolation) {
|
||||
browser_signal_buyer_and_seller_reporting_id_,
|
||||
browser_signal_bidding_duration_msecs_,
|
||||
browser_signal_for_debugging_only_in_cooldown_or_lockout_,
|
||||
browser_signal_for_debugging_only_sampling_, seller_timeout_,
|
||||
seller_timeout_,
|
||||
/*trace_id=*/1, bidder_joining_origin_,
|
||||
TestScoreAdClient::Create(base::BindLambdaForTesting(
|
||||
[&run_loop](
|
||||
@ -4600,7 +4598,7 @@ TEST_F(SellerWorkletTest,
|
||||
browser_signal_buyer_and_seller_reporting_id_,
|
||||
browser_signal_bidding_duration_msecs_,
|
||||
browser_signal_for_debugging_only_in_cooldown_or_lockout_,
|
||||
browser_signal_for_debugging_only_sampling_, seller_timeout_,
|
||||
seller_timeout_,
|
||||
/*trace_id=*/1, bidder_joining_origin_,
|
||||
TestScoreAdClient::Create(base::BindLambdaForTesting(
|
||||
[&run_loop, &expected_score](
|
||||
@ -4705,7 +4703,7 @@ TEST_F(
|
||||
browser_signal_buyer_and_seller_reporting_id_,
|
||||
browser_signal_bidding_duration_msecs_,
|
||||
browser_signal_for_debugging_only_in_cooldown_or_lockout_,
|
||||
browser_signal_for_debugging_only_sampling_, seller_timeout_,
|
||||
seller_timeout_,
|
||||
/*trace_id=*/1, bidder_joining_origin_,
|
||||
TestScoreAdClient::Create(base::BindLambdaForTesting(
|
||||
[&run_loop, &expected_score](
|
||||
@ -4818,7 +4816,7 @@ TEST_F(
|
||||
browser_signal_buyer_and_seller_reporting_id_,
|
||||
browser_signal_bidding_duration_msecs_,
|
||||
browser_signal_for_debugging_only_in_cooldown_or_lockout_,
|
||||
browser_signal_for_debugging_only_sampling_, seller_timeout_,
|
||||
seller_timeout_,
|
||||
/*trace_id=*/1, bidder_joining_origin_,
|
||||
TestScoreAdClient::Create(base::BindLambdaForTesting(
|
||||
[&run_loop, &expected_score](
|
||||
@ -4935,7 +4933,7 @@ TEST_F(SellerWorkletTwoThreadsTest,
|
||||
browser_signal_buyer_and_seller_reporting_id_,
|
||||
browser_signal_bidding_duration_msecs_,
|
||||
browser_signal_for_debugging_only_in_cooldown_or_lockout_,
|
||||
browser_signal_for_debugging_only_sampling_, seller_timeout_,
|
||||
seller_timeout_,
|
||||
/*trace_id=*/1, bidder_joining_origin_,
|
||||
TestScoreAdClient::Create(base::BindLambdaForTesting(
|
||||
[&run_loop, &expected_score](
|
||||
@ -4997,7 +4995,7 @@ TEST_F(SellerWorkletTest, ContextReuseDoesNotCrashLazyFiller) {
|
||||
browser_signal_buyer_and_seller_reporting_id_,
|
||||
browser_signal_bidding_duration_msecs_,
|
||||
browser_signal_for_debugging_only_in_cooldown_or_lockout_,
|
||||
browser_signal_for_debugging_only_sampling_, seller_timeout_,
|
||||
seller_timeout_,
|
||||
/*trace_id=*/1, bidder_joining_origin_,
|
||||
TestScoreAdClient::Create(base::BindLambdaForTesting(
|
||||
[&run_loop, &expected_score](
|
||||
@ -5043,7 +5041,7 @@ TEST_F(SellerWorkletTest, DeleteBeforeScoreAdCallback) {
|
||||
browser_signal_buyer_and_seller_reporting_id_,
|
||||
browser_signal_bidding_duration_msecs_,
|
||||
browser_signal_for_debugging_only_in_cooldown_or_lockout_,
|
||||
browser_signal_for_debugging_only_sampling_, seller_timeout_,
|
||||
seller_timeout_,
|
||||
/*trace_id=*/1, bidder_joining_origin_,
|
||||
TestScoreAdClient::Create(
|
||||
// Callback should not be invoked since worklet deleted
|
||||
@ -6064,7 +6062,7 @@ TEST_F(SellerWorkletTest, Cancelation) {
|
||||
browser_signal_buyer_and_seller_reporting_id_,
|
||||
browser_signal_bidding_duration_msecs_,
|
||||
browser_signal_for_debugging_only_in_cooldown_or_lockout_,
|
||||
browser_signal_for_debugging_only_sampling_, seller_timeout_,
|
||||
seller_timeout_,
|
||||
/*trace_id=*/1, bidder_joining_origin_,
|
||||
client_receiver.BindNewPipeAndPassRemote());
|
||||
|
||||
@ -6130,7 +6128,7 @@ TEST_F(SellerWorkletTest, CancelBeforeFetch) {
|
||||
browser_signal_buyer_and_seller_reporting_id_,
|
||||
browser_signal_bidding_duration_msecs_,
|
||||
browser_signal_for_debugging_only_in_cooldown_or_lockout_,
|
||||
browser_signal_for_debugging_only_sampling_, seller_timeout_,
|
||||
seller_timeout_,
|
||||
/*trace_id=*/1, bidder_joining_origin_,
|
||||
client_receiver.BindNewPipeAndPassRemote());
|
||||
task_environment_.RunUntilIdle();
|
||||
@ -6249,13 +6247,6 @@ TEST_F(SellerWorkletTest,
|
||||
3);
|
||||
}
|
||||
|
||||
TEST_F(SellerWorkletTest, ScoreAdBrowserSignalForDebuggingOnlySampling) {
|
||||
RunScoreAdWithReturnValueExpectingResult(
|
||||
R"(browserSignals.hasOwnProperty('forDebuggingOnlySampling') ?
|
||||
3 : 0)",
|
||||
0);
|
||||
}
|
||||
|
||||
class ScoreAdBrowserSignalRenderSizeTest
|
||||
: public base::test::WithFeatureOverride,
|
||||
public SellerWorkletTest {
|
||||
@ -7649,7 +7640,7 @@ TEST_F(SellerWorkletBiddingAndScoringDebugReportingAPIEnabledTest,
|
||||
browser_signal_buyer_and_seller_reporting_id_,
|
||||
browser_signal_bidding_duration_msecs_,
|
||||
browser_signal_for_debugging_only_in_cooldown_or_lockout_,
|
||||
browser_signal_for_debugging_only_sampling_, seller_timeout_,
|
||||
seller_timeout_,
|
||||
/*trace_id=*/1, bidder_joining_origin_,
|
||||
TestScoreAdClient::Create(base::BindLambdaForTesting(
|
||||
[&run_loop](double score, mojom::RejectReason reject_reason,
|
||||
@ -7701,31 +7692,6 @@ TEST_F(SellerWorkletSampleDebugReportsDisabledTest,
|
||||
0);
|
||||
}
|
||||
|
||||
class SellerWorkletEnableSampleDebugReportOnCookieSettingTest
|
||||
: public SellerWorkletTest {
|
||||
public:
|
||||
SellerWorkletEnableSampleDebugReportOnCookieSettingTest() {
|
||||
scoped_feature_list_.InitWithFeatures(
|
||||
/*enabled_features=*/
|
||||
{blink::features::kBiddingAndScoringDebugReportingAPI,
|
||||
blink::features::kFledgeEnableSampleDebugReportOnCookieSetting},
|
||||
/*disabled_features=*/{});
|
||||
}
|
||||
|
||||
private:
|
||||
base::test::ScopedFeatureList scoped_feature_list_;
|
||||
};
|
||||
|
||||
TEST_F(SellerWorkletEnableSampleDebugReportOnCookieSettingTest,
|
||||
ScoreAdBrowserSignalForDebuggingOnlySampling) {
|
||||
RunScoreAdWithReturnValueExpectingResult(
|
||||
R"(browserSignals.forDebuggingOnlySampling === false ? 3 : 0)", 3);
|
||||
|
||||
browser_signal_for_debugging_only_sampling_ = true;
|
||||
RunScoreAdWithReturnValueExpectingResult(
|
||||
R"(browserSignals.forDebuggingOnlySampling === true ? 3 : 0)", 3);
|
||||
}
|
||||
|
||||
class SellerWorkletPrivateAggregationEnabledTest : public SellerWorkletTest {
|
||||
public:
|
||||
SellerWorkletPrivateAggregationEnabledTest() {
|
||||
|
4
third_party/blink/common/features.cc
vendored
4
third_party/blink/common/features.cc
vendored
@ -947,10 +947,6 @@ BASE_FEATURE_PARAM(base::TimeDelta,
|
||||
"fledge_max_group_lifetime_for_metadata",
|
||||
base::Days(30));
|
||||
|
||||
BASE_FEATURE(kFledgeEnableSampleDebugReportOnCookieSetting,
|
||||
"FledgeEnableSampleDebugReportOnCookieSetting",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
BASE_FEATURE(kFledgeSampleDebugReports,
|
||||
"FledgeSampleDebugReports",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
10
third_party/blink/public/common/features.h
vendored
10
third_party/blink/public/common/features.h
vendored
@ -555,16 +555,6 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE_PARAM(
|
||||
base::TimeDelta,
|
||||
kFledgeMaxGroupLifetimeForMetadata);
|
||||
|
||||
// Decide whether to enable forDebuggingOnly report sampling based on user's
|
||||
// third party cookie setting.
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(
|
||||
kFledgeEnableSampleDebugReportOnCookieSetting);
|
||||
|
||||
// Run sampling of forDebuggingOnly reports and let generateBid() and scoreAd()
|
||||
// know fDO's lockout/cooldown status through their browser signals, to allow
|
||||
// ad techs experimenting with and adapting to the algorithm.
|
||||
// But whether sending all or only sampled forDebuggingOnly reports depends on
|
||||
// flag kFledgeEnableFilteringDebugReportStartingFrom.
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kFledgeSampleDebugReports);
|
||||
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE_PARAM(base::TimeDelta,
|
||||
|
Reference in New Issue
Block a user