Auto merge of #26875 - servo:jdm-patch-44, r=gterzian

Don't pretend we support SharedArrayBuffer.

Fixes #26874.
This commit is contained in:
bors-servo 2020-06-16 17:27:07 -04:00 committed by GitHub
commit 596e9105c5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 75 additions and 18 deletions

View file

@ -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(

View file

@ -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());

View file

@ -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]

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -1,4 +1,6 @@
[requires-failure.https.any.html]
[[[CanBlock\]\] in a Window]
expected: FAIL
[requires-failure.https.any.serviceworker.html]
expected: ERROR

View file

@ -1,3 +1,7 @@
[requires-success.any.worker.html]
[[[CanBlock\]\] in a DedicatedWorkerGlobalScope]
expected: FAIL
[requires-success.any.sharedworker.html]
expected: ERROR
[requires-success]

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -11005,7 +11005,7 @@
[]
],
"interfaces.js": [
"253dd124cebe9b7d3aa4fc5ff8c9137e7aeb2f66",
"7a105e791dd80bd42d80055a64746bbe5fece41e",
[]
],
"nested_asap_script.js": [

View file

@ -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",