tree db5b3684c06f3dbc562cbcf1ab3af73bdbc8a6d5
parent e7c65660d5183d41a1c1330f9615f40dbe6f447e
author jjgriego <84215144+jjgriego@users.noreply.github.com> 1649084626 -0400
committer GitHub <noreply@github.com> 1649084626 -0400
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJiSwjSCRBK7hj4Ov3rIwAAnpoIAJwzbFsILOufULbYdpw8TgAS
 yZfMe9uSUx9WCVhwR1vh4IbmFAamJCTsWOn/goG5FZ6yAd8V/v1GDbSm/i3HCZVB
 z/bj1Fiy9D/5a9JJZGV6cXO7AhLmrgqDdmMPxTObHuibWsYKXDRxxAvsPfD8SBEd
 GPrDZ8X4nnZcJj1pSBqCTuKMdex/yIFDj6YmcR2D6/xADmfpFQTCPdCRTdMis0pe
 QYd3897tjDbr9UiDLLMx8dJzFyqCWicOCV6HexQeWQQFBxZ5BLmOYpbpBkEXMFFE
 NNKR2EJs0N6H5ry47cUikGzPRcfLW98GT5pGXSJ1rhWZux6kWSOdw+ZD7ZJ3vXE=
 =FyiU
 -----END PGP SIGNATURE-----
 

Add `shadowrealm` support in testharness.js (#33162)

* Add `shadowrealm` support in testharness.js

This commit adds support to run `any.js` tests in Shadow
Realm (https://github.com/tc39/proposal-shadowrealm) contexts--

Shadow realms are a new sandboxing primitive, currently a state 3 proposal in
TC39 and in the process of being integrated into relevant Web specifications;
part of this extends some computational-only Web interfaces to shadow
realms (which otherwise do not have browser APIs and more closely resemble a
vanilla JS shell environment.) I think it makes sense to extend WPT tests for
these interfaces to also run in shadow realm contexts, so we can be assured they
still work there.

---

To accomplish this, I add a new `ShadowRealmTestEnvironment` to `testharness.js`
that reuses the existing machinery to run tests remotely in e.g. dedicated
workers. There are however, two main differences:

- Shadow realms are not DOM contexts and so have no `onload` or similar event
for us to use to actually begin test aggregation; instead, I add a new hook for
the incubating realm to directly call to signal that all desired tests have been
loaded.

- The actual message port used to communicate test results back to a
`RemoteContext` requires JSON-serialization of the mesasges (primitive values
and callables may cross between a shadow- and incubating realm, but not
arbitrary objects): it *happens* that this works correctly given the current
encodings of Test, harness state, etc. are JSON-round-trippable, but this would
become a hard requirement from this point forward.

---

There's also one loose end at present: it's unclear (to me) given the current
state of the way Shadow Realms are integrated into the HTML spec how we might be
able to deal with unhandled promise rejections. It happens, for now, that they
will be handed by the incubating `Window`'s `unhandledrejection` handler, which
is installed by the parent test harness, and prints to the console. This seems
acceptable for the time being, but may need to change as the spec is clarified.

* Fix style + typo