0

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:
Adam Rice
2025-02-19 23:53:55 -08:00
committed by Chromium LUCI CQ
parent 452913d29e
commit cff94c68a1
15 changed files with 35 additions and 183 deletions

@@ -311,7 +311,6 @@ class MockBidderWorklet : public auction_worklet::mojom::BidderWorklet {
const url::Origin& browser_signal_seller_origin, const url::Origin& browser_signal_seller_origin,
const std::optional<url::Origin>& browser_signal_top_level_seller_origin, const std::optional<url::Origin>& browser_signal_top_level_seller_origin,
const base::TimeDelta browser_signal_recency, const base::TimeDelta browser_signal_recency,
bool browser_signal_for_debugging_only_sampling,
blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals, blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals,
base::Time auction_start_time, base::Time auction_start_time,
const std::optional<blink::AdSize>& requested_ad_size, 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, browser_signal_buyer_and_seller_reporting_id,
uint32_t browser_signal_bidding_duration_msecs, uint32_t browser_signal_bidding_duration_msecs,
bool browser_signal_for_debugging_only_in_cooldown_or_lockout, bool browser_signal_for_debugging_only_in_cooldown_or_lockout,
bool browser_signal_for_debugging_only_sampling,
const std::optional<base::TimeDelta> seller_timeout, const std::optional<base::TimeDelta> seller_timeout,
uint64_t trace_id, uint64_t trace_id,
const url::Origin& bidder_joining_origin, const url::Origin& bidder_joining_origin,

@@ -2258,9 +2258,6 @@ class InterestGroupAuction::BuyerHelper
bid_state->handled_direct_from_seller_signals_in_begin_generate_bid = bid_state->handled_direct_from_seller_signals_in_begin_generate_bid =
true; 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( bid_state->worklet_handle->GetBidderWorklet()->BeginGenerateBid(
auction_worklet::mojom::BidderWorkletNonSharedParams::New( auction_worklet::mojom::BidderWorkletNonSharedParams::New(
interest_group.name, interest_group.name,
@@ -2282,7 +2279,6 @@ class InterestGroupAuction::BuyerHelper
: std::optional<url::Origin>(), : std::optional<url::Origin>(),
(base::Time::Now() - bid_state->bidder->join_time) (base::Time::Now() - bid_state->bidder->join_time)
.RoundToMultiple(base::Milliseconds(100)), .RoundToMultiple(base::Milliseconds(100)),
browser_signal_for_debugging_only_sampling,
bid_state->bidder->bidding_browser_signals.Clone(), bid_state->bidder->bidding_browser_signals.Clone(),
auction_->auction_start_time_, auction_->RequestedAdSize(), auction_->auction_start_time_, auction_->RequestedAdSize(),
multi_bid_limit_, *bid_state->trace_id, std::move(pending_remote), 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); 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( seller_worklet_handle_->GetSellerWorklet()->ScoreAd(
bid->ad_metadata, bid->bid, bid->bid_currency, config_->non_shared_params, bid->ad_metadata, bid->bid, bid->bid_currency, config_->non_shared_params,
std::move(cache_key), std::move(cache_key),
@@ -5619,8 +5613,7 @@ void InterestGroupAuction::ScoreBid(std::unique_ptr<Bid> bid) {
IsOriginInDebugReportCooldownOrLockout( IsOriginInDebugReportCooldownOrLockout(
config_->seller, debug_report_lockout_and_cooldowns_, config_->seller, debug_report_lockout_and_cooldowns_,
base::Time::Now()), base::Time::Now()),
browser_signal_for_debugging_only_sampling, SellerTimeout(), bid_trace_id, SellerTimeout(), bid_trace_id, bid->bid_state->bidder->joining_origin,
bid->bid_state->bidder->joining_origin,
score_ad_receiver.InitWithNewPipeAndPassRemote()); score_ad_receiver.InitWithNewPipeAndPassRemote());
score_ad_receivers_.Add( score_ad_receivers_.Add(

@@ -83,7 +83,6 @@ void MockBidderWorklet::BeginGenerateBid(
const url::Origin& browser_signal_seller_origin, const url::Origin& browser_signal_seller_origin,
const std::optional<url::Origin>& browser_signal_top_level_seller_origin, const std::optional<url::Origin>& browser_signal_top_level_seller_origin,
const base::TimeDelta browser_signal_recency, const base::TimeDelta browser_signal_recency,
bool browser_signal_for_debugging_only_sampling,
blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals, blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals,
base::Time auction_start_time, base::Time auction_start_time,
const std::optional<blink::AdSize>& requested_ad_size, const std::optional<blink::AdSize>& requested_ad_size,
@@ -429,7 +428,6 @@ void MockSellerWorklet::ScoreAd(
browser_signal_buyer_and_seller_reporting_id, browser_signal_buyer_and_seller_reporting_id,
uint32_t browser_signal_bidding_duration_msecs, uint32_t browser_signal_bidding_duration_msecs,
bool browser_signal_for_debugging_only_in_cooldown_or_lockout, bool browser_signal_for_debugging_only_in_cooldown_or_lockout,
bool browser_signal_for_debugging_only_sampling,
const std::optional<base::TimeDelta> seller_timeout, const std::optional<base::TimeDelta> seller_timeout,
uint64_t trace_id, uint64_t trace_id,
const url::Origin& bidder_joining_origin, 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 url::Origin& browser_signal_seller_origin,
const std::optional<url::Origin>& browser_signal_top_level_seller_origin, const std::optional<url::Origin>& browser_signal_top_level_seller_origin,
const base::TimeDelta browser_signal_recency, const base::TimeDelta browser_signal_recency,
bool browser_signal_for_debugging_only_sampling,
blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals, blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals,
base::Time auction_start_time, base::Time auction_start_time,
const std::optional<blink::AdSize>& requested_ad_size, 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, browser_signal_buyer_and_seller_reporting_id,
uint32_t browser_signal_bidding_duration_msecs, uint32_t browser_signal_bidding_duration_msecs,
bool browser_signal_for_debugging_only_in_cooldown_or_lockout, bool browser_signal_for_debugging_only_in_cooldown_or_lockout,
bool browser_signal_for_debugging_only_sampling,
const std::optional<base::TimeDelta> seller_timeout, const std::optional<base::TimeDelta> seller_timeout,
uint64_t trace_id, uint64_t trace_id,
const url::Origin& bidder_joining_origin, 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 url::Origin& browser_signal_seller_origin,
const std::optional<url::Origin>& browser_signal_top_level_seller_origin, const std::optional<url::Origin>& browser_signal_top_level_seller_origin,
const base::TimeDelta browser_signal_recency, const base::TimeDelta browser_signal_recency,
bool browser_signal_for_debugging_only_sampling,
blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals, blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals,
base::Time auction_start_time, base::Time auction_start_time,
const std::optional<blink::AdSize>& requested_ad_size, const std::optional<blink::AdSize>& requested_ad_size,

@@ -492,7 +492,6 @@ void BidderWorklet::BeginGenerateBid(
const url::Origin& browser_signal_seller_origin, const url::Origin& browser_signal_seller_origin,
const std::optional<url::Origin>& browser_signal_top_level_seller_origin, const std::optional<url::Origin>& browser_signal_top_level_seller_origin,
const base::TimeDelta browser_signal_recency, const base::TimeDelta browser_signal_recency,
bool browser_signal_for_debugging_only_sampling,
blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals, blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals,
base::Time auction_start_time, base::Time auction_start_time,
const std::optional<blink::AdSize>& requested_ad_size, const std::optional<blink::AdSize>& requested_ad_size,
@@ -514,8 +513,6 @@ void BidderWorklet::BeginGenerateBid(
generate_bid_task->browser_signal_top_level_seller_origin = generate_bid_task->browser_signal_top_level_seller_origin =
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_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 = generate_bid_task->bidding_browser_signals =
std::move(bidding_browser_signals); std::move(bidding_browser_signals);
generate_bid_task->auction_start_time = auction_start_time; 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 url::Origin& browser_signal_seller_origin,
const std::optional<url::Origin>& browser_signal_top_level_seller_origin, const std::optional<url::Origin>& browser_signal_top_level_seller_origin,
const base::TimeDelta browser_signal_recency, const base::TimeDelta browser_signal_recency,
bool browser_signal_for_debugging_only_sampling,
blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals, blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals,
base::Time auction_start_time, base::Time auction_start_time,
const std::optional<blink::AdSize>& requested_ad_size, 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, direct_from_seller_auction_signals_header_ad_slot, per_buyer_timeout,
expected_buyer_currency, browser_signal_seller_origin, expected_buyer_currency, browser_signal_seller_origin,
base::OptionalToPtr(browser_signal_top_level_seller_origin), base::OptionalToPtr(browser_signal_top_level_seller_origin),
browser_signal_recency, browser_signal_for_debugging_only_sampling, browser_signal_recency, bidding_browser_signals, auction_start_time,
bidding_browser_signals, auction_start_time, requested_ad_size, requested_ad_size, multi_bid_limit, trusted_bidding_signals_result,
multi_bid_limit, trusted_bidding_signals_result, trace_id, trace_id,
/*context_recycler_for_rerun=*/nullptr, /*context_recycler_for_rerun=*/nullptr,
/*restrict_to_kanon_ads=*/false); /*restrict_to_kanon_ads=*/false);
@@ -1463,9 +1459,9 @@ void BidderWorklet::V8State::GenerateBid(
per_buyer_timeout, expected_buyer_currency, per_buyer_timeout, expected_buyer_currency,
browser_signal_seller_origin, browser_signal_seller_origin,
base::OptionalToPtr(browser_signal_top_level_seller_origin), base::OptionalToPtr(browser_signal_top_level_seller_origin),
browser_signal_recency, browser_signal_for_debugging_only_sampling, browser_signal_recency, bidding_browser_signals, auction_start_time,
bidding_browser_signals, auction_start_time, requested_ad_size, requested_ad_size, /* multi_bid_limit=*/1,
/* multi_bid_limit=*/1, trusted_bidding_signals_result, trace_id, trusted_bidding_signals_result, trace_id,
std::move(result->context_recycler_for_rerun), std::move(result->context_recycler_for_rerun),
/*restrict_to_kanon_ads=*/true); /*restrict_to_kanon_ads=*/true);
} else { } else {
@@ -1566,7 +1562,6 @@ BidderWorklet::V8State::RunGenerateBidOnce(
const url::Origin& browser_signal_seller_origin, const url::Origin& browser_signal_seller_origin,
const url::Origin* browser_signal_top_level_seller_origin, const url::Origin* browser_signal_top_level_seller_origin,
const base::TimeDelta browser_signal_recency, const base::TimeDelta browser_signal_recency,
bool browser_signal_for_debugging_only_sampling,
const blink::mojom::BiddingBrowserSignalsPtr& bidding_browser_signals, const blink::mojom::BiddingBrowserSignalsPtr& bidding_browser_signals,
base::Time auction_start_time, base::Time auction_start_time,
const std::optional<blink::AdSize>& requested_ad_size, const std::optional<blink::AdSize>& requested_ad_size,
@@ -1889,12 +1884,6 @@ BidderWorklet::V8State::RunGenerateBidOnce(
"forDebuggingOnlyInCooldownOrLockout", "forDebuggingOnlyInCooldownOrLockout",
bidding_browser_signals bidding_browser_signals
->for_debugging_only_in_cooldown_or_lockout)) || ->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 // `adComponentsLimit` is reported only when the corresponding change
// is rolled out, to avoid affecting behavior if it's not. // is rolled out, to avoid affecting behavior if it's not.
(base::FeatureList::IsEnabled( (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_seller_origin),
std::move(task->browser_signal_top_level_seller_origin), std::move(task->browser_signal_top_level_seller_origin),
std::move(task->browser_signal_recency), 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->bidding_browser_signals), task->auction_start_time,
std::move(task->requested_ad_size), task->multi_bid_limit, std::move(task->requested_ad_size), task->multi_bid_limit,
std::move(task->trusted_bidding_signals_result), 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 url::Origin& browser_signal_seller_origin,
const std::optional<url::Origin>& browser_signal_top_level_seller_origin, const std::optional<url::Origin>& browser_signal_top_level_seller_origin,
const base::TimeDelta browser_signal_recency, const base::TimeDelta browser_signal_recency,
bool browser_signal_for_debugging_only_sampling,
blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals, blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals,
base::Time auction_start_time, base::Time auction_start_time,
const std::optional<blink::AdSize>& requested_ad_size, 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; url::Origin browser_signal_seller_origin;
std::optional<url::Origin> browser_signal_top_level_seller_origin; std::optional<url::Origin> browser_signal_top_level_seller_origin;
base::TimeDelta browser_signal_recency; base::TimeDelta browser_signal_recency;
bool browser_signal_for_debugging_only_sampling;
blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals; blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals;
std::optional<blink::AdSize> requested_ad_size; std::optional<blink::AdSize> requested_ad_size;
uint16_t multi_bid_limit; uint16_t multi_bid_limit;
@@ -623,7 +621,6 @@ class CONTENT_EXPORT BidderWorklet : public mojom::BidderWorklet,
const std::optional<url::Origin>& const std::optional<url::Origin>&
browser_signal_top_level_seller_origin, browser_signal_top_level_seller_origin,
const base::TimeDelta browser_signal_recency, const base::TimeDelta browser_signal_recency,
bool browser_signal_for_debugging_only_sampling,
blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals, blink::mojom::BiddingBrowserSignalsPtr bidding_browser_signals,
base::Time auction_start_time, base::Time auction_start_time,
const std::optional<blink::AdSize>& requested_ad_size, 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_seller_origin,
const url::Origin* browser_signal_top_level_seller_origin, const url::Origin* browser_signal_top_level_seller_origin,
const base::TimeDelta browser_signal_recency, const base::TimeDelta browser_signal_recency,
bool browser_signal_for_debugging_only_sampling,
const blink::mojom::BiddingBrowserSignalsPtr& bidding_browser_signals, const blink::mojom::BiddingBrowserSignalsPtr& bidding_browser_signals,
base::Time auction_start_time, base::Time auction_start_time,
const std::optional<blink::AdSize>& requested_ad_size, const std::optional<blink::AdSize>& requested_ad_size,

@@ -809,10 +809,8 @@ class BidderWorkletTest : public testing::Test {
? std::nullopt ? std::nullopt
: direct_from_seller_auction_signals_, : direct_from_seller_auction_signals_,
browser_signal_seller_origin_, browser_signal_top_level_seller_origin_, browser_signal_seller_origin_, browser_signal_top_level_seller_origin_,
browser_signal_recency_generate_bid_, browser_signal_recency_generate_bid_, CreateBiddingBrowserSignals(),
browser_signal_for_debugging_only_sampling_, auction_start_time_, requested_ad_size_, multi_bid_limit_,
CreateBiddingBrowserSignals(), auction_start_time_, requested_ad_size_,
multi_bid_limit_,
/*trace_id=*/1, std::move(generate_bid_client), std::move(finalizer)); /*trace_id=*/1, std::move(generate_bid_client), std::move(finalizer));
bidder_worklet->SendPendingSignalsRequests(); bidder_worklet->SendPendingSignalsRequests();
} }
@@ -852,10 +850,8 @@ class BidderWorkletTest : public testing::Test {
direct_from_seller_per_buyer_signals_, direct_from_seller_per_buyer_signals_,
direct_from_seller_auction_signals_, browser_signal_seller_origin_, direct_from_seller_auction_signals_, browser_signal_seller_origin_,
browser_signal_top_level_seller_origin_, browser_signal_top_level_seller_origin_,
browser_signal_recency_generate_bid_, browser_signal_recency_generate_bid_, CreateBiddingBrowserSignals(),
browser_signal_for_debugging_only_sampling_, auction_start_time_, requested_ad_size_, multi_bid_limit_,
CreateBiddingBrowserSignals(), auction_start_time_, requested_ad_size_,
multi_bid_limit_,
/*trace_id=*/1, GenerateBidClientWithCallbacks::CreateNeverCompletes(), /*trace_id=*/1, GenerateBidClientWithCallbacks::CreateNeverCompletes(),
bid_finalizer.BindNewEndpointAndPassReceiver()); bid_finalizer.BindNewEndpointAndPassReceiver());
bidder_worklet->SendPendingSignalsRequests(); bidder_worklet->SendPendingSignalsRequests();
@@ -1037,9 +1033,9 @@ class BidderWorkletTest : public testing::Test {
int browser_signal_bid_count_; int browser_signal_bid_count_;
bool browser_signal_for_debugging_only_in_cooldown_or_lockout_; bool browser_signal_for_debugging_only_in_cooldown_or_lockout_;
base::TimeDelta browser_signal_recency_generate_bid_; base::TimeDelta browser_signal_recency_generate_bid_;
bool browser_signal_for_debugging_only_sampling_;
std::vector<mojo::StructPtr<blink::mojom::PreviousWin>> std::vector<mojo::StructPtr<blink::mojom::PreviousWin>>
browser_signal_prev_wins_; browser_signal_prev_wins_;
std::optional<std::string> auction_signals_; std::optional<std::string> auction_signals_;
std::optional<std::string> per_buyer_signals_; std::optional<std::string> per_buyer_signals_;
std::optional<GURL> direct_from_seller_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_per_buyer_signals_,
direct_from_seller_auction_signals_, browser_signal_seller_origin_, direct_from_seller_auction_signals_, browser_signal_seller_origin_,
browser_signal_top_level_seller_origin_, browser_signal_top_level_seller_origin_,
browser_signal_recency_generate_bid_, browser_signal_recency_generate_bid_, CreateBiddingBrowserSignals(),
browser_signal_for_debugging_only_sampling_, auction_start_time_, requested_ad_size_, multi_bid_limit_,
CreateBiddingBrowserSignals(), auction_start_time_,
requested_ad_size_, multi_bid_limit_,
/*trace_id=*/1, /*trace_id=*/1,
GenerateBidClientWithCallbacks::Create(base::BindLambdaForTesting( GenerateBidClientWithCallbacks::Create(base::BindLambdaForTesting(
[&run_loop, &num_generate_bid_calls, bid_value]( [&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_, kanon_mode_, join_origin_, direct_from_seller_per_buyer_signals_,
direct_from_seller_auction_signals_, browser_signal_seller_origin_, direct_from_seller_auction_signals_, browser_signal_seller_origin_,
browser_signal_top_level_seller_origin_, browser_signal_top_level_seller_origin_,
browser_signal_recency_generate_bid_, browser_signal_recency_generate_bid_, CreateBiddingBrowserSignals(),
browser_signal_for_debugging_only_sampling_, auction_start_time_, requested_ad_size_, multi_bid_limit_,
CreateBiddingBrowserSignals(), auction_start_time_, requested_ad_size_,
multi_bid_limit_,
/*trace_id=*/1, /*trace_id=*/1,
GenerateBidClientWithCallbacks::Create(base::BindLambdaForTesting( GenerateBidClientWithCallbacks::Create(base::BindLambdaForTesting(
[&run_loop, &num_generate_bid_calls, i]( [&run_loop, &num_generate_bid_calls, i](
@@ -4967,10 +4959,8 @@ TEST_P(BidderWorkletMultiThreadingTest,
kanon_mode_, join_origin_, direct_from_seller_per_buyer_signals_, kanon_mode_, join_origin_, direct_from_seller_per_buyer_signals_,
direct_from_seller_auction_signals_, browser_signal_seller_origin_, direct_from_seller_auction_signals_, browser_signal_seller_origin_,
browser_signal_top_level_seller_origin_, browser_signal_top_level_seller_origin_,
browser_signal_recency_generate_bid_, browser_signal_recency_generate_bid_, CreateBiddingBrowserSignals(),
browser_signal_for_debugging_only_sampling_, auction_start_time_, requested_ad_size_, multi_bid_limit_,
CreateBiddingBrowserSignals(), auction_start_time_, requested_ad_size_,
multi_bid_limit_,
/*trace_id=*/1, /*trace_id=*/1,
GenerateBidClientWithCallbacks::Create(base::BindLambdaForTesting( GenerateBidClientWithCallbacks::Create(base::BindLambdaForTesting(
[&run_loop, &num_generate_bid_calls, i]( [&run_loop, &num_generate_bid_calls, i](
@@ -5105,10 +5095,8 @@ TEST_P(BidderWorkletMultiThreadingTest,
kanon_mode_, join_origin_, direct_from_seller_per_buyer_signals_, kanon_mode_, join_origin_, direct_from_seller_per_buyer_signals_,
direct_from_seller_auction_signals_, browser_signal_seller_origin_, direct_from_seller_auction_signals_, browser_signal_seller_origin_,
browser_signal_top_level_seller_origin_, browser_signal_top_level_seller_origin_,
browser_signal_recency_generate_bid_, browser_signal_recency_generate_bid_, CreateBiddingBrowserSignals(),
browser_signal_for_debugging_only_sampling_, auction_start_time_, requested_ad_size_, multi_bid_limit_,
CreateBiddingBrowserSignals(), auction_start_time_, requested_ad_size_,
multi_bid_limit_,
/*trace_id=*/1, /*trace_id=*/1,
GenerateBidClientWithCallbacks::Create(base::BindLambdaForTesting( GenerateBidClientWithCallbacks::Create(base::BindLambdaForTesting(
[&run_loop, &num_generate_bid_calls, i]( [&run_loop, &num_generate_bid_calls, i](
@@ -5222,10 +5210,8 @@ TEST_P(BidderWorkletMultiThreadingTest,
kanon_mode_, join_origin_, direct_from_seller_per_buyer_signals_, kanon_mode_, join_origin_, direct_from_seller_per_buyer_signals_,
direct_from_seller_auction_signals_, browser_signal_seller_origin_, direct_from_seller_auction_signals_, browser_signal_seller_origin_,
browser_signal_top_level_seller_origin_, browser_signal_top_level_seller_origin_,
browser_signal_recency_generate_bid_, browser_signal_recency_generate_bid_, CreateBiddingBrowserSignals(),
browser_signal_for_debugging_only_sampling_, auction_start_time_, requested_ad_size_, multi_bid_limit_,
CreateBiddingBrowserSignals(), auction_start_time_, requested_ad_size_,
multi_bid_limit_,
/*trace_id=*/1, /*trace_id=*/1,
GenerateBidClientWithCallbacks::Create(base::BindLambdaForTesting( GenerateBidClientWithCallbacks::Create(base::BindLambdaForTesting(
[&run_loop, &num_generate_bid_calls, i]( [&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) { TEST_F(BidderWorkletTest, GenerateBidAds) {
// A bid URL that's not in the InterestGroup's ads list should fail. // A bid URL that's not in the InterestGroup's ads list should fail.
RunGenerateBidWithReturnValueExpectingResult( 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, // With the feature on, same-origin trusted signals still come in the same,
// only there is an extra null param. // only there is an extra null param.
TEST_F(BidderWorkletTest, SameOrigin) { TEST_F(BidderWorkletTest, SameOrigin) {

@@ -428,9 +428,6 @@ interface BidderWorklet {
// `browser_signal_recency` The duration of time from when this device // `browser_signal_recency` The duration of time from when this device
// joined this interest group until now, rounded to the nearest 100ms. // 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. // `bidding_browser_signals` See BiddingBrowserSignals.
// //
// `auction_start_time` The time the auction started, used to ensure the // `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_seller_origin,
url.mojom.Origin? browser_signal_top_level_seller_origin, url.mojom.Origin? browser_signal_top_level_seller_origin,
mojo_base.mojom.TimeDelta browser_signal_recency, mojo_base.mojom.TimeDelta browser_signal_recency,
bool browser_signal_for_debugging_only_sampling,
blink.mojom.BiddingBrowserSignals bidding_browser_signals, blink.mojom.BiddingBrowserSignals bidding_browser_signals,
mojo_base.mojom.Time auction_start_time, mojo_base.mojom.Time auction_start_time,
blink.mojom.AdSize? requested_ad_size, 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 // browser is under lockout or the seller's origin is under cooldown for
// sending forDebuggingOnly reports. // 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 // `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 // 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 // `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, string? browser_signal_buyer_and_seller_reporting_id,
uint32 browser_signal_bidding_duration_msecs, uint32 browser_signal_bidding_duration_msecs,
bool browser_signal_for_debugging_only_in_cooldown_or_lockout, bool browser_signal_for_debugging_only_in_cooldown_or_lockout,
bool browser_signal_for_debugging_only_sampling,
mojo_base.mojom.TimeDelta? seller_timeout, mojo_base.mojom.TimeDelta? seller_timeout,
uint64 trace_id, uint64 trace_id,
url.mojom.Origin bidder_joining_origin, url.mojom.Origin bidder_joining_origin,

@@ -563,7 +563,6 @@ void SellerWorklet::ScoreAd(
browser_signal_buyer_and_seller_reporting_id, browser_signal_buyer_and_seller_reporting_id,
uint32_t browser_signal_bidding_duration_msecs, uint32_t browser_signal_bidding_duration_msecs,
bool browser_signal_for_debugging_only_in_cooldown_or_lockout, bool browser_signal_for_debugging_only_in_cooldown_or_lockout,
bool browser_signal_for_debugging_only_sampling,
const std::optional<base::TimeDelta> seller_timeout, const std::optional<base::TimeDelta> seller_timeout,
uint64_t trace_id, uint64_t trace_id,
const url::Origin& bidder_joining_origin, const url::Origin& bidder_joining_origin,
@@ -601,8 +600,6 @@ void SellerWorklet::ScoreAd(
browser_signal_bidding_duration_msecs; browser_signal_bidding_duration_msecs;
score_ad_task->browser_signal_for_debugging_only_in_cooldown_or_lockout = score_ad_task->browser_signal_for_debugging_only_in_cooldown_or_lockout =
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->seller_timeout = seller_timeout;
score_ad_task->trace_id = trace_id; score_ad_task->trace_id = trace_id;
score_ad_task->score_ad_client.Bind(std::move(score_ad_client)); 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, browser_signal_buyer_and_seller_reporting_id,
uint32_t browser_signal_bidding_duration_msecs, uint32_t browser_signal_bidding_duration_msecs,
bool browser_signal_for_debugging_only_in_cooldown_or_lockout, bool browser_signal_for_debugging_only_in_cooldown_or_lockout,
bool browser_signal_for_debugging_only_sampling,
const std::optional<base::TimeDelta> seller_timeout, const std::optional<base::TimeDelta> seller_timeout,
uint64_t trace_id, uint64_t trace_id,
base::ScopedClosureRunner cleanup_score_ad_task, base::ScopedClosureRunner cleanup_score_ad_task,
@@ -1178,12 +1174,6 @@ void SellerWorklet::V8State::ScoreAd(
!browser_signals_dict.Set( !browser_signals_dict.Set(
"forDebuggingOnlyInCooldownOrLockout", "forDebuggingOnlyInCooldownOrLockout",
browser_signal_for_debugging_only_in_cooldown_or_lockout)) || 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() && (ad->creative_scanning_metadata.has_value() &&
creative_scanning_enabled_ && creative_scanning_enabled_ &&
!browser_signals_dict.Set("creativeScanningMetadata", !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), std::move(task->browser_signal_buyer_and_seller_reporting_id),
task->browser_signal_bidding_duration_msecs, task->browser_signal_bidding_duration_msecs,
task->browser_signal_for_debugging_only_in_cooldown_or_lockout, 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, std::move(task->seller_timeout), task->trace_id,
base::ScopedClosureRunner(std::move(cleanup_score_ad_task)), base::ScopedClosureRunner(std::move(cleanup_score_ad_task)),
/*task_enqueued_time=*/base::TimeTicks::Now(), /*task_enqueued_time=*/base::TimeTicks::Now(),

@@ -153,7 +153,6 @@ class CONTENT_EXPORT SellerWorklet : public mojom::SellerWorklet {
browser_signal_buyer_and_seller_reporting_id, browser_signal_buyer_and_seller_reporting_id,
uint32_t browser_signal_bidding_duration_msecs, uint32_t browser_signal_bidding_duration_msecs,
bool browser_signal_for_debugging_only_in_cooldown_or_lockout, bool browser_signal_for_debugging_only_in_cooldown_or_lockout,
bool browser_signal_for_debugging_only_sampling,
const std::optional<base::TimeDelta> seller_timeout, const std::optional<base::TimeDelta> seller_timeout,
uint64_t trace_id, uint64_t trace_id,
const url::Origin& bidder_joining_origin, 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; std::optional<std::string> browser_signal_buyer_and_seller_reporting_id;
uint32_t browser_signal_bidding_duration_msecs; uint32_t browser_signal_bidding_duration_msecs;
bool browser_signal_for_debugging_only_in_cooldown_or_lockout; bool browser_signal_for_debugging_only_in_cooldown_or_lockout;
bool browser_signal_for_debugging_only_sampling;
std::optional<base::TimeDelta> seller_timeout; std::optional<base::TimeDelta> seller_timeout;
uint64_t trace_id; uint64_t trace_id;
@@ -416,7 +414,6 @@ class CONTENT_EXPORT SellerWorklet : public mojom::SellerWorklet {
browser_signal_buyer_and_seller_reporting_id, browser_signal_buyer_and_seller_reporting_id,
uint32_t browser_signal_bidding_duration_msecs, uint32_t browser_signal_bidding_duration_msecs,
bool browser_signal_for_debugging_only_in_cooldown_or_lockout, bool browser_signal_for_debugging_only_in_cooldown_or_lockout,
bool browser_signal_for_debugging_only_sampling,
const std::optional<base::TimeDelta> seller_timeout, const std::optional<base::TimeDelta> seller_timeout,
uint64_t trace_id, uint64_t trace_id,
base::ScopedClosureRunner cleanup_score_ad_task, base::ScopedClosureRunner cleanup_score_ad_task,

@@ -303,7 +303,6 @@ class SellerWorkletTest : public testing::Test,
browser_signal_bidding_duration_msecs_ = 0; browser_signal_bidding_duration_msecs_ = 0;
browser_signal_render_size_ = std::nullopt; browser_signal_render_size_ = std::nullopt;
browser_signal_for_debugging_only_in_cooldown_or_lockout_ = false; browser_signal_for_debugging_only_in_cooldown_or_lockout_ = false;
browser_signal_for_debugging_only_sampling_ = false;
browser_signal_desireability_ = 1; browser_signal_desireability_ = 1;
seller_timeout_ = std::nullopt; seller_timeout_ = std::nullopt;
bidder_joining_origin_ = url::Origin::Create(GURL("https://joining.test/")); 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_buyer_and_seller_reporting_id_,
browser_signal_bidding_duration_msecs_, browser_signal_bidding_duration_msecs_,
browser_signal_for_debugging_only_in_cooldown_or_lockout_, 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_, /*trace_id=*/1, bidder_joining_origin_,
TestScoreAdClient::Create(base::BindOnce( TestScoreAdClient::Create(base::BindOnce(
[](double expected_score, [](double expected_score,
@@ -564,7 +563,7 @@ class SellerWorkletTest : public testing::Test,
browser_signal_buyer_and_seller_reporting_id_, browser_signal_buyer_and_seller_reporting_id_,
browser_signal_bidding_duration_msecs_, browser_signal_bidding_duration_msecs_,
browser_signal_for_debugging_only_in_cooldown_or_lockout_, 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_, /*trace_id=*/1, bidder_joining_origin_,
TestScoreAdClient::Create( TestScoreAdClient::Create(
TestScoreAdClient::ScoreAdNeverInvokedCallback())); TestScoreAdClient::ScoreAdNeverInvokedCallback()));
@@ -959,7 +958,6 @@ class SellerWorkletTest : public testing::Test,
uint32_t browser_signal_bidding_duration_msecs_; uint32_t browser_signal_bidding_duration_msecs_;
std::optional<blink::AdSize> browser_signal_render_size_; std::optional<blink::AdSize> browser_signal_render_size_;
bool browser_signal_for_debugging_only_in_cooldown_or_lockout_; bool browser_signal_for_debugging_only_in_cooldown_or_lockout_;
bool browser_signal_for_debugging_only_sampling_;
double browser_signal_desireability_; double browser_signal_desireability_;
double browser_signal_highest_scoring_other_bid_; double browser_signal_highest_scoring_other_bid_;
std::optional<blink::AdCurrency> std::optional<blink::AdCurrency>
@@ -2538,7 +2536,7 @@ TEST_F(SellerWorkletTest, ScoreAdJsFetchLatency) {
browser_signal_buyer_and_seller_reporting_id_, browser_signal_buyer_and_seller_reporting_id_,
browser_signal_bidding_duration_msecs_, browser_signal_bidding_duration_msecs_,
browser_signal_for_debugging_only_in_cooldown_or_lockout_, 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_, /*trace_id=*/1, bidder_joining_origin_,
TestScoreAdClient::Create(base::BindLambdaForTesting( TestScoreAdClient::Create(base::BindLambdaForTesting(
[&run_loop](double score, mojom::RejectReason reject_reason, [&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_buyer_and_seller_reporting_id_,
browser_signal_bidding_duration_msecs_, browser_signal_bidding_duration_msecs_,
browser_signal_for_debugging_only_in_cooldown_or_lockout_, 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_, /*trace_id=*/1, bidder_joining_origin_,
TestScoreAdClient::Create(base::BindLambdaForTesting( TestScoreAdClient::Create(base::BindLambdaForTesting(
[&run_loop]( [&run_loop](
@@ -4600,7 +4598,7 @@ TEST_F(SellerWorkletTest,
browser_signal_buyer_and_seller_reporting_id_, browser_signal_buyer_and_seller_reporting_id_,
browser_signal_bidding_duration_msecs_, browser_signal_bidding_duration_msecs_,
browser_signal_for_debugging_only_in_cooldown_or_lockout_, 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_, /*trace_id=*/1, bidder_joining_origin_,
TestScoreAdClient::Create(base::BindLambdaForTesting( TestScoreAdClient::Create(base::BindLambdaForTesting(
[&run_loop, &expected_score]( [&run_loop, &expected_score](
@@ -4705,7 +4703,7 @@ TEST_F(
browser_signal_buyer_and_seller_reporting_id_, browser_signal_buyer_and_seller_reporting_id_,
browser_signal_bidding_duration_msecs_, browser_signal_bidding_duration_msecs_,
browser_signal_for_debugging_only_in_cooldown_or_lockout_, 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_, /*trace_id=*/1, bidder_joining_origin_,
TestScoreAdClient::Create(base::BindLambdaForTesting( TestScoreAdClient::Create(base::BindLambdaForTesting(
[&run_loop, &expected_score]( [&run_loop, &expected_score](
@@ -4818,7 +4816,7 @@ TEST_F(
browser_signal_buyer_and_seller_reporting_id_, browser_signal_buyer_and_seller_reporting_id_,
browser_signal_bidding_duration_msecs_, browser_signal_bidding_duration_msecs_,
browser_signal_for_debugging_only_in_cooldown_or_lockout_, 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_, /*trace_id=*/1, bidder_joining_origin_,
TestScoreAdClient::Create(base::BindLambdaForTesting( TestScoreAdClient::Create(base::BindLambdaForTesting(
[&run_loop, &expected_score]( [&run_loop, &expected_score](
@@ -4935,7 +4933,7 @@ TEST_F(SellerWorkletTwoThreadsTest,
browser_signal_buyer_and_seller_reporting_id_, browser_signal_buyer_and_seller_reporting_id_,
browser_signal_bidding_duration_msecs_, browser_signal_bidding_duration_msecs_,
browser_signal_for_debugging_only_in_cooldown_or_lockout_, 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_, /*trace_id=*/1, bidder_joining_origin_,
TestScoreAdClient::Create(base::BindLambdaForTesting( TestScoreAdClient::Create(base::BindLambdaForTesting(
[&run_loop, &expected_score]( [&run_loop, &expected_score](
@@ -4997,7 +4995,7 @@ TEST_F(SellerWorkletTest, ContextReuseDoesNotCrashLazyFiller) {
browser_signal_buyer_and_seller_reporting_id_, browser_signal_buyer_and_seller_reporting_id_,
browser_signal_bidding_duration_msecs_, browser_signal_bidding_duration_msecs_,
browser_signal_for_debugging_only_in_cooldown_or_lockout_, 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_, /*trace_id=*/1, bidder_joining_origin_,
TestScoreAdClient::Create(base::BindLambdaForTesting( TestScoreAdClient::Create(base::BindLambdaForTesting(
[&run_loop, &expected_score]( [&run_loop, &expected_score](
@@ -5043,7 +5041,7 @@ TEST_F(SellerWorkletTest, DeleteBeforeScoreAdCallback) {
browser_signal_buyer_and_seller_reporting_id_, browser_signal_buyer_and_seller_reporting_id_,
browser_signal_bidding_duration_msecs_, browser_signal_bidding_duration_msecs_,
browser_signal_for_debugging_only_in_cooldown_or_lockout_, 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_, /*trace_id=*/1, bidder_joining_origin_,
TestScoreAdClient::Create( TestScoreAdClient::Create(
// Callback should not be invoked since worklet deleted // 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_buyer_and_seller_reporting_id_,
browser_signal_bidding_duration_msecs_, browser_signal_bidding_duration_msecs_,
browser_signal_for_debugging_only_in_cooldown_or_lockout_, 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_, /*trace_id=*/1, bidder_joining_origin_,
client_receiver.BindNewPipeAndPassRemote()); client_receiver.BindNewPipeAndPassRemote());
@@ -6130,7 +6128,7 @@ TEST_F(SellerWorkletTest, CancelBeforeFetch) {
browser_signal_buyer_and_seller_reporting_id_, browser_signal_buyer_and_seller_reporting_id_,
browser_signal_bidding_duration_msecs_, browser_signal_bidding_duration_msecs_,
browser_signal_for_debugging_only_in_cooldown_or_lockout_, 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_, /*trace_id=*/1, bidder_joining_origin_,
client_receiver.BindNewPipeAndPassRemote()); client_receiver.BindNewPipeAndPassRemote());
task_environment_.RunUntilIdle(); task_environment_.RunUntilIdle();
@@ -6249,13 +6247,6 @@ TEST_F(SellerWorkletTest,
3); 3);
} }
TEST_F(SellerWorkletTest, ScoreAdBrowserSignalForDebuggingOnlySampling) {
RunScoreAdWithReturnValueExpectingResult(
R"(browserSignals.hasOwnProperty('forDebuggingOnlySampling') ?
3 : 0)",
0);
}
class ScoreAdBrowserSignalRenderSizeTest class ScoreAdBrowserSignalRenderSizeTest
: public base::test::WithFeatureOverride, : public base::test::WithFeatureOverride,
public SellerWorkletTest { public SellerWorkletTest {
@@ -7649,7 +7640,7 @@ TEST_F(SellerWorkletBiddingAndScoringDebugReportingAPIEnabledTest,
browser_signal_buyer_and_seller_reporting_id_, browser_signal_buyer_and_seller_reporting_id_,
browser_signal_bidding_duration_msecs_, browser_signal_bidding_duration_msecs_,
browser_signal_for_debugging_only_in_cooldown_or_lockout_, 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_, /*trace_id=*/1, bidder_joining_origin_,
TestScoreAdClient::Create(base::BindLambdaForTesting( TestScoreAdClient::Create(base::BindLambdaForTesting(
[&run_loop](double score, mojom::RejectReason reject_reason, [&run_loop](double score, mojom::RejectReason reject_reason,
@@ -7701,31 +7692,6 @@ TEST_F(SellerWorkletSampleDebugReportsDisabledTest,
0); 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 { class SellerWorkletPrivateAggregationEnabledTest : public SellerWorkletTest {
public: public:
SellerWorkletPrivateAggregationEnabledTest() { SellerWorkletPrivateAggregationEnabledTest() {

@@ -947,10 +947,6 @@ BASE_FEATURE_PARAM(base::TimeDelta,
"fledge_max_group_lifetime_for_metadata", "fledge_max_group_lifetime_for_metadata",
base::Days(30)); base::Days(30));
BASE_FEATURE(kFledgeEnableSampleDebugReportOnCookieSetting,
"FledgeEnableSampleDebugReportOnCookieSetting",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kFledgeSampleDebugReports, BASE_FEATURE(kFledgeSampleDebugReports,
"FledgeSampleDebugReports", "FledgeSampleDebugReports",
base::FEATURE_ENABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);

@@ -555,16 +555,6 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE_PARAM(
base::TimeDelta, base::TimeDelta,
kFledgeMaxGroupLifetimeForMetadata); 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(kFledgeSampleDebugReports);
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE_PARAM(base::TimeDelta, BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE_PARAM(base::TimeDelta,