Revert "Enable 5 Protected Audience and Fenced Frame features in Mode A/B"
This reverts commit 7f52df769d
.
Reason for revert: suspected culprit for b/381980101 and b/381977849
Bug: 381980101, 381977849
Original change's description:
> Enable 5 Protected Audience and Fenced Frame features in Mode A/B
>
> With the end of the Chrome-facilitated testing period, enable these features
> in Modes A and B to provide a more consistent developer experience and
> decrease the need for feature detection:
> * PA Real Time Reporting
> * PA multi-bid support
> * PA deprecatedReplaceInURN via auction config
> * PA multiple bidding contexts optimization
> * FF allow cross-origin subframes to send reportEvent() beacons
>
> This was announced here:
> https://groups.google.com/a/chromium.org/g/blink-dev/c/WgGGPElrG9o
>
> Change-Id: I7d26fb1ea908837557bf60cc8762245c409d0160
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6049396
> Auto-Submit: Paul Jensen <pauljensen@chromium.org>
> Reviewed-by: Shivani Sharma <shivanisha@chromium.org>
> Reviewed-by: Nasko Oskov <nasko@chromium.org>
> Commit-Queue: Nasko Oskov <nasko@chromium.org>
> Reviewed-by: Maks Orlovich <morlovich@chromium.org>
> Reviewed-by: Kent Tamura <tkent@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1390666}
Change-Id: I4cf77749fb95b8de9cdc412c674f7edb9c481edd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6062886
Auto-Submit: Florian Jacky <fjacky@chromium.org>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Florian Jacky <fjacky@chromium.org>
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1390874}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
cdf6d1e706
commit
b550c350a6
content
browser
fenced_frame
interest_group
renderer_host
child
public
services
testing/variations
third_party/blink
common
public
common
renderer
core
html
fenced_frame
web_tests
TestLists
VirtualTestSuitesexternal
wpt
fledge
tentative
auction-config-passed-to-worklets.https.window_1-5-expected.txtauction-config.https.window_1-5-expected.txtauction-config.https.window_11-15-expected.txtauction-config.https.window_6-10-expected.txtcomponent-ads.https.window_16-last-expected.txtcomponent-auction.https.window_16-last-expected.txtdeprecated-render-url-replacements.https.window_1-5-expected.txtdeprecated-render-url-replacements.https.window_11-15-expected.txtdeprecated-render-url-replacements.https.window_16-last-expected.txtdeprecated-render-url-replacements.https.window_6-10-expected.txtgenerate-bid-browser-signals.https.window.jsreal-time-reporting.https.window_1-5-expected.txtreal-time-reporting.https.window_6-last-expected.txt
virtual
fledge-disable-cookie-deprecation-testing
DIR_METADATAREADME.md
external
wpt
fledge
tentative
auction-config-passed-to-worklets.https.window_1-5-expected.txtauction-config.https.window_1-5-expected.txtauction-config.https.window_11-15-expected.txtauction-config.https.window_6-10-expected.txtcomponent-ads.https.window_16-last-expected.txtcomponent-auction.https.window_16-last-expected.txtdeprecated-render-url-replacements.https.window_1-5-expected.txtdeprecated-render-url-replacements.https.window_11-15-expected.txtdeprecated-render-url-replacements.https.window_16-last-expected.txtdeprecated-render-url-replacements.https.window_6-10-expected.txt
@ -2470,7 +2470,9 @@ class FencedFrameParameterizedBrowserTest : public FencedFrameBrowserTestBase {
|
||||
{blink::features::kFencedFramesAPIChanges, {}},
|
||||
{blink::features::kFencedFramesAutomaticBeaconCredentials, {}},
|
||||
{blink::features::kFencedFramesLocalUnpartitionedDataAccess, {}},
|
||||
{blink::features::kFencedFramesCrossOriginEventReporting, {}},
|
||||
{blink::features::
|
||||
kFencedFramesCrossOriginEventReportingUnlabeledTraffic,
|
||||
{}},
|
||||
{blink::features::kFencedFramesReportEventHeaderChanges, {}}},
|
||||
{/* disabled_features */});
|
||||
}
|
||||
@ -6532,6 +6534,7 @@ class FencedFrameReportEventBrowserTest
|
||||
kExceedMaxEventDataLength,
|
||||
kUntrustedNetworkDisabled,
|
||||
kCrossOriginNoHeader,
|
||||
kCrossOriginModeAB
|
||||
};
|
||||
|
||||
// Outcome of reportEvent.
|
||||
@ -6567,6 +6570,9 @@ class FencedFrameReportEventBrowserTest
|
||||
return "This document is cross-origin to the document that contains "
|
||||
"reporting metadata, but the fenced frame's document was not "
|
||||
"served with the 'Allow-Cross-Origin-Event-Reporting' header.";
|
||||
case Step::Result::kCrossOriginModeAB:
|
||||
return "Cross-origin reporting beacons are not supported with Mode A/B "
|
||||
"Chrome-facilitated testing traffic.";
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
@ -8386,6 +8392,70 @@ IN_PROC_BROWSER_TEST_F(
|
||||
}
|
||||
}
|
||||
|
||||
class FencedFrameReportEventFacilitatedTestingEnabledBrowserTest
|
||||
: public FencedFrameReportEventBrowserTest {
|
||||
public:
|
||||
FencedFrameReportEventFacilitatedTestingEnabledBrowserTest() {
|
||||
scoped_feature_list_.InitAndEnableFeature(
|
||||
features::kCookieDeprecationFacilitatedTesting);
|
||||
}
|
||||
|
||||
private:
|
||||
base::test::ScopedFeatureList scoped_feature_list_;
|
||||
};
|
||||
|
||||
IN_PROC_BROWSER_TEST_F(
|
||||
FencedFrameReportEventFacilitatedTestingEnabledBrowserTest,
|
||||
NestedIframeCrossOriginNavigationWithOptIn) {
|
||||
base::HistogramTester histogram_tester;
|
||||
std::vector<Step> config = {
|
||||
{
|
||||
.is_embedder_initiated = true,
|
||||
.is_opaque = true,
|
||||
.destination = {"a.test",
|
||||
"/set-header"
|
||||
"?Supports-Loading-Mode: fenced-frame"
|
||||
"&Allow-Cross-Origin-Event-Reporting: ?1"},
|
||||
.report_event_result = Step::Result::kSuccess,
|
||||
},
|
||||
{
|
||||
.is_target_nested_iframe = true,
|
||||
.event = {/*type=*/"click", /*reporting_destination=*/"buyer",
|
||||
/*data=*/"data", /*cross_origin_exposed=*/true},
|
||||
.destination = {"b.test", "/fenced_frames/title1.html"},
|
||||
.report_event_result = Step::Result::kCrossOriginModeAB,
|
||||
},
|
||||
};
|
||||
RunTest(config);
|
||||
}
|
||||
|
||||
IN_PROC_BROWSER_TEST_F(
|
||||
FencedFrameReportEventFacilitatedTestingEnabledBrowserTest,
|
||||
CustomURLNestedIframeCrossOriginNavigationWithOptIn) {
|
||||
base::HistogramTester histogram_tester;
|
||||
std::vector<Step> config = {
|
||||
{
|
||||
.is_embedder_initiated = true,
|
||||
.is_opaque = true,
|
||||
.use_custom_destination_url = true,
|
||||
.destination = {"a.test",
|
||||
"/set-header"
|
||||
"?Supports-Loading-Mode: fenced-frame"
|
||||
"&Allow-Cross-Origin-Event-Reporting: ?1"},
|
||||
.report_event_result = Step::Result::kSuccess,
|
||||
},
|
||||
{
|
||||
.is_target_nested_iframe = true,
|
||||
.use_custom_destination_url = true,
|
||||
.event = {/*type=*/"N/a", /*reporting_destination=*/"N/a",
|
||||
/*data=*/"data", /*cross_origin_exposed=*/true},
|
||||
.destination = {"b.test", "/fenced_frames/title1.html"},
|
||||
.report_event_result = Step::Result::kCrossOriginModeAB,
|
||||
},
|
||||
};
|
||||
RunTest(config);
|
||||
}
|
||||
|
||||
// Parameterized on whether the feature is enabled or not.
|
||||
class UUIDFrameTreeBrowserTest
|
||||
: public FencedFrameBrowserTestBase,
|
||||
|
@ -2531,7 +2531,9 @@ class InterestGroupAuction::BuyerHelper
|
||||
}
|
||||
|
||||
if (base::FeatureList::IsEnabled(
|
||||
blink::features::kFledgeRealTimeReporting)) {
|
||||
blink::features::kFledgeRealTimeReporting) &&
|
||||
!base::FeatureList::IsEnabled(
|
||||
features::kCookieDeprecationFacilitatedTesting)) {
|
||||
if (!base::ranges::all_of(real_time_contributions,
|
||||
HasValidRealTimeBucket)) {
|
||||
mojo_bids.clear();
|
||||
@ -5701,7 +5703,9 @@ void InterestGroupAuction::OnScoreAdComplete(
|
||||
}
|
||||
|
||||
if (base::FeatureList::IsEnabled(
|
||||
blink::features::kFledgeRealTimeReporting)) {
|
||||
blink::features::kFledgeRealTimeReporting) &&
|
||||
!base::FeatureList::IsEnabled(
|
||||
features::kCookieDeprecationFacilitatedTesting)) {
|
||||
// Only keep real time reporting contributions when the seller is
|
||||
// opted-in.
|
||||
if (config_->non_shared_params.seller_real_time_reporting_type
|
||||
|
@ -2286,6 +2286,20 @@ class InterestGroupMultiBidBrowserTest : public InterestGroupBrowserTest {
|
||||
base::test::ScopedFeatureList feature_list_;
|
||||
};
|
||||
|
||||
class InterestGroupMultiBidAndCookieDeprecationBrowserTest
|
||||
: public InterestGroupBrowserTest {
|
||||
public:
|
||||
InterestGroupMultiBidAndCookieDeprecationBrowserTest() {
|
||||
feature_list_.InitWithFeatures(
|
||||
/*enabled_features=*/{blink::features::kFledgeMultiBid,
|
||||
features::kCookieDeprecationFacilitatedTesting},
|
||||
/*disabled_features=*/{});
|
||||
}
|
||||
|
||||
protected:
|
||||
base::test::ScopedFeatureList feature_list_;
|
||||
};
|
||||
|
||||
IN_PROC_BROWSER_TEST_F(InterestGroupBrowserTest,
|
||||
SameOriginJoinLeaveInterestGroup) {
|
||||
GURL test_url_a = embedded_https_test_server().GetURL("a.test", "/echo");
|
||||
@ -9373,6 +9387,149 @@ IN_PROC_BROWSER_TEST_F(
|
||||
RunAuctionAndWaitForURLAndNavigateIframe(auction_config, expected_url);
|
||||
}
|
||||
|
||||
class DeprecatedRenderURLReplacementsDisabledWithCookieDeprecationBrowserTest
|
||||
: public InterestGroupBrowserTest {
|
||||
public:
|
||||
DeprecatedRenderURLReplacementsDisabledWithCookieDeprecationBrowserTest() {
|
||||
feature_list_.InitWithFeatures(
|
||||
/*enabled_features=*/{blink::features::
|
||||
kFledgeDeprecatedRenderURLReplacements,
|
||||
features::kCookieDeprecationFacilitatedTesting},
|
||||
/*disabled_features=*/{});
|
||||
}
|
||||
|
||||
protected:
|
||||
base::test::ScopedFeatureList feature_list_;
|
||||
};
|
||||
|
||||
// If both DeprecatedRenderURLReplacements and cookie deprecation trial are on,
|
||||
// we turn DeprecatedRenderURLReplacements off, so it won't affect the study.
|
||||
IN_PROC_BROWSER_TEST_F(
|
||||
DeprecatedRenderURLReplacementsDisabledWithCookieDeprecationBrowserTest,
|
||||
RenderURLReplacementsHaveNoEffect) {
|
||||
GURL test_url =
|
||||
embedded_https_test_server().GetURL("a.test", "/page_with_iframe.html");
|
||||
ASSERT_TRUE(NavigateToURL(shell(), test_url));
|
||||
url::Origin test_origin = url::Origin::Create(test_url);
|
||||
GURL ad_url = GURL(embedded_https_test_server()
|
||||
.GetURL("c.test", "/%%echo%%?${INTEREST_GROUP_NAME}")
|
||||
.spec());
|
||||
|
||||
EXPECT_EQ(kSuccess,
|
||||
JoinInterestGroupAndVerify(
|
||||
/*owner=*/test_origin,
|
||||
/*name=*/"cars",
|
||||
/*priority=*/0.0, /*execution_mode=*/
|
||||
blink::InterestGroup::ExecutionMode::kCompatibilityMode,
|
||||
/*bidding_url=*/
|
||||
embedded_https_test_server().GetURL(
|
||||
"a.test", "/interest_group/bidding_logic.js"),
|
||||
/*ads=*/{{{ad_url, R"({"ad":"metadata","here":[1,2]})"}}}));
|
||||
|
||||
for (bool use_promise : {false, true}) {
|
||||
SCOPED_TRACE(use_promise);
|
||||
ASSERT_TRUE(ExecJs(shell(), MaybePromiseFunction(use_promise)));
|
||||
std::string auction_config = JsReplace(
|
||||
R"({
|
||||
seller: $1,
|
||||
decisionLogicURL: $2,
|
||||
interestGroupBuyers: [$1],
|
||||
// Signal for verifying that what goes into scoreAd matches
|
||||
// the deprecatedRenderURLReplacements.
|
||||
sellerSignals: {deprecatedRenderURLReplacementsExpected: undefined},
|
||||
deprecatedRenderURLReplacements:
|
||||
maybePromise({$3: "render_cars", "%%echo%%": "echo"})
|
||||
})",
|
||||
test_origin,
|
||||
embedded_https_test_server().GetURL(
|
||||
"a.test",
|
||||
"/interest_group/"
|
||||
"decision_logic_deprecated_render_url_replacements_validator.js"),
|
||||
"${INTEREST_GROUP_NAME}");
|
||||
auto result = RunAuctionAndWait(auction_config,
|
||||
/*execution_target=*/std::nullopt);
|
||||
GURL urn_url = GURL(result.ExtractString());
|
||||
EXPECT_TRUE(urn_url.is_valid());
|
||||
EXPECT_EQ(url::kUrnScheme, urn_url.scheme_piece());
|
||||
NavigateIframeAndCheckURL(web_contents(), urn_url, ad_url);
|
||||
}
|
||||
}
|
||||
|
||||
// If Cookie Deprecation Facilitated Testing is going on, it would by default
|
||||
// disable deprecatedRenderURLReplacements. However if
|
||||
// kAllowFledgeDeprecatedRenderURLReplacementsWithCookieDeprecationFacilitatedTesting
|
||||
// is enabled, that should override the default and allow for
|
||||
// deprecatedRenderURLReplacements to be enabled alongside the facilitated
|
||||
// testing.
|
||||
class DeprecatedRenderURLReplacementsEnabledWithCookieDeprecationBrowserTest
|
||||
: public InterestGroupBrowserTest {
|
||||
public:
|
||||
DeprecatedRenderURLReplacementsEnabledWithCookieDeprecationBrowserTest() {
|
||||
feature_list_.InitWithFeatures(
|
||||
/*enabled_features=*/
|
||||
{blink::features::kFledgeDeprecatedRenderURLReplacements,
|
||||
blink::features::kAlwaysAllowFledgeDeprecatedRenderURLReplacements,
|
||||
features::kCookieDeprecationFacilitatedTesting},
|
||||
/*disabled_features=*/{});
|
||||
}
|
||||
|
||||
protected:
|
||||
base::test::ScopedFeatureList feature_list_;
|
||||
};
|
||||
|
||||
IN_PROC_BROWSER_TEST_F(
|
||||
DeprecatedRenderURLReplacementsEnabledWithCookieDeprecationBrowserTest,
|
||||
RunAdAuctionWithWinnerWithRenderURLReplacements) {
|
||||
GURL test_url =
|
||||
embedded_https_test_server().GetURL("a.test", "/page_with_iframe.html");
|
||||
ASSERT_TRUE(NavigateToURL(shell(), test_url));
|
||||
url::Origin test_origin = url::Origin::Create(test_url);
|
||||
GURL ad_url = GURL(embedded_https_test_server()
|
||||
.GetURL("c.test", "/%%echo%%?${INTEREST_GROUP_NAME}")
|
||||
.spec());
|
||||
GURL expected_ad_url =
|
||||
embedded_https_test_server().GetURL("c.test", "/echo?render_cars");
|
||||
|
||||
EXPECT_EQ(kSuccess,
|
||||
JoinInterestGroupAndVerify(
|
||||
/*owner=*/test_origin,
|
||||
/*name=*/"cars",
|
||||
/*priority=*/0.0, /*execution_mode=*/
|
||||
blink::InterestGroup::ExecutionMode::kCompatibilityMode,
|
||||
/*bidding_url=*/
|
||||
embedded_https_test_server().GetURL(
|
||||
"a.test", "/interest_group/bidding_logic.js"),
|
||||
/*ads=*/{{{ad_url, R"({"ad":"metadata","here":[1,2]})"}}}));
|
||||
|
||||
for (bool use_promise : {false, true}) {
|
||||
SCOPED_TRACE(use_promise);
|
||||
ASSERT_TRUE(ExecJs(shell(), MaybePromiseFunction(use_promise)));
|
||||
std::string auction_config = JsReplace(
|
||||
R"({
|
||||
seller: $1,
|
||||
decisionLogicURL: $2,
|
||||
interestGroupBuyers: [$1],
|
||||
// Signal for verifying that what goes into scoreAd matches
|
||||
// the deprecatedRenderURLReplacements.
|
||||
sellerSignals: {deprecatedRenderURLReplacementsExpected:
|
||||
{$3: "render_cars", "%%echo%%": "echo"}},
|
||||
deprecatedRenderURLReplacements:
|
||||
maybePromise({$3: "render_cars", "%%echo%%": "echo"})
|
||||
})",
|
||||
test_origin,
|
||||
embedded_https_test_server().GetURL(
|
||||
"a.test",
|
||||
"/interest_group/"
|
||||
"decision_logic_deprecated_render_url_replacements_validator.js"),
|
||||
"${INTEREST_GROUP_NAME}");
|
||||
auto result = RunAuctionAndWait(auction_config);
|
||||
GURL urn_url = GURL(result.ExtractString());
|
||||
EXPECT_TRUE(urn_url.is_valid());
|
||||
EXPECT_EQ(url::kUrnScheme, urn_url.scheme_piece());
|
||||
NavigateIframeAndCheckURL(web_contents(), urn_url, expected_ad_url);
|
||||
}
|
||||
}
|
||||
|
||||
class DeprecatedRenderURLReplacementsDisabledTest
|
||||
: public InterestGroupBrowserTest {
|
||||
public:
|
||||
@ -17034,6 +17191,51 @@ IN_PROC_BROWSER_TEST_F(InterestGroupMultiBidBrowserTest,
|
||||
"/echoall?report_bidder10"));
|
||||
}
|
||||
|
||||
// If both multi-bid and cookie deprecation trial are on, we turn multibid off,
|
||||
// so access to its configuration does not happen.
|
||||
IN_PROC_BROWSER_TEST_F(InterestGroupMultiBidAndCookieDeprecationBrowserTest,
|
||||
RunAdAuctionWithPerBuyerMultiBidLimit) {
|
||||
const char kPublisher[] = "a.test";
|
||||
const char kBidder[] = "b.test";
|
||||
const char kSeller[] = "c.test";
|
||||
|
||||
GURL bidder_url = embedded_https_test_server().GetURL(kBidder, "/echo");
|
||||
url::Origin bidder_origin = url::Origin::Create(bidder_url);
|
||||
|
||||
GURL ad1_url = embedded_https_test_server().GetURL(kBidder, "/ad1");
|
||||
|
||||
// Navigate to bidder site, and add an interest group.
|
||||
ASSERT_TRUE(NavigateToURL(shell(), bidder_url));
|
||||
EXPECT_EQ(kSuccess,
|
||||
JoinInterestGroupAndVerify(
|
||||
blink::TestInterestGroupBuilder(
|
||||
/*owner=*/bidder_origin,
|
||||
/*name=*/"cars")
|
||||
.SetBiddingUrl(embedded_https_test_server().GetURL(
|
||||
kBidder, "/interest_group/bidding_logic.js"))
|
||||
.SetAds({{{ad1_url, /*metadata=*/std::nullopt}}})
|
||||
.Build()));
|
||||
|
||||
// Navigate to publisher and run an ad auction.
|
||||
ASSERT_TRUE(
|
||||
NavigateToURL(shell(), embedded_https_test_server().GetURL(
|
||||
kPublisher, "/page_with_iframe.html")));
|
||||
GURL seller_logic_url = embedded_https_test_server().GetURL(
|
||||
kSeller, "/interest_group/decision_logic.js");
|
||||
|
||||
const char kAuctionConfigTemplate[] = R"({
|
||||
seller: $1,
|
||||
decisionLogicURL: $2,
|
||||
interestGroupBuyers: [$3],
|
||||
get perBuyerMultiBidLimits() { throw "should not touch" },
|
||||
})";
|
||||
|
||||
RunAuctionAndWaitForURLAndNavigateIframe(
|
||||
JsReplace(kAuctionConfigTemplate, url::Origin::Create(seller_logic_url),
|
||||
seller_logic_url, bidder_origin),
|
||||
ad1_url);
|
||||
}
|
||||
|
||||
// Validate that createAdRequest is available and be successfully called as part
|
||||
// of PARAKEET.
|
||||
IN_PROC_BROWSER_TEST_F(InterestGroupBrowserTest, CreateAdRequestWorks) {
|
||||
@ -26384,6 +26586,115 @@ IN_PROC_BROWSER_TEST_F(RealTimeReportingEnabledTest, FeatureDetection) {
|
||||
<< all_result.error;
|
||||
}
|
||||
|
||||
class RealTimeReportingAndCookieDeprecationEnabledTest
|
||||
: public InterestGroupBrowserTest {
|
||||
public:
|
||||
RealTimeReportingAndCookieDeprecationEnabledTest() {
|
||||
feature_list_.InitWithFeatures(
|
||||
/*enabled_features=*/{blink::features::kFledgeRealTimeReporting,
|
||||
features::kCookieDeprecationFacilitatedTesting},
|
||||
/*disabled_features=*/{});
|
||||
}
|
||||
|
||||
private:
|
||||
base::test::ScopedFeatureList feature_list_;
|
||||
};
|
||||
|
||||
IN_PROC_BROWSER_TEST_F(RealTimeReportingAndCookieDeprecationEnabledTest,
|
||||
RealTimeReporting) {
|
||||
const char kHostA[] = "a.test";
|
||||
const char kHostB[] = "b.test";
|
||||
GURL test_url =
|
||||
embedded_https_test_server().GetURL(kHostA, "/page_with_iframe.html");
|
||||
ASSERT_TRUE(NavigateToURL(shell(), test_url));
|
||||
url::Origin test_origin = url::Origin::Create(test_url);
|
||||
GURL ad_url =
|
||||
embedded_https_test_server().GetURL(kHostA, "/echo?render_cars");
|
||||
GURL ad2_url =
|
||||
embedded_https_test_server().GetURL("c.test", "/echo?render_bikes");
|
||||
url::Origin test_origin_b =
|
||||
url::Origin::Create(embedded_https_test_server().GetURL(kHostB, "/echo"));
|
||||
|
||||
// IG "winner" should bid 2 and should have won the auction if it bids
|
||||
// successfully, but it should fail to bid due to it calls undefined real time
|
||||
// reporting API.
|
||||
EXPECT_EQ(
|
||||
kSuccess,
|
||||
JoinInterestGroupAndVerify(
|
||||
/*owner=*/test_origin,
|
||||
/*name=*/"winner",
|
||||
/*priority=*/0.0,
|
||||
/*execution_mode=*/
|
||||
blink::InterestGroup::ExecutionMode::kCompatibilityMode,
|
||||
/*bidding_url=*/
|
||||
embedded_https_test_server().GetURL(
|
||||
kHostA,
|
||||
"/interest_group/bidding_logic_with_real_time_reporting.js"),
|
||||
/*ads=*/{{{ad_url, /*metadata=*/std::nullopt}}}));
|
||||
EXPECT_EQ(kSuccess,
|
||||
JoinInterestGroupAndVerify(
|
||||
/*owner=*/test_origin,
|
||||
/*name=*/"bikes",
|
||||
/*priority=*/0.0,
|
||||
/*execution_mode=*/
|
||||
blink::InterestGroup::ExecutionMode::kCompatibilityMode,
|
||||
/*bidding_url=*/
|
||||
embedded_https_test_server().GetURL(
|
||||
kHostA, "/interest_group/bidding_logic.js"),
|
||||
/*ads=*/{{{ad2_url, /*metadata=*/std::nullopt}}}));
|
||||
|
||||
// IG "bikes" won the auction, since "winner" failed to bid.
|
||||
std::string auction_config = JsReplace(
|
||||
R"({
|
||||
seller: $1,
|
||||
decisionLogicURL: $2,
|
||||
interestGroupBuyers: [$3],
|
||||
sellerRealTimeReportingConfig: {type: 'default-local-reporting'},
|
||||
perBuyerRealTimeReportingConfig: {
|
||||
$3: {type: 'default-local-reporting'}
|
||||
}
|
||||
})",
|
||||
test_origin_b,
|
||||
embedded_https_test_server().GetURL(kHostB,
|
||||
"/interest_group/decision_logic.js"),
|
||||
test_origin);
|
||||
RunAuctionAndWaitForURLAndNavigateIframe(auction_config, ad2_url);
|
||||
|
||||
WaitForUrl(embedded_https_test_server().GetURL("/echoall?report_seller"));
|
||||
WaitForUrl(embedded_https_test_server().GetURL("/echoall?report_bidder"));
|
||||
|
||||
EXPECT_FALSE(HasServerSeenUrl(embedded_https_test_server().GetURL(
|
||||
"a.test", "/.well-known/interest-group/real-time-report")));
|
||||
// Seller didn't call real time reporting API, so it succeeded, but it
|
||||
// does not send the default real time report although it opted in.
|
||||
EXPECT_FALSE(HasServerSeenUrl(embedded_https_test_server().GetURL(
|
||||
"b.test", "/.well-known/interest-group/real-time-report")));
|
||||
|
||||
const GURL kRealTimeReportUrls[] = {
|
||||
embedded_https_test_server().GetURL(
|
||||
"a.test", "/.well-known/interest-group/real-time-report"),
|
||||
embedded_https_test_server().GetURL(
|
||||
"b.test", "/.well-known/interest-group/real-time-report")};
|
||||
|
||||
for (const auto& report_url : kRealTimeReportUrls) {
|
||||
EXPECT_FALSE(HasServerSeenUrl(report_url));
|
||||
}
|
||||
}
|
||||
|
||||
IN_PROC_BROWSER_TEST_F(RealTimeReportingAndCookieDeprecationEnabledTest,
|
||||
FeatureDetection) {
|
||||
const char kTestExpression[] = R"(
|
||||
navigator.protectedAudience.queryFeatureSupport(
|
||||
'realTimeReporting');
|
||||
)";
|
||||
|
||||
GURL test_url =
|
||||
embedded_https_test_server().GetURL("a.test", "/simple_page.html");
|
||||
|
||||
ASSERT_TRUE(NavigateToURL(shell(), test_url));
|
||||
EXPECT_EQ(false, EvalJs(shell(), kTestExpression));
|
||||
}
|
||||
|
||||
class RealTimeReportingDisabledTest : public InterestGroupBrowserTest {
|
||||
public:
|
||||
RealTimeReportingDisabledTest() {
|
||||
|
@ -9808,13 +9808,28 @@ bool RenderFrameHostImpl::IsFencedFrameReportingFromRendererAllowed(
|
||||
|
||||
if (cross_origin_exposed &&
|
||||
!base::FeatureList::IsEnabled(
|
||||
blink::features::kFencedFramesCrossOriginEventReporting)) {
|
||||
blink::features::
|
||||
kFencedFramesCrossOriginEventReportingUnlabeledTraffic) &&
|
||||
!base::FeatureList::IsEnabled(
|
||||
blink::features::kFencedFramesCrossOriginEventReportingAllTraffic)) {
|
||||
mojo::ReportBadMessage(
|
||||
"Request to send cross-origin reporting beacons received while feature "
|
||||
"not enabled.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (cross_origin_exposed &&
|
||||
!base::FeatureList::IsEnabled(
|
||||
blink::features::kFencedFramesCrossOriginEventReportingAllTraffic) &&
|
||||
base::FeatureList::IsEnabled(
|
||||
features::kCookieDeprecationFacilitatedTesting)) {
|
||||
AddMessageToConsole(
|
||||
blink::mojom::ConsoleMessageLevel::kError,
|
||||
"Cross-origin reporting beacons are not supported with Mode A/B "
|
||||
"Chrome-facilitated testing traffic.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!fenced_frame_properties.has_value() ||
|
||||
!fenced_frame_properties->fenced_frame_reporter()) {
|
||||
// No associated fenced frame reporter. This should have been captured
|
||||
|
@ -685,6 +685,18 @@ void ResolveInvalidConfigurations() {
|
||||
WebRuntimeFeatures::EnableFledge(false);
|
||||
}
|
||||
|
||||
if (base::FeatureList::IsEnabled(
|
||||
features::kCookieDeprecationFacilitatedTesting)) {
|
||||
WebRuntimeFeatures::EnableFledgeMultiBid(false);
|
||||
WebRuntimeFeatures::EnableFledgeRealTimeReporting(false);
|
||||
|
||||
if (!base::FeatureList::IsEnabled(
|
||||
blink::features::
|
||||
kAlwaysAllowFledgeDeprecatedRenderURLReplacements)) {
|
||||
WebRuntimeFeatures::EnableFledgeDeprecatedRenderURLReplacements(false);
|
||||
}
|
||||
}
|
||||
|
||||
// PermissionElement cannot be enabled without the support of the
|
||||
// browser process.
|
||||
if (!base::FeatureList::IsEnabled(blink::features::kPermissionElement)) {
|
||||
|
@ -62,7 +62,8 @@ FencedFrameTestHelper::FencedFrameTestHelper() {
|
||||
{features::kFencedFramesEnforceFocus, {}},
|
||||
{blink::features::kFencedFramesAutomaticBeaconCredentials, {}},
|
||||
{blink::features::kFencedFramesLocalUnpartitionedDataAccess, {}},
|
||||
{blink::features::kFencedFramesCrossOriginEventReporting, {}},
|
||||
{blink::features::kFencedFramesCrossOriginEventReportingUnlabeledTraffic,
|
||||
{}},
|
||||
{blink::features::kFencedFramesReportEventHeaderChanges, {}},
|
||||
{blink::features::kExemptUrlFromNetworkRevocationForTesting, {}}},
|
||||
{/* disabled_features */});
|
||||
|
@ -280,8 +280,16 @@ size_t GetNumberOfGroupByOriginContextsToKeep() {
|
||||
if (base::FeatureList::IsEnabled(
|
||||
blink::features::
|
||||
kFledgeNumberBidderWorkletGroupByOriginContextsToKeep)) {
|
||||
return blink::features::
|
||||
kFledgeNumberBidderWorkletGroupByOriginContextsToKeepValue.Get();
|
||||
// Avoid using multiple contexts for the testing population
|
||||
// unless otherwise specified by
|
||||
// kFledgeNumberBidderWorkletContextsIncludeFacilitedTesting.
|
||||
if (blink::features::
|
||||
kFledgeNumberBidderWorkletContextsIncludeFacilitedTesting.Get() ||
|
||||
!base::FeatureList::IsEnabled(
|
||||
features::kCookieDeprecationFacilitatedTesting)) {
|
||||
return blink::features::
|
||||
kFledgeNumberBidderWorkletGroupByOriginContextsToKeepValue.Get();
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
@ -481,7 +489,10 @@ bool BidderWorklet::IsComponentAdKAnon(
|
||||
|
||||
// static
|
||||
bool BidderWorklet::SupportMultiBid() {
|
||||
return base::FeatureList::IsEnabled(blink::features::kFledgeMultiBid);
|
||||
// Multi-bid is auto-disabled in mode-A/B trials.
|
||||
return base::FeatureList::IsEnabled(blink::features::kFledgeMultiBid) &&
|
||||
!base::FeatureList::IsEnabled(
|
||||
features::kCookieDeprecationFacilitatedTesting);
|
||||
}
|
||||
|
||||
void BidderWorklet::BeginGenerateBid(
|
||||
|
@ -1188,6 +1188,20 @@ class BidderWorkletMultiBidDisabledTest : public BidderWorkletTest {
|
||||
base::test::ScopedFeatureList feature_list_;
|
||||
};
|
||||
|
||||
// kCookieDeprecationFacilitatedTesting disables kFledgeMultiBid.
|
||||
class BidderWorkletMultiBidAndCookieDeprecationTest : public BidderWorkletTest {
|
||||
public:
|
||||
BidderWorkletMultiBidAndCookieDeprecationTest() {
|
||||
feature_list_.InitWithFeatures(
|
||||
/*enabled_features=*/{blink::features::kFledgeMultiBid,
|
||||
features::kCookieDeprecationFacilitatedTesting},
|
||||
/*disabled_features=*/{});
|
||||
}
|
||||
|
||||
protected:
|
||||
base::test::ScopedFeatureList feature_list_;
|
||||
};
|
||||
|
||||
// Test the case the BidderWorklet pipe is closed before invoking the
|
||||
// GenerateBidCallback. The invocation of the GenerateBidCallback is not
|
||||
// observed, since the callback is on the pipe that was just closed. There
|
||||
@ -2885,6 +2899,14 @@ TEST_F(BidderWorkletMultiBidDisabledTest, GenerateBidMultiBid) {
|
||||
/*expected_bids=*/mojom::BidderWorkletBidPtr());
|
||||
}
|
||||
|
||||
// Cookie disabling trial forces multibid off.
|
||||
TEST_F(BidderWorkletMultiBidAndCookieDeprecationTest, GenerateBidMultiBid) {
|
||||
RunGenerateBidWithReturnValueExpectingResult(
|
||||
R"([{ad: "ad", bid: 1,
|
||||
render: "https://response.test/"}])",
|
||||
/*expected_bids=*/mojom::BidderWorkletBidPtr());
|
||||
}
|
||||
|
||||
// Make sure that fields that are only available with multibid on aren't
|
||||
// read when its off.
|
||||
TEST_F(BidderWorkletMultiBidDisabledTest, ComponentTargetFieldsOnlyMultiBid) {
|
||||
@ -2916,6 +2938,38 @@ TEST_F(BidderWorkletMultiBidDisabledTest, ComponentTargetFieldsOnlyMultiBid) {
|
||||
expected_bid->Clone());
|
||||
}
|
||||
|
||||
// Make sure that fields that are only available with multibid on aren't
|
||||
// read when its forced off by kCookieDeprecationFacilitatedTesting.
|
||||
TEST_F(BidderWorkletMultiBidAndCookieDeprecationTest,
|
||||
ComponentTargetFieldsOnlyMultiBid) {
|
||||
auto expected_bid = mojom::BidderWorkletBid::New(
|
||||
auction_worklet::mojom::BidRole::kUnenforcedKAnon, "\"ad\"", 5,
|
||||
/*bid_currency=*/std::nullopt,
|
||||
/*ad_cost=*/std::nullopt,
|
||||
blink::AdDescriptor(GURL("https://response.test/")),
|
||||
/*selected_buyer_and_seller_reporting_id=*/std::nullopt,
|
||||
/*ad_component_descriptors=*/std::nullopt,
|
||||
/*modeling_signals=*/std::nullopt, base::TimeDelta());
|
||||
|
||||
RunGenerateBidWithReturnValueExpectingResult(
|
||||
R"({ad: "ad", bid: 5,
|
||||
render: {url: "https://response.test/"},
|
||||
get numMandatoryAdComponents() {
|
||||
throw 'used numMandatoryAdComponents';
|
||||
}
|
||||
})",
|
||||
expected_bid->Clone());
|
||||
|
||||
RunGenerateBidWithReturnValueExpectingResult(
|
||||
R"({ad: "ad", bid: 5,
|
||||
render: {url: "https://response.test/"},
|
||||
get targetNumAdComponents() {
|
||||
throw 'used targetNumAdComponents';
|
||||
}
|
||||
})",
|
||||
expected_bid->Clone());
|
||||
}
|
||||
|
||||
// Make sure that fields that are only available with multibid on are read
|
||||
// when it's on. This is mostly meant to validate the multibid=off
|
||||
// version of the testcase; the actual functionality of the fields is tested
|
||||
|
@ -5309,7 +5309,8 @@ class ContextRecyclerRealTimeReportingEnabledTest : public ContextRecyclerTest {
|
||||
base::test::ScopedFeatureList scoped_feature_list_;
|
||||
};
|
||||
|
||||
// Exercise RealTimeReportingBindings.
|
||||
// Exercise RealTimeReportingBindings, and make sure they are not available when
|
||||
// kCookieDeprecationFacilitatedTesting is enabled.
|
||||
TEST_F(ContextRecyclerRealTimeReportingEnabledTest, RealTimeReportingBindings) {
|
||||
const char kScript[] = R"(
|
||||
function test(args) {
|
||||
@ -5696,4 +5697,79 @@ TEST_F(ContextRecyclerRealTimeReportingDisabledTest,
|
||||
}
|
||||
}
|
||||
|
||||
class ContextRecyclerRealTimeReportingAndCookieDeprecationEnabledTest
|
||||
: public ContextRecyclerTest {
|
||||
public:
|
||||
ContextRecyclerRealTimeReportingAndCookieDeprecationEnabledTest() {
|
||||
scoped_feature_list_.InitWithFeatures(
|
||||
/*enabled_features=*/{blink::features::kFledgeRealTimeReporting,
|
||||
features::kCookieDeprecationFacilitatedTesting},
|
||||
/*disabled_features=*/{});
|
||||
}
|
||||
|
||||
private:
|
||||
base::test::ScopedFeatureList scoped_feature_list_;
|
||||
};
|
||||
|
||||
// Exercise RealTimeReportingBindings, and make sure they reset properly.
|
||||
TEST_F(ContextRecyclerRealTimeReportingAndCookieDeprecationEnabledTest,
|
||||
RealTimeReportingBindings) {
|
||||
const char kScript[] = R"(
|
||||
function test(args) {
|
||||
realTimeReporting.contributeToHistogram(123,args);
|
||||
}
|
||||
function testLatency(args) {
|
||||
realTimeReporting.contributeOnWorkletLatency(200, args);
|
||||
}
|
||||
)";
|
||||
|
||||
v8::Local<v8::UnboundScript> script = Compile(kScript);
|
||||
ASSERT_FALSE(script.IsEmpty());
|
||||
|
||||
ContextRecycler context_recycler(helper_.get());
|
||||
{
|
||||
ContextRecyclerScope scope(context_recycler); // Initialize context
|
||||
context_recycler.AddRealTimeReportingBindings();
|
||||
}
|
||||
|
||||
{
|
||||
ContextRecyclerScope scope(context_recycler);
|
||||
std::vector<std::string> error_msgs;
|
||||
|
||||
gin::Dictionary dict = gin::Dictionary::CreateEmpty(helper_->isolate());
|
||||
dict.Set("priorityWeight", 0.5);
|
||||
|
||||
Run(scope, script, "test", error_msgs,
|
||||
gin::ConvertToV8(helper_->isolate(), dict));
|
||||
EXPECT_THAT(
|
||||
error_msgs,
|
||||
ElementsAre("https://example.test/script.js:3 Uncaught ReferenceError: "
|
||||
"realTimeReporting is not defined."));
|
||||
|
||||
EXPECT_TRUE(context_recycler.real_time_reporting_bindings()
|
||||
->TakeRealTimeReportingContributions()
|
||||
.empty());
|
||||
}
|
||||
|
||||
{
|
||||
ContextRecyclerScope scope(context_recycler);
|
||||
std::vector<std::string> error_msgs;
|
||||
|
||||
gin::Dictionary dict = gin::Dictionary::CreateEmpty(helper_->isolate());
|
||||
dict.Set("priorityWeight", 0.5);
|
||||
dict.Set("latencyThreshold", 200);
|
||||
|
||||
Run(scope, script, "testLatency", error_msgs,
|
||||
gin::ConvertToV8(helper_->isolate(), dict));
|
||||
EXPECT_THAT(
|
||||
error_msgs,
|
||||
ElementsAre("https://example.test/script.js:6 Uncaught ReferenceError: "
|
||||
"realTimeReporting is not defined."));
|
||||
|
||||
EXPECT_TRUE(context_recycler.real_time_reporting_bindings()
|
||||
->TakeRealTimeReportingContributions()
|
||||
.empty());
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace auction_worklet
|
||||
|
@ -106,8 +106,11 @@ RealTimeReportingBindings::~RealTimeReportingBindings() = default;
|
||||
|
||||
void RealTimeReportingBindings::AttachToContext(
|
||||
v8::Local<v8::Context> context) {
|
||||
// Don't enable real time reporting in Mode A/B traffic.
|
||||
if (!base::FeatureList::IsEnabled(
|
||||
blink::features::kFledgeRealTimeReporting)) {
|
||||
blink::features::kFledgeRealTimeReporting) ||
|
||||
base::FeatureList::IsEnabled(
|
||||
features::kCookieDeprecationFacilitatedTesting)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -9739,6 +9739,25 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"FencedFramesEnableCrossOriginEventReporting": [
|
||||
{
|
||||
"platforms": [
|
||||
"android",
|
||||
"chromeos",
|
||||
"linux",
|
||||
"mac",
|
||||
"windows"
|
||||
],
|
||||
"experiments": [
|
||||
{
|
||||
"name": "Enabled",
|
||||
"enable_features": [
|
||||
"FencedFramesCrossOriginEventReportingUnlabeledTraffic"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"FencedFramesEnableReportEventHeaderChanges": [
|
||||
{
|
||||
"platforms": [
|
||||
|
23
third_party/blink/common/features.cc
vendored
23
third_party/blink/common/features.cc
vendored
@ -54,6 +54,12 @@ BASE_FEATURE(kAdInterestGroupAPIRestrictedPolicyByDefault,
|
||||
"AdInterestGroupAPIRestrictedPolicyByDefault",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
// Allow DeprecatedRenderURLReplacements when
|
||||
// CookieDeprecationFacilitatedTesting is enabled.
|
||||
BASE_FEATURE(kAlwaysAllowFledgeDeprecatedRenderURLReplacements,
|
||||
"kAlwaysAllowFledgeDeprecatedRenderURLReplacements",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
// Block all MIDI access with the MIDI_SYSEX permission
|
||||
BASE_FEATURE(kBlockMidiByDefault,
|
||||
"BlockMidiByDefault",
|
||||
@ -827,9 +833,17 @@ BASE_FEATURE(kFencedFrames, "FencedFrames", base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
// subframes. This requires opt-in both from the cross-origin subframe that is
|
||||
// sending the beacon as well as the document that contains information about
|
||||
// the reportEvent() endpoints.
|
||||
BASE_FEATURE(kFencedFramesCrossOriginEventReporting,
|
||||
"FencedFramesCrossOriginEventReporting",
|
||||
// The "UnlabeledTraffic" flag only allows cross-origin reportEvent() beacons
|
||||
// for non-Mode A/B 3PCD Chrome-facilitated testing traffic. See the
|
||||
// "CookieDeprecationFacilitatedTesting" feature in
|
||||
// `content/public/common/content_features.cc` for more information.
|
||||
BASE_FEATURE(kFencedFramesCrossOriginEventReportingUnlabeledTraffic,
|
||||
"FencedFramesCrossOriginEventReportingUnlabeledTraffic",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
// The "AllTraffic" flag allows the feature for all traffic regardless of label.
|
||||
BASE_FEATURE(kFencedFramesCrossOriginEventReportingAllTraffic,
|
||||
"FencedFramesCrossOriginEventReportingAllTraffic",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
// Temporarily un-disable credentials on fenced frame automatic beacons until
|
||||
// third party cookie deprecation.
|
||||
@ -985,6 +999,11 @@ BASE_FEATURE_PARAM(int,
|
||||
&kFledgeNumberBidderWorkletGroupByOriginContextsToKeep,
|
||||
"GroupByOriginContextLimit",
|
||||
10);
|
||||
BASE_FEATURE_PARAM(bool,
|
||||
kFledgeNumberBidderWorkletContextsIncludeFacilitedTesting,
|
||||
&kFledgeNumberBidderWorkletGroupByOriginContextsToKeep,
|
||||
"IncludeFacilitatedTestingGroups",
|
||||
false);
|
||||
|
||||
BASE_FEATURE(kFledgeAlwaysReuseBidderContext,
|
||||
"FledgeAlwaysReuseBidderContext",
|
||||
|
14
third_party/blink/public/common/features.h
vendored
14
third_party/blink/public/common/features.h
vendored
@ -44,6 +44,9 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE_PARAM(int,
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(
|
||||
kAdInterestGroupAPIRestrictedPolicyByDefault);
|
||||
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(
|
||||
kAlwaysAllowFledgeDeprecatedRenderURLReplacements);
|
||||
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kLowerHighResolutionTimerThreshold);
|
||||
|
||||
// Allows running DevTools main thread debugger even when a renderer process
|
||||
@ -458,7 +461,9 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE_PARAM(bool,
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kFencedFrames);
|
||||
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(
|
||||
kFencedFramesCrossOriginEventReporting);
|
||||
kFencedFramesCrossOriginEventReportingUnlabeledTraffic);
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(
|
||||
kFencedFramesCrossOriginEventReportingAllTraffic);
|
||||
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(
|
||||
kFencedFramesAutomaticBeaconCredentials);
|
||||
@ -559,12 +564,17 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE_PARAM(
|
||||
// If kFledgeNumberBidderWorkletGroupByOriginContextsToKeep is enabled,
|
||||
// kFledgeNumberBidderWorkletGroupByOriginContextsToKeepValue sets the number of
|
||||
// previously-used group-by-origin contexts to keep in case they can be reused
|
||||
// in a bidder worklet. Defaulted to 1.
|
||||
// in a bidder worklet. Defaulted to 1. A non-default value will only
|
||||
// be used if kCookieDeprecationFacilitatedTesting is not enabled or if
|
||||
// kFledgeNumberBidderWorkletContextsIncludeFacilitedTesting is enabled.
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(
|
||||
kFledgeNumberBidderWorkletGroupByOriginContextsToKeep);
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE_PARAM(
|
||||
int,
|
||||
kFledgeNumberBidderWorkletGroupByOriginContextsToKeepValue);
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE_PARAM(
|
||||
bool,
|
||||
kFledgeNumberBidderWorkletContextsIncludeFacilitedTesting);
|
||||
|
||||
// Reuse a single V8 context to generate all bids in a bidder worklet.
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kFledgeAlwaysReuseBidderContext);
|
||||
|
@ -119,7 +119,10 @@ void Fence::reportEventToDestinationEnum(const FenceEvent* event,
|
||||
}
|
||||
if (event->crossOriginExposed() &&
|
||||
!base::FeatureList::IsEnabled(
|
||||
blink::features::kFencedFramesCrossOriginEventReporting)) {
|
||||
blink::features::
|
||||
kFencedFramesCrossOriginEventReportingUnlabeledTraffic) &&
|
||||
!base::FeatureList::IsEnabled(
|
||||
blink::features::kFencedFramesCrossOriginEventReportingAllTraffic)) {
|
||||
exception_state.ThrowTypeError(
|
||||
"'crossOriginExposed' is not supported with reportEvent().");
|
||||
return;
|
||||
@ -193,7 +196,10 @@ void Fence::reportEventToDestinationURL(const FenceEvent* event,
|
||||
}
|
||||
if (event->crossOriginExposed() &&
|
||||
!base::FeatureList::IsEnabled(
|
||||
blink::features::kFencedFramesCrossOriginEventReporting)) {
|
||||
blink::features::
|
||||
kFencedFramesCrossOriginEventReportingUnlabeledTraffic) &&
|
||||
!base::FeatureList::IsEnabled(
|
||||
blink::features::kFencedFramesCrossOriginEventReportingAllTraffic)) {
|
||||
exception_state.ThrowTypeError(
|
||||
"'crossOriginExposed' is not supported with reportEvent().");
|
||||
return;
|
||||
|
@ -1066,6 +1066,7 @@
|
||||
-virtual/fenced-frame-mparch/external/wpt/fenced-frame/permission-api-denied.https.html
|
||||
-virtual/fenced-frame-mparch/external/wpt/fenced-frame/prerender.https.html
|
||||
-virtual/fenced-frame-mparch/external/wpt/fenced-frame/resize-lock*
|
||||
-virtual/fledge-disable-cookie-deprecation-testing/external/wpt/fledge/tentative/component-ads.https.window.html?11-15
|
||||
-virtual/forced-high-contrast-colors/external/wpt/forced-colors-mode/backplate/forced-colors-mode-backplate-09.html
|
||||
-virtual/forced-high-contrast-colors/external/wpt/forced-colors-mode/forced-colors-mode-42.html
|
||||
-virtual/forced-high-contrast-colors/external/wpt/forced-colors-mode/forced-colors-mode-43.html
|
||||
|
20
third_party/blink/web_tests/VirtualTestSuites
vendored
20
third_party/blink/web_tests/VirtualTestSuites
vendored
@ -1502,6 +1502,26 @@
|
||||
],
|
||||
"expires": "Mar 1, 2025"
|
||||
},
|
||||
"This virtual suite disables CookieDeprecationFacilitatedTesting while",
|
||||
"enabling fledge flags, to test fledge features that are disabled when",
|
||||
"CookieDeprecationFacilitatedTesting is enabled.",
|
||||
{
|
||||
"prefix": "fledge-disable-cookie-deprecation-testing",
|
||||
"platforms": ["Linux", "Mac", "Win"],
|
||||
"owners": ["ybourouphael@google.com", "behamilton@google.com", "mmenke@chromium.org", "pauljensen@chromium.org", "qingxinwu@google.com"],
|
||||
"bases": [
|
||||
"external/wpt/fledge/tentative/deprecated-render-url-replacements.https.window.js",
|
||||
"external/wpt/fledge/tentative/auction-config-passed-to-worklets.https.window.js",
|
||||
"external/wpt/fledge/tentative/auction-config.https.window.js",
|
||||
"external/wpt/fledge/tentative/component-ads.https.window.js",
|
||||
"external/wpt/fledge/tentative/component-auction.https.window.js"
|
||||
],
|
||||
"args": [
|
||||
"--enable-features=InterestGroupStorage,PrivacySandboxAdsAPIsOverride,FencedFrames:implementation_type/mparch,FledgeConsiderKAnonymity",
|
||||
"--disable-features=CookieDeprecationFacilitatedTesting"
|
||||
],
|
||||
"expires": "Jan 1, 2025"
|
||||
},
|
||||
{
|
||||
"prefix": "fledge-bidding-and-auction",
|
||||
"platforms": [
|
||||
|
7
third_party/blink/web_tests/external/wpt/fledge/tentative/auction-config-passed-to-worklets.https.window_1-5-expected.txt
vendored
Normal file
7
third_party/blink/web_tests/external/wpt/fledge/tentative/auction-config-passed-to-worklets.https.window_1-5-expected.txt
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] AuctionConfig.deprecatedRenderURLReplacements with brackets.
|
||||
assert_true: Auction unexpectedly had no winner expected true got false
|
||||
[FAIL] AuctionConfig.deprecatedRenderURLReplacements with percents.
|
||||
assert_true: Auction unexpectedly had no winner expected true got false
|
||||
Harness: the test ran to completion.
|
||||
|
13
third_party/blink/web_tests/external/wpt/fledge/tentative/auction-config.https.window_1-5-expected.txt
vendored
Normal file
13
third_party/blink/web_tests/external/wpt/fledge/tentative/auction-config.https.window_1-5-expected.txt
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] deprecatedRenderURLReplacements without end bracket is invalid.
|
||||
assert_true: did not get expected error type: [object FencedFrameConfig] expected true got false
|
||||
[FAIL] deprecatedRenderURLReplacements without percents and brackets.
|
||||
assert_true: did not get expected error type: [object FencedFrameConfig] expected true got false
|
||||
[FAIL] deprecatedRenderURLReplacements without dollar sign.
|
||||
assert_true: did not get expected error type: [object FencedFrameConfig] expected true got false
|
||||
[FAIL] deprecatedRenderURLReplacements without start bracket is invalid.
|
||||
assert_true: did not get expected error type: [object FencedFrameConfig] expected true got false
|
||||
[FAIL] deprecatedRenderURLReplacements mix and match is invalid.
|
||||
assert_true: did not get expected error type: [object FencedFrameConfig] expected true got false
|
||||
Harness: the test ran to completion.
|
||||
|
7
third_party/blink/web_tests/external/wpt/fledge/tentative/auction-config.https.window_11-15-expected.txt
vendored
Normal file
7
third_party/blink/web_tests/external/wpt/fledge/tentative/auction-config.https.window_11-15-expected.txt
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] perBuyerRealTimeReportingConfig has invalid buyer
|
||||
assert_true: did not get expected error: [object FencedFrameConfig] expected true got false
|
||||
[FAIL] perBuyerRealTimeReportingConfig has no type
|
||||
assert_true: did not get expected error: [object FencedFrameConfig] expected true got false
|
||||
Harness: the test ran to completion.
|
||||
|
11
third_party/blink/web_tests/external/wpt/fledge/tentative/auction-config.https.window_6-10-expected.txt
vendored
Normal file
11
third_party/blink/web_tests/external/wpt/fledge/tentative/auction-config.https.window_6-10-expected.txt
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] deprecatedRenderURLReplacements missing start percent is invalid.
|
||||
assert_true: did not get expected error type: [object FencedFrameConfig] expected true got false
|
||||
[FAIL] deprecatedRenderURLReplacements single percents is invalid.
|
||||
assert_true: did not get expected error type: [object FencedFrameConfig] expected true got false
|
||||
[FAIL] deprecatedRenderURLReplacements without end percents is invalid.
|
||||
assert_true: did not get expected error type: [object FencedFrameConfig] expected true got false
|
||||
[FAIL] sellerRealTimeReportingConfig has no type
|
||||
assert_true: did not get expected error: [object FencedFrameConfig] expected true got false
|
||||
Harness: the test ran to completion.
|
||||
|
11
third_party/blink/web_tests/external/wpt/fledge/tentative/component-ads.https.window_16-last-expected.txt
vendored
Normal file
11
third_party/blink/web_tests/external/wpt/fledge/tentative/component-ads.https.window_16-last-expected.txt
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] component ad with render url replacements with percents.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=%%EXAMPLE-MACRO%%/" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=SSP/", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_post&id=bidder_beacon_1, body: ok"]
|
||||
[FAIL] component ad with render url replacements with brackets.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=${EXAMPLE-MACRO}/" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=SSP/", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_post&id=bidder_beacon_1, body: ok"]
|
||||
[FAIL] component ad with render url replacements with multiple replacements.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=${EXAMPLE-MACRO-1}/%%EXAMPLE-MACRO-2%%/" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=SSP-1/SSP-2/", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_post&id=bidder_beacon_1, body: ok"]
|
||||
[FAIL] component ad with render url replacements with multiple replacements, and multiple component ads.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=${EXAMPLE-MACRO-1}/%%EXAMPLE-MACRO-2%%/" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=SSP-1/SSP-2/", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=SSP-1/SSP-2/", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=SSP-1/SSP-2/", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_post&id=bidder_beacon_1, body: ok"]
|
||||
Harness: the test ran to completion.
|
||||
|
11
third_party/blink/web_tests/external/wpt/fledge/tentative/component-auction.https.window_16-last-expected.txt
vendored
Normal file
11
third_party/blink/web_tests/external/wpt/fledge/tentative/component-auction.https.window_16-last-expected.txt
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] Replacements with brackets.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=${EXAMPLE-MACRO}/" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=SSP/", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=bidder_report_1", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=seller_report_component", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=seller_report_top"]
|
||||
[FAIL] Replacements with percents.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=%%EXAMPLE-MACRO%%/" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=SSP/", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=bidder_report_1", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=seller_report_component", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=seller_report_top"]
|
||||
[FAIL] Replacements with multiple replacements.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=${EXAMPLE-MACRO1}/%%EXAMPLE-MACRO2%%/" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=SSP1/SSP2/", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=bidder_report_1", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=seller_report_component", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=seller_report_top"]
|
||||
[FAIL] deprecatedRenderURLReplacements cause error if passed in top level auction and component auction.
|
||||
promise_test: Unhandled rejection with value: "Exception unexpectedly not thrown."
|
||||
Harness: the test ran to completion.
|
||||
|
13
third_party/blink/web_tests/external/wpt/fledge/tentative/deprecated-render-url-replacements.https.window_1-5-expected.txt
vendored
Normal file
13
third_party/blink/web_tests/external/wpt/fledge/tentative/deprecated-render-url-replacements.https.window_1-5-expected.txt
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] Replacements with brackets.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=${EXAMPLE-MACRO}" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=SSP", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=bidder_report_1", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=seller_report_1"]
|
||||
[FAIL] Replacements with percents.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=%%EXAMPLE-MACRO%%" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=SSP", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=bidder_report_1", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=seller_report_1"]
|
||||
[FAIL] Multiple replacements within a URL.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=${EXAMPLE-MACRO1}/%%EXAMPLE-MACRO2%%" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=SSP1/SSP2", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=bidder_report_1", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=seller_report_1"]
|
||||
[FAIL] Recursive and reduce size with brackets.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=${${${1}}}" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=${${1}}", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=bidder_report_1", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=seller_report_1"]
|
||||
[FAIL] Recursive and increase size with brackets.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=${1}" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=${${1}}", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=bidder_report_1", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=seller_report_1"]
|
||||
Harness: the test ran to completion.
|
||||
|
11
third_party/blink/web_tests/external/wpt/fledge/tentative/deprecated-render-url-replacements.https.window_11-15-expected.txt
vendored
Normal file
11
third_party/blink/web_tests/external/wpt/fledge/tentative/deprecated-render-url-replacements.https.window_11-15-expected.txt
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] Replacements use a single pass with percents.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=%%1%%%%2%%" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=%%2%%%%1%%", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=bidder_report_1", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=seller_report_1"]
|
||||
[FAIL] Multiple instances of same substitution string with percents.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=%%1%%%%1%%" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=%%2%%%%2%%", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=bidder_report_1", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=seller_report_1"]
|
||||
[FAIL] Case sensativity.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=%%FOO%%%%foo%%" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=%%FOO%%%%bar%%", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=bidder_report_1", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=seller_report_1"]
|
||||
[FAIL] Super macro, a macro with a macro inside it basically, with percents.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=%%%%foo%%%%" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=bidder_report_1", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=foo", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=seller_report_1"]
|
||||
Harness: the test ran to completion.
|
||||
|
7
third_party/blink/web_tests/external/wpt/fledge/tentative/deprecated-render-url-replacements.https.window_16-last-expected.txt
vendored
Normal file
7
third_party/blink/web_tests/external/wpt/fledge/tentative/deprecated-render-url-replacements.https.window_16-last-expected.txt
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] Super macro, with brackets.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=${${foo}}" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=bidder_report_1", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=foo", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=seller_report_1"]
|
||||
[FAIL] Super macro, with both.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=${%%foo%%}%%${bar}%%" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=bidder_report_1", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=foobar", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=seller_report_1"]
|
||||
Harness: the test ran to completion.
|
||||
|
11
third_party/blink/web_tests/external/wpt/fledge/tentative/deprecated-render-url-replacements.https.window_6-10-expected.txt
vendored
Normal file
11
third_party/blink/web_tests/external/wpt/fledge/tentative/deprecated-render-url-replacements.https.window_6-10-expected.txt
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] Replacements use a single pass with brackets.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=${1}${2}" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=${2}${1}", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=bidder_report_1", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=seller_report_1"]
|
||||
[FAIL] Multiple instances of same substitution string with brackets.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id={${1}${1}}" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=bidder_report_1", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=seller_report_1", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id={${2}${2}}"]
|
||||
[FAIL] Recursive and reduce size with percents.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=%%%%1%%%%" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=%%1%%", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=bidder_report_1", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=seller_report_1"]
|
||||
[FAIL] Recursive and increase size with percents.
|
||||
assert_in_array: value "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=%%1%%" not in array ["https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=%%%%1%%%%", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=bidder_report_1", "https://web-platform.test:8444/fledge/tentative/resources/request-tracker.py?uuid=<uuid>&dispatch=track_get&id=seller_report_1"]
|
||||
Harness: the test ran to completion.
|
||||
|
@ -33,7 +33,6 @@ subsetTest(promise_test, async test => {
|
||||
"adComponentsLimit": 40,
|
||||
"joinCount": 1,
|
||||
"bidCount": 0,
|
||||
"multiBidLimit": 1,
|
||||
"prevWinsMs": []
|
||||
}
|
||||
let biddingLogicURL = createBiddingScriptURL(
|
||||
|
13
third_party/blink/web_tests/external/wpt/fledge/tentative/real-time-reporting.https.window_1-5-expected.txt
vendored
Normal file
13
third_party/blink/web_tests/external/wpt/fledge/tentative/real-time-reporting.https.window_1-5-expected.txt
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] Real time reporting different buyer and seller both opted-in and called api.
|
||||
assert_true: Auction unexpectedly had no winner expected true got false
|
||||
[FAIL] Real time reporting buyer opted-in but not seller.
|
||||
assert_true: Auction unexpectedly had no winner expected true got false
|
||||
[FAIL] Real time reporting seller opted-in but not buyer.
|
||||
assert_true: Auction unexpectedly had no winner expected true got false
|
||||
[FAIL] Real time reporting different buyer and seller both opted-in but did not call api.
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Cannot read properties of null (reading 'length')"
|
||||
[FAIL] Real time reporting both called api but did not opt-in.
|
||||
assert_true: Auction unexpectedly had no winner expected true got false
|
||||
Harness: the test ran to completion.
|
||||
|
9
third_party/blink/web_tests/external/wpt/fledge/tentative/real-time-reporting.https.window_6-last-expected.txt
vendored
Normal file
9
third_party/blink/web_tests/external/wpt/fledge/tentative/real-time-reporting.https.window_6-last-expected.txt
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] Real time reporting buyer and seller same origin.
|
||||
assert_true: Auction unexpectedly had no winner expected true got false
|
||||
[FAIL] Real time reporting both winning and losing buyers opted-in.
|
||||
assert_true: Auction unexpectedly had no winner expected true got false
|
||||
[FAIL] Real time reporting one buyer opted-in but not the other.
|
||||
assert_true: Auction unexpectedly had no winner expected true got false
|
||||
Harness: the test ran to completion.
|
||||
|
6
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/DIR_METADATA
vendored
Normal file
6
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/DIR_METADATA
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
monorail: {
|
||||
component: "Chromium > Blink > InterestGroups"
|
||||
}
|
||||
buganizer_public: {
|
||||
component_id: 1456359
|
||||
}
|
9
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/README.md
vendored
Normal file
9
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/README.md
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
This directory is to test some Protected Audience (https://github.com/WICG/turtledove/blob/main/FLEDGE.md) features with `CookieDeprecationFacilitatedTesting` turned off.
|
||||
|
||||
If the `CookieDeprecationFacilitatedTesting` flag is on, we turn off:
|
||||
* `FledgeDeprecatedRenderURLReplacements`.
|
||||
* `FledgeRealTimeReporting`
|
||||
|
||||
This virtual test is needed to disable `CookieDeprecationFacilitatedTesting` to allow for:
|
||||
* `FledgeDeprecatedRenderURLReplacements` to be enabled to test deprecatedRenderURLReplacements.
|
||||
* `FledgeRealTimeReporting` to be enabled to test real time reporting API.
|
3
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/external/wpt/fledge/tentative/auction-config-passed-to-worklets.https.window_1-5-expected.txt
vendored
Normal file
3
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/external/wpt/fledge/tentative/auction-config-passed-to-worklets.https.window_1-5-expected.txt
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
This is a testharness.js-based test.
|
||||
Harness: the test ran to completion.
|
||||
|
3
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/external/wpt/fledge/tentative/auction-config.https.window_1-5-expected.txt
vendored
Normal file
3
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/external/wpt/fledge/tentative/auction-config.https.window_1-5-expected.txt
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
This is a testharness.js-based test.
|
||||
Harness: the test ran to completion.
|
||||
|
3
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/external/wpt/fledge/tentative/auction-config.https.window_11-15-expected.txt
vendored
Normal file
3
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/external/wpt/fledge/tentative/auction-config.https.window_11-15-expected.txt
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
This is a testharness.js-based test.
|
||||
Harness: the test ran to completion.
|
||||
|
3
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/external/wpt/fledge/tentative/auction-config.https.window_6-10-expected.txt
vendored
Normal file
3
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/external/wpt/fledge/tentative/auction-config.https.window_6-10-expected.txt
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
This is a testharness.js-based test.
|
||||
Harness: the test ran to completion.
|
||||
|
3
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/external/wpt/fledge/tentative/component-ads.https.window_16-last-expected.txt
vendored
Normal file
3
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/external/wpt/fledge/tentative/component-ads.https.window_16-last-expected.txt
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
This is a testharness.js-based test.
|
||||
Harness: the test ran to completion.
|
||||
|
3
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/external/wpt/fledge/tentative/component-auction.https.window_16-last-expected.txt
vendored
Normal file
3
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/external/wpt/fledge/tentative/component-auction.https.window_16-last-expected.txt
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
This is a testharness.js-based test.
|
||||
Harness: the test ran to completion.
|
||||
|
3
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/external/wpt/fledge/tentative/deprecated-render-url-replacements.https.window_1-5-expected.txt
vendored
Normal file
3
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/external/wpt/fledge/tentative/deprecated-render-url-replacements.https.window_1-5-expected.txt
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
This is a testharness.js-based test.
|
||||
Harness: the test ran to completion.
|
||||
|
3
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/external/wpt/fledge/tentative/deprecated-render-url-replacements.https.window_11-15-expected.txt
vendored
Normal file
3
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/external/wpt/fledge/tentative/deprecated-render-url-replacements.https.window_11-15-expected.txt
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
This is a testharness.js-based test.
|
||||
Harness: the test ran to completion.
|
||||
|
3
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/external/wpt/fledge/tentative/deprecated-render-url-replacements.https.window_16-last-expected.txt
vendored
Normal file
3
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/external/wpt/fledge/tentative/deprecated-render-url-replacements.https.window_16-last-expected.txt
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
This is a testharness.js-based test.
|
||||
Harness: the test ran to completion.
|
||||
|
3
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/external/wpt/fledge/tentative/deprecated-render-url-replacements.https.window_6-10-expected.txt
vendored
Normal file
3
third_party/blink/web_tests/virtual/fledge-disable-cookie-deprecation-testing/external/wpt/fledge/tentative/deprecated-render-url-replacements.https.window_6-10-expected.txt
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
This is a testharness.js-based test.
|
||||
Harness: the test ran to completion.
|
||||
|
Reference in New Issue
Block a user