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 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() {

@ -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);

@ -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,