--- a/dom/tests/mochitest/general/test_interfaces.js
+++ b/dom/tests/mochitest/general/test_interfaces.js
@@ -22,17 +22,17 @@
// See createInterfaceMap() below for a complete list of properties.
// IMPORTANT: Do not change this list without review from
// a JavaScript Engine peer!
var ecmaGlobals =
[
"Array",
"ArrayBuffer",
- "Atomics",
+ {name: "Atomics", disabled: true},
"Boolean",
{name: "ByteLengthQueuingStrategy", disabled: !SpecialPowers.Cu.getJSTestingFunctions().streamsAreEnabled()},
{name: "CountQueuingStrategy", disabled: !SpecialPowers.Cu.getJSTestingFunctions().streamsAreEnabled()},
"DataView",
"Date",
"Error",
"EvalError",
"Float32Array",
@@ -56,17 +56,17 @@ var ecmaGlobals =
"Promise",
"Proxy",
"RangeError",
{name: "ReadableStream", disabled: !SpecialPowers.Cu.getJSTestingFunctions().streamsAreEnabled()},
"ReferenceError",
"Reflect",
"RegExp",
"Set",
- "SharedArrayBuffer",
+ {name: "SharedArrayBuffer", disabled: true},
{name: "SIMD", nightly: true},
"String",
"Symbol",
"SyntaxError",
{name: "TypedObject", nightly: true},
"TypeError",
"Uint16Array",
"Uint32Array",
--- a/dom/workers/test/serviceworkers/test_serviceworker_interfaces.js
+++ b/dom/workers/test/serviceworkers/test_serviceworker_interfaces.js
@@ -20,17 +20,17 @@
// See createInterfaceMap() below for a complete list of properties.
// IMPORTANT: Do not change this list without review from
// a JavaScript Engine peer!
var ecmaGlobals =
[
"Array",
"ArrayBuffer",
- "Atomics",
+ {name: "Atomics", disabled: true},
"Boolean",
{name: "ByteLengthQueuingStrategy", optional: true},
{name: "CountQueuingStrategy", optional: true},
"DataView",
"Date",
"Error",
"EvalError",
"Float32Array",
@@ -51,17 +51,17 @@ var ecmaGlobals =
"Promise",
"Proxy",
"RangeError",
{name: "ReadableStream", optional: true},
"ReferenceError",
"Reflect",
"RegExp",
"Set",
- "SharedArrayBuffer",
+ {name: "SharedArrayBuffer", disabled: true},
{name: "SIMD", nightly: true},
"String",
"Symbol",
"SyntaxError",
{name: "TypedObject", nightly: true},
"TypeError",
"Uint16Array",
"Uint32Array",
@@ -251,17 +251,18 @@ function createInterfaceMap(version, use
interfaceMap[entry] = true;
} else {
ok(!("pref" in entry), "Bogus pref annotation for " + entry.name);
if ((entry.nightly === !isNightly) ||
(entry.nightlyAndroid === !(isAndroid && isNightly) && isAndroid) ||
(entry.nonReleaseAndroid === !(isAndroid && !isRelease) && isAndroid) ||
(entry.desktop === !isDesktop) ||
(entry.android === !isAndroid && !entry.nonReleaseAndroid && !entry.nightlyAndroid) ||
- (entry.release === !isRelease)) {
+ (entry.release === !isRelease) ||
+ entry.disabled) {
interfaceMap[entry.name] = false;
} else if (entry.optional) {
interfaceMap[entry.name] = "optional";
} else {
interfaceMap[entry.name] = true;
}
}
}
--- a/dom/workers/test/test_worker_interfaces.js
+++ b/dom/workers/test/test_worker_interfaces.js
@@ -20,17 +20,17 @@
// See createInterfaceMap() below for a complete list of properties.
// IMPORTANT: Do not change this list without review from
// a JavaScript Engine peer!
var ecmaGlobals =
[
"Array",
"ArrayBuffer",
- "Atomics",
+ {name: "Atomics", disabled: true},
"Boolean",
{name: "ByteLengthQueuingStrategy", optional: true},
{name: "CountQueuingStrategy", optional: true},
"DataView",
"Date",
"Error",
"EvalError",
"Float32Array",
@@ -51,17 +51,17 @@ var ecmaGlobals =
"Promise",
"Proxy",
"RangeError",
{name: "ReadableStream", optional: true},
"ReferenceError",
"Reflect",
"RegExp",
"Set",
- "SharedArrayBuffer",
+ {name: "SharedArrayBuffer", disabled: true},
{name: "SIMD", nightly: true},
"String",
"Symbol",
"SyntaxError",
{name: "TypedObject", nightly: true},
"TypeError",
"Uint16Array",
"Uint32Array",
--- a/js/src/shell/js.cpp
+++ b/js/src/shell/js.cpp
@@ -147,17 +147,17 @@ static const size_t gMaxStackSize = 128
#endif
/*
* Limit the timeout to 30 minutes to prevent an overflow on platfoms
* that represent the time internally in microseconds using 32-bit int.
*/
static const double MAX_TIMEOUT_SECONDS = 1800.0;
-// SharedArrayBuffer and Atomics are enabled by default (tracking Firefox).
+// Not necessarily in sync with the browser
#define SHARED_MEMORY_DEFAULT 1
// Code to support GCOV code coverage measurements on standalone shell
#ifdef MOZ_CODE_COVERAGE
#if defined(__GNUC__) && !defined(__clang__)
extern "C" void __gcov_dump();
extern "C" void __gcov_reset();
--- a/js/src/tests/jstests.list
+++ b/js/src/tests/jstests.list
@@ -480,8 +480,331 @@ skip script test262/harness/detachArrayB
####################################################
# Tests disabled due to invalid test expectations #
####################################################
# https://github.com/tc39/test262/issues/1312
skip script test262/built-ins/BigInt/prototype/toString/string-is-code-units-of-decimal-digits-only.js
+
+#############################################
+# Tests disabled when properties are absent #
+#############################################
+
+# https://bugzilla.mozilla.org/show_bug.cgi?id=1415303
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/toindex-bytelength-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/return-abrupt-tonumber-bytelength-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/byteoffset-is-negative-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/negative-byteoffset-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/return-instance-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/defined-byteoffset-undefined-bytelength-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/buffer-does-not-have-arraybuffer-data-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/proto-from-ctor-realm-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/return-abrupt-tonumber-byteoffset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/newtarget-undefined-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/negative-bytelength-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/excessive-bytelength-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/byteOffset/this-has-no-dataview-internal-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/byteOffset/return-byteoffset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/buffer/this-has-no-dataview-internal-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/buffer/return-buffer-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/byteLength/return-bytelength-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/byteLength/this-has-no-dataview-internal-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/getInt32/negative-byteoffset-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/getInt32/this-has-no-dataview-internal-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/getInt32/return-value-clean-arraybuffer-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/getInt32/index-is-out-of-range-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/getInt32/return-values-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/getInt32/return-values-custom-offset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/getInt32/to-boolean-littleendian-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/getInt32/return-abrupt-from-tonumber-byteoffset-symbol-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/getInt32/toindex-byteoffset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/getInt32/return-abrupt-from-tonumber-byteoffset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/return-abrupt-tonumber-byteoffset-symbol-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/defined-bytelength-and-byteoffset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/custom-proto-if-not-object-fallbacks-to-default-prototype-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/excessive-byteoffset-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/custom-proto-if-object-is-used-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/return-abrupt-tonumber-bytelength-symbol-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/toindex-byteoffset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/instance-extensibility-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/defined-byteoffset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/custom-proto-access-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/buffer-reference-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-diff-buffer-other-type-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-diff-buffer-other-type-conversions-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-same-type-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-diff-buffer-same-type-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/init-zero.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype-from-newtarget.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/undefined-newtarget-throws.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/negative-length-throws.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/zero-length.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/allocation-limit.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/length-is-absent.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/toindex-length.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/length-is-too-large-throws.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/Symbol.toStringTag.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/constructor.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/byteLength/length.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/byteLength/this-is-arraybuffer.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/byteLength/return-bytelength.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/byteLength/this-has-no-typedarrayname-internal.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/byteLength/invoked-as-func.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/byteLength/this-is-not-object.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/byteLength/prop-desc.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/byteLength/invoked-as-accessor.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/byteLength/name.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species-is-null.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/context-is-not-arraybuffer-object.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/descriptor.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/tointeger-conversion-end.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/length.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/start-exceeds-end.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species-returns-same-arraybuffer.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/negative-end.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/this-is-arraybuffer.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species-is-not-constructor.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/start-default-if-undefined.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/context-is-not-object.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/extensible.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/start-exceeds-length.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species-constructor-is-undefined.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/tointeger-conversion-start.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species-returns-smaller-arraybuffer.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species-constructor-is-not-object.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/end-default-if-undefined.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/number-conversion.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/negative-start.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/nonconstructor.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species-returns-not-arraybuffer.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/end-exceeds-length.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/start-default-if-absent.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/end-default-if-absent.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species-returns-larger-arraybuffer.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species-is-not-object.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species-is-undefined.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/name.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/return-abrupt-from-length.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/return-abrupt-from-length-symbol.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/data-allocation-after-object-creation.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/proto-from-ctor-realm.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/newtarget-prototype-is-not-object.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/ArrayBuffer/prototype/byteLength/this-is-sharedarraybuffer.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/ArrayBuffer/prototype/slice/this-is-sharedarraybuffer.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/exchange/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/exchange/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/exchange/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/exchange/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/exchange/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/load/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/load/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/load/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/load/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/load/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/compareExchange/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/compareExchange/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/compareExchange/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/compareExchange/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/compareExchange/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/sub/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/sub/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/sub/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/sub/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/sub/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/xor/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/xor/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/xor/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/xor/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/xor/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/and/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/and/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/and/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/and/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/and/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/add/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/add/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/add/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/add/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/add/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wait/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wait/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wait/was-woken.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wait/no-spurious-wakeup.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wait/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wait/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wait/negative-timeout.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wait/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wait/did-timeout.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wait/nan-timeout.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/wake-zero.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/wake-all-on-loc.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/wake-in-order.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/counts.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/wake-one.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/wake-nan.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/wake-all.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/wake-negative.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/wake-two.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/or/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/or/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/or/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/or/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/or/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/store/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/store/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/store/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/store/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/store/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-typedarray-backed-by-sharedarraybuffer.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-use-default-proto-if-custom-proto-is-not-object-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-excessive-offset-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-byteoffset-is-symbol-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-length-is-symbol-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-defined-length-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-invoked-with-undefined-newtarget-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-bufferbyteoffset-throws-from-modulo-element-size-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-length-access-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-use-custom-proto-if-object-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-defined-negative-length-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-toindex-bytelength-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-byteoffset-is-negative-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/internals/Get/indexed-value-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-is-referenced-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-defined-length-and-offset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-byteoffset-throws-from-modulo-element-size-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-defined-offset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-proto-from-ctor-realm-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-toindex-byteoffset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-new-instance-extensibility-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-excessive-length-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-returns-new-instance-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-custom-proto-access-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-byteoffset-to-number-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-byteoffset-is-negative-zero-sab.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/Symbol.toStringTag.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/exchange/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/exchange/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/exchange/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/exchange/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/exchange/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/exchange/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/exchange/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/exchange/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/exchange/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/load/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/load/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/load/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/load/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/load/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/load/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/load/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/load/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/load/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/compareExchange/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/compareExchange/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/compareExchange/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/compareExchange/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/compareExchange/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/compareExchange/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/compareExchange/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/compareExchange/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/compareExchange/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/sub/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/sub/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/sub/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/sub/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/sub/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/sub/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/sub/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/sub/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/sub/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/xor/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/xor/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/xor/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/xor/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/xor/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/xor/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/xor/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/xor/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/xor/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/and/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/and/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/and/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/and/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/and/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/and/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/and/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/and/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/and/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/add/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/add/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/add/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/add/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/add/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/add/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/add/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/add/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/add/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/was-woken.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/no-spurious-wakeup.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/negative-timeout.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/did-timeout.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/nan-timeout.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/isLockFree/value.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/isLockFree/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/isLockFree/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/isLockFree/corner-cases.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/isLockFree/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/prop-desc.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/wake-zero.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/wake-all-on-loc.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/wake-in-order.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/counts.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/wake-one.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/wake-nan.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/wake-all.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/wake-negative.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/wake-two.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/or/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/or/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/or/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/or/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/or/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/or/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/or/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/or/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/or/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/proto.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/store/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/store/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/store/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/store/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/store/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/store/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/store/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/store/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/store/name.js
--- a/js/xpconnect/tests/chrome/test_xrayToJS.xul
+++ b/js/xpconnect/tests/chrome/test_xrayToJS.xul
@@ -253,18 +253,17 @@ https://bugzilla.mozilla.org/show_bug.cg
gConstructorProperties['Promise'] =
constructorProps(["resolve", "reject", "all", "race", Symbol.species]);
gPrototypeProperties['ArrayBuffer'] =
["constructor", "byteLength", "slice", Symbol.toStringTag];
gConstructorProperties['ArrayBuffer'] =
constructorProps(["isView", Symbol.species]);
- gPrototypeProperties['SharedArrayBuffer'] = ["constructor", "slice", "byteLength", Symbol.toStringTag];
- gConstructorProperties['SharedArrayBuffer'] = constructorProps([Symbol.species]);
+ is(typeof SharedArrayBuffer, "undefined", "Enable tests!");
gPrototypeProperties['Map'] =
["constructor", "size", Symbol.toStringTag, "get", "has", "set", "delete",
"keys", "values", "clear", "forEach", "entries", Symbol.iterator];
gConstructorProperties['Map'] =
constructorProps([Symbol.species]);
gPrototypeProperties['Set'] =
@@ -913,17 +912,17 @@ for (var prop of props) {
is(Cu.getGlobalForObject(pr.wrappedJSObject.catch), iwin, "Underlying global is correct");
isnot(pr.then, Cu.unwaiveXrays(pr.wrappedJSObject.then), "Different function identities");
is(Cu.getGlobalForObject(pr.then), window, "Xray global is correct");
is(Cu.getGlobalForObject(pr.wrappedJSObject.then), iwin, "Underlying global is correct");
}
function testArrayBuffer() {
- let constructors = ['ArrayBuffer', 'SharedArrayBuffer'];
+ let constructors = ['ArrayBuffer'];
for (const c of constructors) {
testXray(c, new iwin[c](0), new iwin[c](12));
var t = new iwin[c](12);
is(t.byteLength, 12, `${c} byteLength is correct`);
is(t.slice(4).byteLength, 8, `${c} byteLength is correct after slicing`);
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -1548,17 +1548,17 @@ pref("javascript.options.mem.gc_allocati
// JSGC_MIN_EMPTY_CHUNK_COUNT
pref("javascript.options.mem.gc_min_empty_chunk_count", 1);
// JSGC_MAX_EMPTY_CHUNK_COUNT
pref("javascript.options.mem.gc_max_empty_chunk_count", 30);
pref("javascript.options.showInConsole", false);
-pref("javascript.options.shared_memory", true);
+pref("javascript.options.shared_memory", false);
pref("javascript.options.throw_on_debuggee_would_run", false);
pref("javascript.options.dump_stack_on_debuggee_would_run", false);
// Streams API
pref("javascript.options.streams", false);
// advanced prefs
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/identity-not-preserved.html.ini
@@ -0,0 +1,11 @@
+[identity-not-preserved.html]
+ type: testharness
+
+ [postMessaging to this window does not give back the same SharedArrayBuffer (but does use the same backing block)]
+ expected: FAIL
+
+ [postMessaging to a worker and back does not give back the same SharedArrayBuffer]
+ expected: FAIL
+
+ [postMessaging to an iframe and back does not give back the same SharedArrayBuffer]
+ expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/nested-worker-success-dedicatedworker.html.ini
@@ -0,0 +1,5 @@
+[nested-worker-success-dedicatedworker.html]
+ type: testharness
+
+ [postMessaging to a dedicated sub-worker allows them to see each others' modifications]
+ expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/nested-worker-success-sharedworker.html.ini
@@ -0,0 +1,5 @@
+[nested-worker-success-sharedworker.html]
+ type: testharness
+
+ [postMessaging to a dedicated sub-worker allows them to see each others' modifications]
+ expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/no-transferring.html.ini
@@ -0,0 +1,11 @@
+[no-transferring.html]
+ type: testharness
+
+ [Trying to transfer a SharedArrayBuffer to this window throws]
+ expected: FAIL
+
+ [Trying to transfer a SharedArrayBuffer to a worker throws]
+ expected: FAIL
+
+ [Trying to transfer a SharedArrayBuffer through a MessagePort throws]
+ expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-domain-success.sub.html.ini
@@ -0,0 +1,5 @@
+[window-domain-success.sub.html]
+ type: testharness
+
+ [postMessaging to a same-origin-domain (but not same-origin) iframe allows them to see each others' modifications]
+ expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-similar-but-cross-origin-success.sub.html.ini
@@ -0,0 +1,5 @@
+[window-similar-but-cross-origin-success.sub.html]
+ type: testharness
+
+ [postMessaging to a not same-origin-domain, but similar origin, iframe allows them to see each others' modifications]
+ expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-simple-success.html.ini
@@ -0,0 +1,41 @@
+[window-simple-success.html]
+ type: testharness
+
+ [postMessaging to a dedicated worker allows them to see each others' modifications with DataView]
+ expected: FAIL
+
+ [postMessaging to a dedicated worker allows them to see each others' modifications with Int8Array]
+ expected: FAIL
+
+ [postMessaging to a dedicated worker allows them to see each others' modifications with Uint8Array]
+ expected: FAIL
+
+ [postMessaging to a dedicated worker allows them to see each others' modifications with Uint8ClampedArray]
+ expected: FAIL
+
+ [postMessaging to a dedicated worker allows them to see each others' modifications with Int16Array]
+ expected: FAIL
+
+ [postMessaging to a dedicated worker allows them to see each others' modifications with Uint16Array]
+ expected: FAIL
+
+ [postMessaging to a dedicated worker allows them to see each others' modifications with Int32Array]
+ expected: FAIL
+
+ [postMessaging to a dedicated worker allows them to see each others' modifications with Uint32Array]
+ expected: FAIL
+
+ [postMessaging to a dedicated worker allows them to see each others' modifications with Float32Array]
+ expected: FAIL
+
+ [postMessaging to a dedicated worker allows them to see each others' modifications with Float64Array]
+ expected: FAIL
+
+ [postMessaging to a same-origin iframe allows them to see each others' modifications]
+ expected: FAIL
+
+ [postMessaging to a same-origin deeply-nested iframe allows them to see each others' modifications]
+ expected: FAIL
+
+ [postMessaging to a same-origin opened window allows them to see each others' modifications]
+ expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-dedicatedworker.html.ini
@@ -0,0 +1,5 @@
+[canblock-dedicatedworker.html]
+ type: testharness
+
+ [[[CanBlock\]\] in a DedicatedWorkerGlobalScope]
+ expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-serviceworker.https.html.ini
@@ -0,0 +1,5 @@
+[canblock-serviceworker.https.html]
+ type: testharness
+
+ [[[CanBlock\]\] in a ServiceWorkerGlobalScope]
+ expected: FAIL
--- a/testing/web-platform/meta/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-sharedworker.html.ini
+++ b/testing/web-platform/meta/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-sharedworker.html.ini
@@ -1,5 +1,6 @@
[canblock-sharedworker.html]
type: testharness
+
[[[CanBlock\]\] in a SharedWorkerGlobalScope]
expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-window.html.ini
@@ -0,0 +1,5 @@
+[canblock-window.html]
+ type: testharness
+
+ [[[CanBlock\]\] in a similar-origin window agent]
+ expected: FAIL