9135859a91
As per https://tc39.es/ecma262/#sec-hostimportmoduledynamically defined, referencingScriptOrModule in HostImportModuleDynamically can be a Script Record, a Module Record, or null. So to https://tc39.es/proposal-shadowrealm/#sec-shadowrealmimportvalue, the HostImportModuleDynamicallyCallback is been invoked with a `null` resource_name. This may not be considered a breaking change as the parameter resource_name is defined as Local<Value>. Updates d8's DoHostImportModuleDynamically to handle null resource_name, and resolve the dynamically imported specifier relative to the executing script's origin. In this way, we have to set ModuleEmbedderData.origin even if the JavaScript source to be evaluated is Script. Also, a ModuleEmbedderData is created for each ShadowRealm to separate their module maps from the initiator context's. Bug: v8:11989 Change-Id: If70fb140657da4f2dd92eedfcc4515211602aa46 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3522883 Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Chengzhong Wu <legendecas@gmail.com> Cr-Commit-Position: refs/heads/main@{#80118} |
||
---|---|---|
.. | ||
local-tests/test | ||
BUILD.gn | ||
detachArrayBuffer.js | ||
harness-adapt-donotevaluate.js | ||
harness-adapt.js | ||
harness-agent.js | ||
harness-ishtmldda.js | ||
OWNERS | ||
prune-local-tests.sh | ||
README | ||
test262.status | ||
testcfg.py | ||
upstream-local-tests.sh |
This directory contains code for binding the test262 test suite into the v8 test harness. The tests are checked out as a dependency from https://chromium.googlesource.com/external/github.com/tc39/test262 at a revision specified in the DEPS file as 'data' in this directory. They are fetched with 'gclient sync'. To update to a newer version, please change the DEPS file. Using a newer version, e.g. 'deadbeef' may be possible but the tests are only known to pass (and indeed run) with the DEPS revision. Example: cd data git fetch git checkout deadbeef If you do update to a newer revision you may have to change the test harness adapter code since it uses internal functionality from the harness that comes bundled with the tests. You will most likely also have to update the test expectation file.