Skip to content

Commit

Permalink
Bug 1925059 [wpt PR 48650] - [shared storage] Implement interestGroup…
Browse files Browse the repository at this point in the history
…(), a=testonly

Automatic update from web-platform-tests
[shared storage] Implement interestGroup()

Add interestGroups() to the shared storage worklet, to return the
Protected Audience interest groups associated with the
shared storage origin's owner, with some additional metadata.

Implement this behind a runtime feature, which is implicitly
controlled by a Finch flag.

Explainer PR: WICG/shared-storage#180

Spec PR(s):
1) WICG/turtledove#1299
2) WICG/shared-storage#203

Bug: 367992703
Binary-Size: Size increase is unavoidable.
Fuchsia-Binary-Size: Size increase is unavoidable.
Change-Id: I5fc5767fa53a91f021d64a871a6dd9cb88f4431c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5696046
Reviewed-by: Daniel Cheng <[email protected]>
Commit-Queue: Yao Xiao <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1369483}

--

wpt-commits: eb87bbbacf996ab46607538a72ea0adaee229e7a
wpt-pr: 48650
  • Loading branch information
yaoxiachromium authored and moz-wptsync-bot committed Oct 18, 2024
1 parent 1694c02 commit 089aa6a
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<!doctype html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/utils.js"></script>
<script src="/shared-storage/resources/util.js"></script>
<script src="/fenced-frame/resources/utils.js"></script>

<body>
<script>
'use strict';

promise_test(async t => {
const ig = {
owner: window.location.origin,
name: 'default name',
lifetimeMs: 100000
};

await navigator.joinAdInterestGroup(ig);
await sharedStorage.worklet.addModule('resources/simple-module.js');

const ancestor_key = token();
let url0 = generateURL("/shared-storage/resources/frame0.html",
[ancestor_key]);
let url1 = generateURL("/shared-storage/resources/frame1.html",
[ancestor_key]);

let select_url_result = await sharedStorage.selectURL(
"verify-interest-groups", [{url: url0}, {url: url1}],
{data: {'expectedOwner': ig.owner, 'expectedName': ig.name},
resolveToConfig: true});
assert_true(validateSelectURLResult(select_url_result, true));
attachFencedFrame(select_url_result, 'opaque-ads');
const result = await nextValueFromServer(ancestor_key);

// This indicates that `interestGroups()` returns expected result.
assert_equals(result, "frame1_loaded");
}, 'Basic test for `interestGroups()` in the shared storage worklet');

</script>
</body>
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,35 @@ class VerifyKeyNotFound {
}
}

class VerifyInterestGroups {
async run(urls, data) {
if (data &&
data.hasOwnProperty('expectedOwner') &&
data.hasOwnProperty('expectedName')) {

const groups = await interestGroups();

if (groups.length !== 1) {
return -1;
}

if (groups[0]["owner"] !== data['expectedOwner']) {
return -1;
}

if (groups[0]["name"] !== data['expectedName']) {
return -1;
}

return 1;
}
return -1;
}
}

register('test-url-selection-operation', TestURLSelectionOperation);
register('increment-global-variable-and-return-original-value-operation',
IncrementGlobalVariableAndReturnOriginalValueOperation);
register('verify-key-value', VerifyKeyValue);
register('verify-key-not-found', VerifyKeyNotFound);
register('verify-interest-groups', VerifyInterestGroups);

0 comments on commit 089aa6a

Please sign in to comment.