diff options
author | bors-servo <servo-ops@mozilla.com> | 2020-06-16 17:27:07 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-16 17:27:07 -0400 |
commit | 596e9105c54e1a6b64aacda1e169b5167c68a6f6 (patch) | |
tree | 1cdb9bd653ee04b1317ffa03075617b02bd01582 | |
parent | b4c2d3b717130a81484c40d2548544f484e44b9c (diff) | |
parent | 83578265b456d53f62e1d71378b6d84fc853ca54 (diff) | |
download | servo-596e9105c54e1a6b64aacda1e169b5167c68a6f6.tar.gz servo-596e9105c54e1a6b64aacda1e169b5167c68a6f6.zip |
Auto merge of #26875 - servo:jdm-patch-44, r=gterzian
Don't pretend we support SharedArrayBuffer.
Fixes #26874.
14 files changed, 75 insertions, 18 deletions
diff --git a/components/script/dom/bindings/interface.rs b/components/script/dom/bindings/interface.rs index 1ef57bf5409..5fb67c64335 100644 --- a/components/script/dom/bindings/interface.rs +++ b/components/script/dom/bindings/interface.rs @@ -137,7 +137,7 @@ pub unsafe fn create_global_object( let mut options = RealmOptions::default(); options.creationOptions_.traceGlobal_ = Some(trace); - options.creationOptions_.sharedMemoryAndAtomics_ = true; + options.creationOptions_.sharedMemoryAndAtomics_ = false; options.creationOptions_.streams_ = true; rval.set(JS_NewGlobalObject( diff --git a/components/script/script_runtime.rs b/components/script/script_runtime.rs index 4cf2055c649..dc51330cf91 100644 --- a/components/script/script_runtime.rs +++ b/components/script/script_runtime.rs @@ -45,7 +45,6 @@ use js::jsapi::ContextOptionsRef; use js::jsapi::GetPromiseUserInputEventHandlingState; use js::jsapi::InitConsumeStreamCallback; use js::jsapi::InitDispatchToEventLoop; -use js::jsapi::JS_SetFutexCanWait; use js::jsapi::MimeType; use js::jsapi::PromiseUserInputEventHandlingState; use js::jsapi::StreamConsumer as JSStreamConsumer; @@ -451,14 +450,6 @@ unsafe fn new_rt_and_cx_with_parent( let (cx, runtime) = if let Some(parent) = parent { let runtime = RustRuntime::create_with_parent(parent); let cx = runtime.cx(); - - // Note: this enables blocking on an Atomics.wait, - // which should only be enabled for an agent whose [[CanBlock]] is true. - // Currently only a dedicated worker agent uses a parent, - // and this agent can block. - // See https://html.spec.whatwg.org/multipage/#integration-with-the-javascript-agent-cluster-formalism - JS_SetFutexCanWait(cx); - (cx, runtime) } else { let runtime = RustRuntime::new(JS_ENGINE.lock().unwrap().as_ref().unwrap().clone()); diff --git a/tests/wpt/include.ini b/tests/wpt/include.ini index 2394e6020d3..6125495f93f 100644 --- a/tests/wpt/include.ini +++ b/tests/wpt/include.ini @@ -91,6 +91,12 @@ skip: true skip: true [cross-origin-opener-policy] skip: true + [infrastructure] + skip: false + [safe-passing-of-structured-data] + skip: false + [shared-array-buffers] + skip: true [semantics] skip: false [document-metadata] diff --git a/tests/wpt/metadata/encoding/encodeInto.any.js.ini b/tests/wpt/metadata/encoding/encodeInto.any.js.ini index 20c03de93ac..69c76f4c382 100644 --- a/tests/wpt/metadata/encoding/encodeInto.any.js.ini +++ b/tests/wpt/metadata/encoding/encodeInto.any.js.ini @@ -1,4 +1,5 @@ [encodeInto.any.html] + expected: ERROR [encodeInto() with 𝌆A and destination length 3, offset 4, filler 128] expected: FAIL @@ -565,6 +566,7 @@ [encodeInto.any.worker.html] + expected: ERROR [encodeInto() with 𝌆A and destination length 3, offset 4, filler 128] expected: FAIL diff --git a/tests/wpt/metadata/encoding/streams/decode-utf8.any.js.ini b/tests/wpt/metadata/encoding/streams/decode-utf8.any.js.ini index 0d9fcc85b7b..d2bcbd23724 100644 --- a/tests/wpt/metadata/encoding/streams/decode-utf8.any.js.ini +++ b/tests/wpt/metadata/encoding/streams/decode-utf8.any.js.ini @@ -11,6 +11,7 @@ [decode-utf8.any.html] + expected: ERROR [decoding one UTF-8 chunk should give one output string] expected: FAIL @@ -55,6 +56,7 @@ [decode-utf8.any.worker.html] + expected: ERROR [decoding one UTF-8 chunk should give one output string] expected: FAIL diff --git a/tests/wpt/metadata/encoding/textdecoder-copy.any.js.ini b/tests/wpt/metadata/encoding/textdecoder-copy.any.js.ini index 6379149d149..8904d3cf9fc 100644 --- a/tests/wpt/metadata/encoding/textdecoder-copy.any.js.ini +++ b/tests/wpt/metadata/encoding/textdecoder-copy.any.js.ini @@ -1,9 +1,11 @@ [textdecoder-copy.any.html] + expected: ERROR [Modify buffer after passing it in (SharedArrayBuffer)] expected: FAIL [textdecoder-copy.any.worker.html] + expected: ERROR [Modify buffer after passing it in (SharedArrayBuffer)] expected: FAIL diff --git a/tests/wpt/metadata/encoding/textdecoder-streaming.any.js.ini b/tests/wpt/metadata/encoding/textdecoder-streaming.any.js.ini index 8bf06fd73a0..b77666d267c 100644 --- a/tests/wpt/metadata/encoding/textdecoder-streaming.any.js.ini +++ b/tests/wpt/metadata/encoding/textdecoder-streaming.any.js.ini @@ -1,8 +1,8 @@ [textdecoder-streaming.any.worker.html] - expected: CRASH + expected: ERROR [textdecoder-streaming.any.html] - expected: CRASH + expected: ERROR [textdecoder-streaming.any.sharedworker.html] expected: ERROR diff --git a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-failure.https.any.js.ini b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-failure.https.any.js.ini index c4dc9ba7413..c6cab978ef1 100644 --- a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-failure.https.any.js.ini +++ b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-failure.https.any.js.ini @@ -1,4 +1,6 @@ [requires-failure.https.any.html] + [[[CanBlock\]\] in a Window] + expected: FAIL [requires-failure.https.any.serviceworker.html] expected: ERROR diff --git a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-success.any.js.ini b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-success.any.js.ini index 346e45175cb..844372c9694 100644 --- a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-success.any.js.ini +++ b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-success.any.js.ini @@ -1,3 +1,7 @@ +[requires-success.any.worker.html] + [[[CanBlock\]\] in a DedicatedWorkerGlobalScope] + expected: FAIL + [requires-success.any.sharedworker.html] expected: ERROR [requires-success] diff --git a/tests/wpt/metadata/wasm/jsapi/memory/constructor-shared.tentative.any.js.ini b/tests/wpt/metadata/wasm/jsapi/memory/constructor-shared.tentative.any.js.ini index d34698e5323..9e9e62e2ade 100644 --- a/tests/wpt/metadata/wasm/jsapi/memory/constructor-shared.tentative.any.js.ini +++ b/tests/wpt/metadata/wasm/jsapi/memory/constructor-shared.tentative.any.js.ini @@ -1,9 +1,12 @@ [constructor-shared.tentative.any.worker.html] [Shared memory] expected: FAIL + [Order of evaluation for descriptor (with shared)] + expected: FAIL [constructor-shared.tentative.any.html] [Shared memory] expected: FAIL - + [Order of evaluation for descriptor (with shared)] + expected: FAIL diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffer-interface/audiobuffer-copy-channel.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffer-interface/audiobuffer-copy-channel.html.ini index 2ff4a9edb68..f499807276c 100644 --- a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffer-interface/audiobuffer-copy-channel.html.ini +++ b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffer-interface/audiobuffer-copy-channel.html.ini @@ -26,3 +26,8 @@ [X 5: buffer.copyFromChannel(x, 0, -1) incorrectly threw IndexSizeError: "The index is not in the allowed range.".] expected: FAIL + [Executing "copyFrom-exceptions"] + expected: FAIL + + [Executing "copyTo-exceptions"] + expected: FAIL diff --git a/tests/wpt/metadata/xhr/send-data-sharedarraybuffer.any.js.ini b/tests/wpt/metadata/xhr/send-data-sharedarraybuffer.any.js.ini index 23b2d128a56..bdec31af564 100644 --- a/tests/wpt/metadata/xhr/send-data-sharedarraybuffer.any.js.ini +++ b/tests/wpt/metadata/xhr/send-data-sharedarraybuffer.any.js.ini @@ -1,5 +1,47 @@ [send-data-sharedarraybuffer.any.html] - expected: CRASH + [sending a SharedArrayBuffer] + expected: FAIL + [sending a Int8Array backed by a SharedArrayBuffer] + expected: FAIL + [sending a Uint8Array backed by a SharedArrayBuffer] + expected: FAIL + [sending a Uint8ClampedArray backed by a SharedArrayBuffer] + expected: FAIL + [sending a Int16Array backed by a SharedArrayBuffer] + expected: FAIL + [sending a Uint16Array backed by a SharedArrayBuffer] + expected: FAIL + [sending a Int32Array backed by a SharedArrayBuffer] + expected: FAIL + [sending a Uint32Array backed by a SharedArrayBuffer] + expected: FAIL + [sending a Float32Array backed by a SharedArrayBuffer] + expected: FAIL + [sending a Float64Array backed by a SharedArrayBuffer] + expected: FAIL + [sending a DataView backed by a SharedArrayBuffer] + expected: FAIL [send-data-sharedarraybuffer.any.worker.html] - expected: CRASH + [sending a SharedArrayBuffer] + expected: FAIL + [sending a Int8Array backed by a SharedArrayBuffer] + expected: FAIL + [sending a Uint8Array backed by a SharedArrayBuffer] + expected: FAIL + [sending a Uint8ClampedArray backed by a SharedArrayBuffer] + expected: FAIL + [sending a Int16Array backed by a SharedArrayBuffer] + expected: FAIL + [sending a Uint16Array backed by a SharedArrayBuffer] + expected: FAIL + [sending a Int32Array backed by a SharedArrayBuffer] + expected: FAIL + [sending a Uint32Array backed by a SharedArrayBuffer] + expected: FAIL + [sending a Float32Array backed by a SharedArrayBuffer] + expected: FAIL + [sending a Float64Array backed by a SharedArrayBuffer] + expected: FAIL + [sending a DataView backed by a SharedArrayBuffer] + expected: FAIL
\ No newline at end of file diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index 47ba62031be..fdd9f333ce5 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -11005,7 +11005,7 @@ [] ], "interfaces.js": [ - "253dd124cebe9b7d3aa4fc5ff8c9137e7aeb2f66", + "7a105e791dd80bd42d80055a64746bbe5fece41e", [] ], "nested_asap_script.js": [ diff --git a/tests/wpt/mozilla/tests/mozilla/interfaces.js b/tests/wpt/mozilla/tests/mozilla/interfaces.js index 253dd124ceb..7a105e791dd 100644 --- a/tests/wpt/mozilla/tests/mozilla/interfaces.js +++ b/tests/wpt/mozilla/tests/mozilla/interfaces.js @@ -5,7 +5,6 @@ function test_interfaces(interfaceNamesInGlobalScope) { var ecmaGlobals = [ "Array", "ArrayBuffer", - "Atomics", "BigInt", "BigInt64Array", "BigUint64Array", @@ -43,7 +42,6 @@ function test_interfaces(interfaceNamesInGlobalScope) { "Reflect", "RegExp", "Set", - "SharedArrayBuffer", "String", "Symbol", "SyntaxError", |