Skip to content

Commit

Permalink
Reland "Add WPT for navigation-source trigger-data sanitization"
Browse files Browse the repository at this point in the history
This is a reland of commit c2f01ae
with a long timeout and a variant for testing event-source
trigger-data sanitization as well.

Original change's description:
> Add WPT for navigation-source trigger-data sanitization
>
> Change-Id: I45c9cf107f7ee9504c18088f371b2be743fcdc99
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3714400
> Commit-Queue: Andrew Paseltiner <apaseltiner@chromium.org>
> Quick-Run: Andrew Paseltiner <apaseltiner@chromium.org>
> Reviewed-by: Nan Lin <linnan@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1016840}

Change-Id: Icc06fc6c2a06cf92ab387c6d4b00e848ca6fd655
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3721475
Commit-Queue: Andrew Paseltiner <apaseltiner@chromium.org>
Quick-Run: Andrew Paseltiner <apaseltiner@chromium.org>
Reviewed-by: Nan Lin <linnan@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1018695}
  • Loading branch information
Andrew Paseltiner authored and Chromium LUCI CQ committed Jun 28, 2022
1 parent fd07534 commit 6fe0192
Showing 1 changed file with 52 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<!doctype html>
<meta charset=utf-8>
<meta name=timeout content=long>
<meta name=variant content="?source-type=event">
<meta name=variant content="?source-type=navigation">
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/helpers.js"></script>
<script>
const sourceTypes = {
event: {
method: 'img',
cardinality: 2,
},
navigation: {
method: 'open',
cardinality: 8,
},
};

const sourceType = (new URLSearchParams(location.search)).get('source-type');

const {method, cardinality} = sourceTypes[sourceType];

const trigger_data_cardinality_promise_test = value =>
attribution_reporting_promise_test(async t => {
await registerAttributionSrc(t, {
source: {
source_event_id: '999',
destination: `https://{{host}}`,
},
method,
});

registerAttributionSrc(t, {trigger: {
event_trigger_data: [{trigger_data: `${value}`}],
}});

const payload = await pollEventLevelReports();
assert_equals(payload.reports.length, 1);
const report = JSON.parse(payload.reports[0].body);

const expected = value % cardinality;
assert_equals(report.trigger_data, `${expected}`);
}, `Trigger data ${value} is sanitized for source type ${sourceType}.`);

for (let i = 0; i < cardinality * 2; i++) {
trigger_data_cardinality_promise_test(i);
}
</script>

0 comments on commit 6fe0192

Please sign in to comment.