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()); 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 // Minimal test that seller worklets' AuctionURLLoaderFactoryProxies are
// correctly configured. // correctly configured.
TEST_F(AuctionWorkletManagerTest, SellerWorkletUrlRequestProtection) { TEST_F(AuctionWorkletManagerTest, SellerWorkletUrlRequestProtection) {
@@ -2794,32 +2767,6 @@ TEST_F(AuctionWorkletManagerTest, SellerWorkletUrlRequestProtection) {
EXPECT_EQ("Unexpected request", TakeBadMessage()); 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) { TEST(WorkletKeyTest, HashConsistentForEqualKeys) {
AuctionWorkletManager::WorkletKey key1( AuctionWorkletManager::WorkletKey key1(
AuctionWorkletManager::WorkletType::kBidder, 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
} // namespace content } // namespace content

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

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