gecko-dev/testing
Liam Brady 1f812d682c Bug 1864536 [wpt PR 43125] - Allow cross-origin subframes to send automatic beacons., a=testonly
Automatic update from web-platform-tests
Allow cross-origin subframes to send automatic beacons.

Fenced frames can send out reporting beacons if an event occurs.
However, only same-origin documents are allowed to send automatic
beacons. This restriction is problematic when a subframe from a
third-party ad server is embedded in an ad loaded with a script from
that server. One such use case is when an ad frame embeds a subframe
that loads the actual contents of an ad. This is known as Third-party ad
serving, or 3PAS.

The solution to allow cross-origin subframes to send automatic beacons
involves four parts: subframes will opt in through a header, the main ad
frame will opt in to allow cross-origin subframes to use its automatic
beacon data when sending automatic beacons, the subframe will then be
able to use the automatic beacon data that is stored in its frame tree's
FencedFrameConfig, and the automatic beacon data will be stored
per-document rather than per-fenced frame config.

The opt-in mechanism for the main ad frame's data is a new
"crossOriginExposed" parameter in
`setReportEventDataForAutomaticBeacons()`, which defaults to false.

The opt-in mechanism for the cross-origin subframe is done through a new
"Allow-Fenced-Frame-Automatic-Beacons" response header.

The reason for storing the beacon data per-document is a security one.
With the current setup, a same-origin subframe of an ad frame could set
automatic beacon data, and a different cross-origin subframe could then
use that data. Since those two frames are not direct descendants of each
other, we want to prevent that behavior, and instead only allow
documents to use opted in data set by direct ancestors.

This CL also modifies the automatic beacon web platform tests to
properly handle multiple beacons being sent with the same data. The
automatic beacon store endpoint now accepts a "beacon type" parameter
that is added to the hash when storing/retrieving a beacon. This will
prevent collisions if two beacons with different types are sent with
the same data.

Change-Id: I4af9d7ef34732dcd56c4f6bcf677f48956f7968c
Bug: 1504306
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5018876
Reviewed-by: Dominic Farolino <dom@chromium.org>
Reviewed-by: Garrett Tanzer <gtanzer@chromium.org>
Commit-Queue: Liam Brady <lbrady@google.com>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1234109}

--

wpt-commits: 458d51295af838f04608bda0dc912aaf88bc1de3
wpt-pr: 43125
2023-12-14 09:31:43 +00:00
..
awsy
condprofile Bug 1859549 - Remove from condprof util.py call to install unpacked xpi in the generated condprofile. r=sparky 2023-12-06 20:27:42 +00:00
config Bug 1682371 - mach skipfails part 1: add dependencies r=jmaher,mach-reviewers,ahal 2023-11-29 00:12:23 +00:00
crashtest
docs Bug 1519636 - Remove nbsp in the perfdoc doc r=perftest-reviewers,aglavic,jmaher 2023-12-07 13:35:58 +00:00
extensions
firefox-ui
geckodriver Bug 1868980 - Avoid base include flags spreading to the cc crate. r=firefox-build-system-reviewers,ahochheiden 2023-12-12 20:40:08 +00:00
gtest
jsshell
marionette Bug 1840493 - doc/rst: fix some languages declaration r=firefox-source-docs-reviewers,webdriver-reviewers,necko-reviewers,geckoview-reviewers,devtools-reviewers,profiler-reviewers,championshuttler,whimboo,nchevobbe,julienw,amejiamarmol 2023-12-13 18:32:20 +00:00
mochitest Bug 1519636 - Reformat recent changes to the Google coding style r=emilio,media-playback-reviewers,padenot 2023-12-04 10:09:36 +00:00
modules Bug 1859896 - Batch 16 - convert xpcshell.ini -> .toml. r=aryx,webdriver-reviewers 2023-11-25 21:08:44 +00:00
mozbase Bug 1867718: apply code formatting via Lando 2023-12-05 01:59:41 +00:00
mozharness Bug 1864106 - Make raptor.py Python 3.11 compatible. r=perftest-reviewers,kshampur 2023-12-07 02:10:03 +00:00
perfdocs Bug 1869418 - Run speedometer3 and unity tests as a benchmark test in Android r=kshampur,perftest-reviewers 2023-12-13 19:25:29 +00:00
performance Bug 1863130 - Re-record twitch, and imgur to fix LCP issues. r=perftest-reviewers,afinder 2023-11-30 20:04:45 +00:00
profiles Bug 1869343 - Enable support for http2 websockets for web-platform tests. r=valentin,jgraham 2023-12-12 08:05:16 +00:00
raptor Bug 1869418 - Run speedometer3 and unity tests as a benchmark test in Android r=kshampur,perftest-reviewers 2023-12-13 19:25:29 +00:00
runtimes
specialpowers Bug 1866011 p2. Rename nsIDocShell.contentViewer. r=emilio,credential-management-reviewers,devtools-reviewers,sgalich 2023-11-24 09:10:52 +00:00
talos Bug 1519636 - Remove nbsp in the perfdoc doc r=perftest-reviewers,aglavic,jmaher 2023-12-07 13:35:58 +00:00
test Bug 1682371 - mach skipfails part 1: add dependencies r=jmaher,mach-reviewers,ahal 2023-11-29 00:12:23 +00:00
tools
tps
web-platform Bug 1864536 [wpt PR 43125] - Allow cross-origin subframes to send automatic beacons., a=testonly 2023-12-14 09:31:43 +00:00
webcompat
webdriver Bug 1866776 - [webdriver] Remove "UnknownPath" error (not in specification) from webdriver r=webdriver-reviewers,jgraham 2023-12-13 10:34:56 +00:00
xpcshell Bug 1868250 - Don't stop reading from the pipe when the process is dead. r=releng-reviewers,ahal 2023-12-05 22:53:46 +00:00
addtest.py
cppunittest.ini Bug 1866562 - Make MSVC-style architecture constants consistent in mingwclang builds. r=tjr 2023-12-11 11:01:34 +00:00
mach_commands.py Bug 1682371 - mach skipfails part 1: add dependencies r=jmaher,mach-reviewers,ahal 2023-11-29 00:12:23 +00:00
moz.build Bug 1682371 - mach skipfails part 1: add dependencies r=jmaher,mach-reviewers,ahal 2023-11-29 00:12:23 +00:00
parse_build_tests_ccov.py
README.txt
remotecppunittests.py
runcppunittests.py
skipfails.py Bug 1682371 - mach skipfails part 1: add dependencies r=jmaher,mach-reviewers,ahal 2023-11-29 00:12:23 +00:00
testinfo.py Bug 1867439 - fix issue with testinfo for new days. r=gbrown 2023-11-30 21:45:02 +00:00
testsuite-targets.mk

Common testing tools for mozilla codebase projects, test suite definitions
for automated test runs, tests that don't fit anywhere else, and other fun
stuff