0

Set FledgeTrustedSignalsKVv2Support on by default

Set runtime flag to stable and remove the feature from field testing.

Bug: 337917489
Change-Id: I52b2ad3fd4bc491b255ab07985034e1fd2b86160
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6361799
Reviewed-by: Russ Hamilton <behamilton@google.com>
Commit-Queue: Tianyang Xu <xtlsheep@google.com>
Cr-Commit-Position: refs/heads/main@{#1434238}
This commit is contained in:
Tianyang Xu
2025-03-18 10:47:32 -07:00
committed by Chromium LUCI CQ
parent ac35bb709b
commit b978724289
4 changed files with 72 additions and 89 deletions
content/browser/interest_group
testing/variations
third_party/blink/renderer/platform

@ -2697,33 +2697,6 @@ TEST_F(AuctionWorkletManagerTest, BidderWorkletUrlRequestProtection) {
EXPECT_EQ("Unexpected request", TakeBadMessage());
}
// Test a bidder worklet can be correctly requested with a valid coordinator
// when `kFledgeTrustedSignalsKVv2Support` is disabled. It depends on
// `GetBiddingAndAuctionServerKey()` to cause a crash if it is called
// unexpectedly.
TEST_F(AuctionWorkletManagerTest, BidderWorkletWithKVv2FeatureDisabled) {
std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle;
base::test::TestFuture<void> worklet_available;
auction_worklet_manager_->RequestBidderWorklet(
kAuction1, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
/*needs_cors_for_additional_bid=*/false,
/*experiment_group_id=*/std::nullopt,
/*trusted_bidding_signals_slot_size_param=*/"",
/*trusted_bidding_signals_coordinator=*/
url::Origin::Create(GURL("https://origin.test/")),
worklet_available.GetCallback(), NeverInvokedFatalErrorCallback(), handle,
auction_metrics_recorder_manager_->CreateAuctionMetricsRecorder());
ASSERT_TRUE(worklet_available.Wait());
EXPECT_TRUE(handle->GetBidderWorklet());
std::unique_ptr<MockBidderWorklet> bidder_worklet =
auction_process_manager_->WaitForBidderWorklet();
EXPECT_EQ(kDecisionLogicUrl, bidder_worklet->script_source_url());
EXPECT_EQ(kTrustedSignalsUrl, bidder_worklet->trusted_bidding_signals_url());
EXPECT_TRUE(!bidder_worklet->public_key());
}
// Minimal test that seller worklets' AuctionURLLoaderFactoryProxies are
// correctly configured.
TEST_F(AuctionWorkletManagerTest, SellerWorkletUrlRequestProtection) {
@ -2794,32 +2767,6 @@ TEST_F(AuctionWorkletManagerTest, SellerWorkletUrlRequestProtection) {
EXPECT_EQ("Unexpected request", TakeBadMessage());
}
// Test a seller worklet can be correctly requested with a valid coordinator
// when `kFledgeTrustedSignalsKVv2Support` is disabled. It depends on
// `GetBiddingAndAuctionServerKey()` to cause a crash if it is called
// unexpectedly.
TEST_F(AuctionWorkletManagerTest, SellerWorkletWithKVv2FeatureDisabled) {
SellerWorkletHelper seller_helper;
auction_worklet_manager_->RequestSellerWorklet(
kAuction1, kDecisionLogicUrl, kTrustedSignalsUrl,
/*experiment_group_id=*/std::nullopt,
/*trusted_scoring_signals_coordinator=*/
url::Origin::Create(GURL("https://origin.test/")),
/*send_creative_scanning_metadata=*/std::nullopt,
seller_helper.ProcessAssignedCallback(),
seller_helper.WorkletAvailableCallback(),
NeverInvokedFatalErrorCallback(), seller_helper.handle(),
auction_metrics_recorder_manager_->CreateAuctionMetricsRecorder());
seller_helper.WaitForWorklet();
EXPECT_TRUE(seller_helper.handle()->GetSellerWorklet());
std::unique_ptr<MockSellerWorklet> seller_worklet =
auction_process_manager_->WaitForSellerWorklet();
EXPECT_EQ(kDecisionLogicUrl, seller_worklet->script_source_url());
EXPECT_EQ(kTrustedSignalsUrl, seller_worklet->trusted_scoring_signals_url());
}
TEST(WorkletKeyTest, HashConsistentForEqualKeys) {
AuctionWorkletManager::WorkletKey key1(
AuctionWorkletManager::WorkletType::kBidder,
@ -4162,5 +4109,73 @@ TEST_F(AuctionWorkletManagerKVv2Test, ProcessAssignedReentrancy) {
}
}
class AuctionWorkletManagerKVv2DisableTest : public AuctionWorkletManagerTest {
public:
AuctionWorkletManagerKVv2DisableTest() {
feature_list_.InitWithFeatures(
/*enabled_features=*/{},
/*disabled_features=*/
{blink::features::kFledgeTrustedSignalsKVv2Support});
}
protected:
base::test::ScopedFeatureList feature_list_;
};
// Test a bidder worklet can be correctly requested with a valid coordinator
// when `kFledgeTrustedSignalsKVv2Support` is disabled. It depends on
// `GetBiddingAndAuctionServerKey()` to cause a crash if it is called
// unexpectedly.
TEST_F(AuctionWorkletManagerKVv2DisableTest,
BidderWorkletWithKVv2FeatureDisabled) {
std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle;
base::test::TestFuture<void> worklet_available;
auction_worklet_manager_->RequestBidderWorklet(
kAuction1, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
/*needs_cors_for_additional_bid=*/false,
/*experiment_group_id=*/std::nullopt,
/*trusted_bidding_signals_slot_size_param=*/"",
/*trusted_bidding_signals_coordinator=*/
url::Origin::Create(GURL("https://origin.test/")),
worklet_available.GetCallback(), NeverInvokedFatalErrorCallback(), handle,
auction_metrics_recorder_manager_->CreateAuctionMetricsRecorder());
ASSERT_TRUE(worklet_available.Wait());
EXPECT_TRUE(handle->GetBidderWorklet());
std::unique_ptr<MockBidderWorklet> bidder_worklet =
auction_process_manager_->WaitForBidderWorklet();
EXPECT_EQ(kDecisionLogicUrl, bidder_worklet->script_source_url());
EXPECT_EQ(kTrustedSignalsUrl, bidder_worklet->trusted_bidding_signals_url());
EXPECT_TRUE(!bidder_worklet->public_key());
}
// Test a seller worklet can be correctly requested with a valid coordinator
// when `kFledgeTrustedSignalsKVv2Support` is disabled. It depends on
// `GetBiddingAndAuctionServerKey()` to cause a crash if it is called
// unexpectedly.
TEST_F(AuctionWorkletManagerKVv2DisableTest,
SellerWorkletWithKVv2FeatureDisabled) {
SellerWorkletHelper seller_helper;
auction_worklet_manager_->RequestSellerWorklet(
kAuction1, kDecisionLogicUrl, kTrustedSignalsUrl,
/*experiment_group_id=*/std::nullopt,
/*trusted_scoring_signals_coordinator=*/
url::Origin::Create(GURL("https://origin.test/")),
/*send_creative_scanning_metadata=*/std::nullopt,
seller_helper.ProcessAssignedCallback(),
seller_helper.WorkletAvailableCallback(),
NeverInvokedFatalErrorCallback(), seller_helper.handle(),
auction_metrics_recorder_manager_->CreateAuctionMetricsRecorder());
seller_helper.WaitForWorklet();
EXPECT_TRUE(seller_helper.handle()->GetSellerWorklet());
std::unique_ptr<MockSellerWorklet> seller_worklet =
auction_process_manager_->WaitForSellerWorklet();
EXPECT_EQ(kDecisionLogicUrl, seller_worklet->script_source_url());
EXPECT_EQ(kTrustedSignalsUrl, seller_worklet->trusted_scoring_signals_url());
}
} // namespace
} // namespace content

@ -774,7 +774,6 @@ class InterestGroupBrowserTest : public ContentBrowserTest {
{blink::features::kFledgeAuctionDealSupport, {}},
// TODO(crrev.com/c/6096602): Remove once implementation is removed.
{blink::features::kFledgeDirectFromSellerSignalsWebBundles, {}},
{blink::features::kFledgeTrustedSignalsKVv2Support, {}},
{blink::features::kFledgeTrustedSignalsKVv1CreativeScanning, {}},
{features::kFledgeTextConversionHelpers, {}},
{network::features::kAdAuctionEventRegistration, {}},
@ -5864,19 +5863,7 @@ IN_PROC_BROWSER_TEST_F(InterestGroupBrowserTest,
WaitForAccessObserved({});
}
class InterestGroupCoordinatorBrowserTest : public InterestGroupBrowserTest {
public:
InterestGroupCoordinatorBrowserTest() {
feature_list_.InitWithFeatures(
{blink::features::kFledgeTrustedSignalsKVv2Support},
/*disabled_features=*/{});
}
protected:
base::test::ScopedFeatureList feature_list_;
};
IN_PROC_BROWSER_TEST_F(InterestGroupCoordinatorBrowserTest,
IN_PROC_BROWSER_TEST_F(InterestGroupBrowserTest,
RunAdAuctionValidTrustedScoringSignalsCoordinator) {
GURL url = embedded_https_test_server().GetURL("a.test", "/echo");
url::Origin origin = url::Origin::Create(url);
@ -5892,7 +5879,7 @@ IN_PROC_BROWSER_TEST_F(InterestGroupCoordinatorBrowserTest,
WaitForAccessObserved({});
}
IN_PROC_BROWSER_TEST_F(InterestGroupCoordinatorBrowserTest,
IN_PROC_BROWSER_TEST_F(InterestGroupBrowserTest,
RunAdAuctionHTTPSchemeTrustedScoringSignalsCoordinator) {
GURL url = embedded_https_test_server().GetURL("a.test", "/echo");
url::Origin origin = url::Origin::Create(url);
@ -5914,7 +5901,7 @@ IN_PROC_BROWSER_TEST_F(InterestGroupCoordinatorBrowserTest,
WaitForAccessObserved({});
}
IN_PROC_BROWSER_TEST_F(InterestGroupCoordinatorBrowserTest,
IN_PROC_BROWSER_TEST_F(InterestGroupBrowserTest,
RunAdAuctionOpaqueTrustedScoringSignalsCoordinator) {
GURL url = embedded_https_test_server().GetURL("a.test", "/echo");
url::Origin origin = url::Origin::Create(url);

@ -18902,25 +18902,6 @@
]
}
],
"ProtectedAudienceTrustedKVSupport": [
{
"platforms": [
"android",
"chromeos",
"linux",
"mac",
"windows"
],
"experiments": [
{
"name": "Enabled",
"enable_features": [
"FledgeTrustedSignalsKVv2Support"
]
}
]
}
],
"ProtectedAudienceTrustedSignalsKVv1CreativeScanning": [
{
"platforms": [

@ -2139,7 +2139,7 @@
},
{
name: "FledgeTrustedSignalsKVv2Support",
status: "test",
status: "stable",
},
{
name: "FluentOverlayScrollbars",