aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2019-05-10 23:51:12 -0400
committerGitHub <noreply@github.com>2019-05-10 23:51:12 -0400
commitd9559499b22bb4724f9b6108919f8d24bdbc83d9 (patch)
tree692e26002cd8afe36e8ab6679d929be11e58a0af
parent887f43b65bacad5490365f14d54bf25af4d3234b (diff)
parent7c1c1d9af4735ae86968d65d78b981b7c14585f3 (diff)
downloadservo-d9559499b22bb4724f9b6108919f8d24bdbc83d9.tar.gz
servo-d9559499b22bb4724f9b6108919f8d24bdbc83d9.zip
Auto merge of #23163 - jdm:smup66, r=asajeffrey
Upgrade to SpiderMonkey 66 <!-- Reviewable:start --> This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23163) <!-- Reviewable:end -->
-rw-r--r--Cargo.lock16
-rw-r--r--appveyor.yml2
-rw-r--r--components/script/Cargo.toml2
-rw-r--r--components/script/compartments.rs6
-rw-r--r--components/script/devtools.rs4
-rw-r--r--components/script/dom/audiobuffer.rs4
-rw-r--r--components/script/dom/bindings/callback.rs12
-rw-r--r--components/script/dom/bindings/codegen/CodegenRust.py37
-rw-r--r--components/script/dom/bindings/htmlconstructor.rs4
-rw-r--r--components/script/dom/bindings/interface.rs28
-rw-r--r--components/script/dom/bindings/structuredclone.rs13
-rw-r--r--components/script/dom/bindings/utils.rs13
-rw-r--r--components/script/dom/bluetooth.rs2
-rw-r--r--components/script/dom/create.rs8
-rw-r--r--components/script/dom/customelementregistry.rs16
-rw-r--r--components/script/dom/dedicatedworkerglobalscope.rs5
-rw-r--r--components/script/dom/eventsource.rs4
-rw-r--r--components/script/dom/eventtarget.rs17
-rw-r--r--components/script/dom/filereader.rs5
-rw-r--r--components/script/dom/globalscope.rs15
-rw-r--r--components/script/dom/paintworkletglobalscope.rs4
-rw-r--r--components/script/dom/promise.rs14
-rw-r--r--components/script/dom/serviceworkerglobalscope.rs5
-rw-r--r--components/script/dom/websocket.rs4
-rw-r--r--components/script/dom/window.rs8
-rw-r--r--components/script/dom/windowproxy.rs8
-rw-r--r--components/script/dom/worker.rs4
-rw-r--r--components/script/dom/workerglobalscope.rs4
-rw-r--r--components/script/dom/worklet.rs4
-rw-r--r--components/script/fetch.rs8
-rw-r--r--components/script/script_runtime.rs14
-rw-r--r--components/script/script_thread.rs6
-rw-r--r--etc/ci/buildbot_steps.yml83
-rw-r--r--etc/taskcluster/decision_task.py17
-rw-r--r--python/servo/build_commands.py12
-rwxr-xr-xsupport/android/fakeld/fake-ld-armv7.sh2
-rw-r--r--tests/wpt/metadata/wasm/jsapi/constructor/instantiate-bad-imports.any.js.ini572
-rw-r--r--tests/wpt/metadata/wasm/jsapi/global/constructor.any.js.ini195
-rw-r--r--tests/wpt/metadata/wasm/jsapi/global/toString.any.js.ini9
-rw-r--r--tests/wpt/metadata/wasm/jsapi/global/value-get-set.any.js.ini321
-rw-r--r--tests/wpt/metadata/wasm/jsapi/global/valueOf.any.js.ini15
-rw-r--r--tests/wpt/metadata/wasm/jsapi/idlharness.any.js.ini138
-rw-r--r--tests/wpt/metadata/wasm/jsapi/instance/constructor-bad-imports.any.js.ini5
-rw-r--r--tests/wpt/metadata/wasm/jsapi/instance/constructor.any.js.ini6
-rw-r--r--tests/wpt/metadata/wasm/jsapi/interface.any.js.ini101
-rw-r--r--tests/wpt/metadata/wasm/jsapi/memory/constructor.any.js.ini102
-rw-r--r--tests/wpt/metadata/wasm/jsapi/memory/grow.any.js.ini69
-rw-r--r--tests/wpt/metadata/wasm/jsapi/module/customSections.any.js.ini6
-rw-r--r--tests/wpt/metadata/wasm/jsapi/module/exports.any.js.ini9
-rw-r--r--tests/wpt/metadata/wasm/jsapi/table/constructor.any.js.ini99
-rw-r--r--tests/wpt/metadata/wasm/jsapi/table/get-set.any.js.ini153
-rw-r--r--tests/wpt/metadata/wasm/jsapi/table/grow.any.js.ini87
-rw-r--r--tests/wpt/metadata/wasm/webapi/idlharness.any.js.ini39
-rw-r--r--tests/wpt/metadata/wasm/webapi/instantiateStreaming-bad-imports.any.js.ini200
54 files changed, 986 insertions, 1550 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 91d5ae31e4f..c33b7821577 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2803,21 +2803,21 @@ dependencies = [
[[package]]
name = "mozjs"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
+version = "0.11.0"
+source = "git+https://github.com/servo/rust-mozjs?rev=357d1db91e4e49c3f148fe05fdfae5f8f0834ca8#357d1db91e4e49c3f148fe05fdfae5f8f0834ca8"
dependencies = [
"cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "mozjs_sys 0.61.13 (registry+https://github.com/rust-lang/crates.io-index)",
+ "mozjs_sys 0.66.0 (git+https://github.com/servo/mozjs?rev=e21c05b415dfc246175ff8d5fc48b0e8c5b4e9e9)",
"num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "mozjs_sys"
-version = "0.61.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
+version = "0.66.0"
+source = "git+https://github.com/servo/mozjs?rev=e21c05b415dfc246175ff8d5fc48b0e8c5b4e9e9#e21c05b415dfc246175ff8d5fc48b0e8c5b4e9e9"
dependencies = [
"bindgen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3593,7 +3593,7 @@ dependencies = [
"mime_guess 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",
"mitochondria 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
"mozangle 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "mozjs 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "mozjs 0.11.0 (git+https://github.com/servo/rust-mozjs?rev=357d1db91e4e49c3f148fe05fdfae5f8f0834ca8)",
"msg 0.0.1",
"net_traits 0.0.1",
"num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -5593,8 +5593,8 @@ dependencies = [
"checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
"checksum mitochondria 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9de3eca27871df31c33b807f834b94ef7d000956f57aa25c5aed9c5f0aae8f6f"
"checksum mozangle 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c9ba1ce5212fd56a71cfbc463aedd4ece76090d98b96d5122f84dedffa0cc508"
-"checksum mozjs 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "622108d35f4fdd68b3aa39bfe9bedaee5fa9efd19711d046e1d56ff607c0a36f"
-"checksum mozjs_sys 0.61.13 (registry+https://github.com/rust-lang/crates.io-index)" = "c7d35502544cf3e70b305e028c6ca9e4c3d5a48264af220f8341598f54d189ba"
+"checksum mozjs 0.11.0 (git+https://github.com/servo/rust-mozjs?rev=357d1db91e4e49c3f148fe05fdfae5f8f0834ca8)" = "<none>"
+"checksum mozjs_sys 0.66.0 (git+https://github.com/servo/mozjs?rev=e21c05b415dfc246175ff8d5fc48b0e8c5b4e9e9)" = "<none>"
"checksum msdos_time 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "aad9dfe950c057b1bfe9c1f2aa51583a8468ef2a5baba2ebbe06d775efeb7729"
"checksum muldiv 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "451a9a05d2a32c566c897835e0ea95cf79ed2fdfe957924045a1721a36c9980f"
"checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88"
diff --git a/appveyor.yml b/appveyor.yml
index 641b861165a..dee402b8c46 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -32,6 +32,8 @@ environment:
C:\\Program Files\\AppVeyor\\BuildAgent;"
CC: "clang-cl.exe"
CXX: "clang-cl.exe"
+ LINKER: "lld-link.exe"
+ PYTHON3: "C:\\Python37-x64\\python.exe"
matrix:
- TARGET: nightly-x86_64-pc-windows-msvc
diff --git a/components/script/Cargo.toml b/components/script/Cargo.toml
index 85e504027f2..a9ef147da99 100644
--- a/components/script/Cargo.toml
+++ b/components/script/Cargo.toml
@@ -65,7 +65,7 @@ indexmap = "1.0.2"
ipc-channel = "0.11"
itertools = "0.8"
jstraceable_derive = {path = "../jstraceable_derive"}
-js = {package = "mozjs", version = "0.10.1"}
+js = {package = "mozjs", git = "https://github.com/servo/rust-mozjs", rev = "357d1db91e4e49c3f148fe05fdfae5f8f0834ca8"}
keyboard-types = "0.4.4"
lazy_static = "1"
libc = "0.2"
diff --git a/components/script/compartments.rs b/components/script/compartments.rs
index aedabca773e..552b7573d83 100644
--- a/components/script/compartments.rs
+++ b/components/script/compartments.rs
@@ -3,7 +3,7 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
use crate::dom::globalscope::GlobalScope;
-use js::jsapi::{GetCurrentRealmOrNull, JSAutoCompartment};
+use js::jsapi::{GetCurrentRealmOrNull, JSAutoRealm};
pub struct AlreadyInCompartment(());
@@ -20,7 +20,7 @@ impl AlreadyInCompartment {
#[derive(Clone, Copy)]
pub enum InCompartment<'a> {
Already(&'a AlreadyInCompartment),
- Entered(&'a JSAutoCompartment),
+ Entered(&'a JSAutoRealm),
}
impl<'a> InCompartment<'a> {
@@ -28,7 +28,7 @@ impl<'a> InCompartment<'a> {
InCompartment::Already(token)
}
- pub fn entered(token: &JSAutoCompartment) -> InCompartment {
+ pub fn entered(token: &JSAutoRealm) -> InCompartment {
InCompartment::Entered(token)
}
}
diff --git a/components/script/devtools.rs b/components/script/devtools.rs
index 087930042e6..33a30cfe5db 100644
--- a/components/script/devtools.rs
+++ b/components/script/devtools.rs
@@ -23,7 +23,7 @@ use devtools_traits::{AutoMargins, CachedConsoleMessage, CachedConsoleMessageTyp
use devtools_traits::{ComputedNodeLayout, ConsoleAPI, PageError};
use devtools_traits::{EvaluateJSReply, Modification, NodeInfo, TimelineMarker};
use ipc_channel::ipc::IpcSender;
-use js::jsapi::JSAutoCompartment;
+use js::jsapi::JSAutoRealm;
use js::jsval::UndefinedValue;
use js::rust::wrappers::ObjectClassName;
use msg::constellation_msg::PipelineId;
@@ -37,7 +37,7 @@ pub fn handle_evaluate_js(global: &GlobalScope, eval: String, reply: IpcSender<E
let result = unsafe {
let cx = global.get_cx();
let globalhandle = global.reflector().get_jsobject();
- let _ac = JSAutoCompartment::new(cx, globalhandle.get());
+ let _ac = JSAutoRealm::new(cx, globalhandle.get());
rooted!(in(cx) let mut rval = UndefinedValue());
global.evaluate_js_on_global_with_result(&eval, rval.handle_mut());
diff --git a/components/script/dom/audiobuffer.rs b/components/script/dom/audiobuffer.rs
index cabd281dc63..f36e28ad089 100644
--- a/components/script/dom/audiobuffer.rs
+++ b/components/script/dom/audiobuffer.rs
@@ -14,7 +14,7 @@ use crate::dom::bindings::root::DomRoot;
use crate::dom::window::Window;
use dom_struct::dom_struct;
use js::jsapi::JS_GetArrayBufferViewBuffer;
-use js::jsapi::{Heap, JSAutoCompartment, JSContext, JSObject};
+use js::jsapi::{Heap, JSAutoRealm, JSContext, JSObject};
use js::rust::wrappers::JS_DetachArrayBuffer;
use js::rust::CustomAutoRooterGuard;
use js::typedarray::{CreateWith, Float32Array};
@@ -127,7 +127,7 @@ impl AudioBuffer {
#[allow(unsafe_code)]
unsafe fn restore_js_channel_data(&self, cx: *mut JSContext) -> bool {
let global = self.global();
- let _ac = JSAutoCompartment::new(cx, global.reflector().get_jsobject().get());
+ let _ac = JSAutoRealm::new(cx, global.reflector().get_jsobject().get());
for (i, channel) in self.js_channels.borrow_mut().iter().enumerate() {
if !channel.get().is_null() {
// Already have data in JS array.
diff --git a/components/script/dom/bindings/callback.rs b/components/script/dom/bindings/callback.rs
index 88bb02ce44e..fd33be86546 100644
--- a/components/script/dom/bindings/callback.rs
+++ b/components/script/dom/bindings/callback.rs
@@ -14,9 +14,9 @@ use crate::dom::bindings::utils::AsCCharPtrPtr;
use crate::dom::globalscope::GlobalScope;
use crate::dom::window::Window;
use js::jsapi::Heap;
-use js::jsapi::JSAutoCompartment;
+use js::jsapi::JSAutoRealm;
use js::jsapi::{AddRawValueRoot, IsCallable, JSContext, JSObject};
-use js::jsapi::{JSCompartment, JS_EnterCompartment, JS_LeaveCompartment, RemoveRawValueRoot};
+use js::jsapi::{EnterRealm, LeaveRealm, Realm, RemoveRawValueRoot};
use js::jsval::{JSVal, ObjectValue, UndefinedValue};
use js::rust::wrappers::{JS_GetProperty, JS_WrapObject};
use js::rust::{MutableHandleObject, Runtime};
@@ -229,7 +229,7 @@ pub struct CallSetup {
/// The `JSContext` used for the call.
cx: *mut JSContext,
/// The compartment we were in before the call.
- old_compartment: *mut JSCompartment,
+ old_realm: *mut Realm,
/// The exception handling used for the call.
handling: ExceptionHandling,
/// <https://heycam.github.io/webidl/#es-invoking-callback-functions>
@@ -255,7 +255,7 @@ impl CallSetup {
CallSetup {
exception_global: global,
cx: cx,
- old_compartment: unsafe { JS_EnterCompartment(cx, callback.callback()) },
+ old_realm: unsafe { EnterRealm(cx, callback.callback()) },
handling: handling,
entry_script: Some(aes),
incumbent_script: ais,
@@ -271,9 +271,9 @@ impl CallSetup {
impl Drop for CallSetup {
fn drop(&mut self) {
unsafe {
- JS_LeaveCompartment(self.cx, self.old_compartment);
+ LeaveRealm(self.cx, self.old_realm);
if self.handling == ExceptionHandling::Report {
- let _ac = JSAutoCompartment::new(
+ let _ac = JSAutoRealm::new(
self.cx,
self.exception_global.reflector().get_jsobject().get(),
);
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py
index ea21989178b..27bfdce71b4 100644
--- a/components/script/dom/bindings/codegen/CodegenRust.py
+++ b/components/script/dom/bindings/codegen/CodegenRust.py
@@ -458,7 +458,7 @@ class CGMethodCall(CGThing):
pickFirstSignature("%s.get().is_object() && "
"{ rooted!(in(cx) let obj = %s.get().to_object()); "
"let mut is_date = false; "
- "assert!(JS_ObjectIsDate(cx, obj.handle(), &mut is_date)); "
+ "assert!(ObjectIsDate(cx, obj.handle(), &mut is_date)); "
"is_date }" %
(distinguishingArg, distinguishingArg),
lambda s: (s[1][distinguishingIndex].type.isDate() or
@@ -795,7 +795,7 @@ def getJSToNativeConversionInfo(type, descriptorProvider, failureCode=None,
# our own implementation code.
templateBody = fill(
"""
- { // Scope for our JSAutoCompartment.
+ { // Scope for our JSAutoRealm.
rooted!(in(cx) let globalObj = CurrentGlobalOrNull(cx));
let promiseGlobal = GlobalScope::from_object_maybe_wrapped(globalObj.handle().get());
@@ -2709,7 +2709,7 @@ assert!(!scope.get().is_null());
assert!(((*get_object_class(scope.get())).flags & JSCLASS_IS_GLOBAL) != 0);
rooted!(in(cx) let mut proto = ptr::null_mut::<JSObject>());
-let _ac = JSAutoCompartment::new(cx, scope.get());
+let _ac = JSAutoRealm::new(cx, scope.get());
GetProtoObject(cx, scope, proto.handle_mut());
assert!(!proto.is_null());
@@ -2764,7 +2764,7 @@ assert!(!obj.is_null());
(*raw).init_reflector(obj.get());
-let _ac = JSAutoCompartment::new(cx, obj.get());
+let _ac = JSAutoRealm::new(cx, obj.get());
rooted!(in(cx) let mut proto = ptr::null_mut::<JSObject>());
GetProtoObject(cx, obj.handle(), proto.handle_mut());
assert!(JS_SplicePrototype(cx, obj.handle(), proto.handle()));
@@ -2883,7 +2883,7 @@ class CGCreateInterfaceObjectsMethod(CGAbstractMethod):
name = self.descriptor.interface.identifier.name
if self.descriptor.interface.isNamespace():
if self.descriptor.interface.getExtendedAttribute("ProtoObjectHack"):
- proto = "JS_GetObjectPrototype(cx, global)"
+ proto = "GetRealmObjectPrototype(cx)"
else:
proto = "JS_NewPlainObject(cx)"
if self.properties.static_methods.length():
@@ -2919,11 +2919,12 @@ assert!((*cache)[PrototypeList::Constructor::%(id)s as usize].is_null());
parentName = self.descriptor.getParentName()
if not parentName:
if self.descriptor.interface.getExtendedAttribute("ExceptionClass"):
- getPrototypeProto = "prototype_proto.set(JS_GetErrorPrototype(cx))"
+ protoGetter = "GetRealmErrorPrototype"
elif self.descriptor.interface.isIteratorInterface():
- getPrototypeProto = "prototype_proto.set(JS_GetIteratorPrototype(cx))"
+ protoGetter = "GetRealmIteratorPrototype"
else:
- getPrototypeProto = "prototype_proto.set(JS_GetObjectPrototype(cx, global))"
+ protoGetter = "GetRealmObjectPrototype"
+ getPrototypeProto = "prototype_proto.set(%s(cx))" % protoGetter
else:
getPrototypeProto = ("%s::GetProtoObject(cx, global, prototype_proto.handle_mut())" %
toBindingNamespace(parentName))
@@ -2981,14 +2982,13 @@ assert!((*cache)[PrototypeList::ID::%(id)s as usize].is_null());
else:
properties["length"] = 0
parentName = self.descriptor.getParentName()
+ code.append(CGGeneric("rooted!(in(cx) let mut interface_proto = ptr::null_mut::<JSObject>());"))
if parentName:
parentName = toBindingNamespace(parentName)
code.append(CGGeneric("""
-rooted!(in(cx) let mut interface_proto = ptr::null_mut::<JSObject>());
%s::GetConstructorObject(cx, global, interface_proto.handle_mut());""" % parentName))
else:
- code.append(CGGeneric("""
-rooted!(in(cx) let interface_proto = JS_GetFunctionPrototype(cx, global));"""))
+ code.append(CGGeneric("interface_proto.set(GetRealmFunctionPrototype(cx));"))
code.append(CGGeneric("""\
assert!(!interface_proto.is_null());
@@ -5544,7 +5544,7 @@ if args.callee() == new_target.get() {
rooted!(in(cx) let mut prototype = ptr::null_mut::<JSObject>());
{
rooted!(in(cx) let mut proto_val = UndefinedValue());
- let _ac = JSAutoCompartment::new(cx, new_target.get());
+ let _ac = JSAutoRealm::new(cx, new_target.get());
if !JS_GetProperty(cx, new_target.handle(), b"prototype\\0".as_ptr() as *const _, proto_val.handle_mut()) {
return false;
}
@@ -5765,7 +5765,7 @@ def generate_imports(config, cgthings, descriptors, callbacks=None, dictionaries
'js::jsapi::Heap',
'js::jsapi::INTERNED_STRING_TO_JSID',
'js::jsapi::IsCallable',
- 'js::jsapi::JSAutoCompartment',
+ 'js::jsapi::JSAutoRealm',
'js::jsapi::JSCLASS_FOREGROUND_FINALIZE',
'js::jsapi::JSCLASS_RESERVED_SLOTS_SHIFT',
'js::jsapi::JSClass',
@@ -5804,11 +5804,10 @@ def generate_imports(config, cgthings, descriptors, callbacks=None, dictionaries
'js::rust::wrappers::JS_DefineProperty',
'js::rust::wrappers::JS_DefinePropertyById2',
'js::jsapi::JS_ForwardGetPropertyTo',
- 'js::jsapi::JS_GetErrorPrototype',
- 'js::rust::wrappers::JS_GetFunctionPrototype',
- 'js::jsapi::JS_GetGlobalForObject',
- 'js::jsapi::JS_GetIteratorPrototype',
- 'js::rust::wrappers::JS_GetObjectPrototype',
+ 'js::jsapi::GetRealmErrorPrototype',
+ 'js::jsapi::GetRealmFunctionPrototype',
+ 'js::jsapi::GetRealmIteratorPrototype',
+ 'js::jsapi::GetRealmObjectPrototype',
'js::rust::wrappers::JS_GetProperty',
'js::jsapi::JS_GetPropertyById',
'js::jsapi::JS_GetPropertyDescriptorById',
@@ -5819,7 +5818,7 @@ def generate_imports(config, cgthings, descriptors, callbacks=None, dictionaries
'js::jsapi::JS_NewObject',
'js::rust::wrappers::JS_NewObjectWithGivenProto',
'js::rust::wrappers::JS_NewObjectWithoutMetadata',
- 'js::rust::wrappers::JS_ObjectIsDate',
+ 'js::rust::wrappers::ObjectIsDate',
'js::rust::wrappers::JS_SetImmutablePrototype',
'js::rust::wrappers::JS_SetProperty',
'js::rust::wrappers::JS_SetPrototype',
diff --git a/components/script/dom/bindings/htmlconstructor.rs b/components/script/dom/bindings/htmlconstructor.rs
index a13b6fa9ecb..08323e1e8cd 100644
--- a/components/script/dom/bindings/htmlconstructor.rs
+++ b/components/script/dom/bindings/htmlconstructor.rs
@@ -81,7 +81,7 @@ use html5ever::interface::QualName;
use html5ever::LocalName;
use js::glue::UnwrapObject;
use js::jsapi::{CallArgs, CurrentGlobalOrNull};
-use js::jsapi::{JSAutoCompartment, JSContext, JSObject};
+use js::jsapi::{JSAutoRealm, JSContext, JSObject};
use js::rust::HandleObject;
use js::rust::MutableHandleObject;
use std::ptr;
@@ -115,7 +115,7 @@ where
}
{
- let _ac = JSAutoCompartment::new(window.get_cx(), callee.get());
+ let _ac = JSAutoRealm::new(window.get_cx(), callee.get());
rooted!(in(window.get_cx()) let mut constructor = ptr::null_mut::<JSObject>());
rooted!(in(window.get_cx()) let global_object = CurrentGlobalOrNull(window.get_cx()));
diff --git a/components/script/dom/bindings/interface.rs b/components/script/dom/bindings/interface.rs
index aa681049c3d..8c44ceec23b 100644
--- a/components/script/dom/bindings/interface.rs
+++ b/components/script/dom/bindings/interface.rs
@@ -16,11 +16,9 @@ use js::error::throw_type_error;
use js::glue::{UncheckedUnwrapObject, RUST_SYMBOL_TO_JSID};
use js::jsapi::HandleObject as RawHandleObject;
use js::jsapi::MutableHandleValue as RawMutableHandleValue;
-use js::jsapi::{Class, ClassOps, CompartmentOptions};
-use js::jsapi::{GetGlobalForObjectCrossCompartment, GetWellKnownSymbol};
-use js::jsapi::{
- JSAutoCompartment, JSClass, JSContext, JSFunctionSpec, JSObject, JSFUN_CONSTRUCTOR,
-};
+use js::jsapi::{Class, ClassOps, RealmOptions};
+use js::jsapi::{GetNonCCWObjectGlobal, GetWellKnownSymbol};
+use js::jsapi::{JSAutoRealm, JSClass, JSContext, JSFunctionSpec, JSObject, JSFUN_CONSTRUCTOR};
use js::jsapi::{JSPropertySpec, JSString, JSTracer, JS_AtomizeAndPinString};
use js::jsapi::{JS_GetFunctionObject, JS_NewFunction, JS_NewGlobalObject};
use js::jsapi::{JS_NewObject, JS_NewPlainObject};
@@ -29,8 +27,8 @@ use js::jsapi::{ObjectOps, OnNewGlobalHookOption, SymbolCode};
use js::jsapi::{TrueHandleValue, Value};
use js::jsapi::{JSPROP_PERMANENT, JSPROP_READONLY, JSPROP_RESOLVING};
use js::jsval::{JSVal, PrivateValue};
-use js::rust::wrappers::{JS_DefineProperty, JS_DefineProperty2};
-use js::rust::wrappers::{JS_DefineProperty3, JS_DefineProperty4, JS_DefinePropertyById4};
+use js::rust::wrappers::{JS_DefineProperty, JS_DefineProperty5};
+use js::rust::wrappers::{JS_DefineProperty3, JS_DefineProperty4, JS_DefinePropertyById5};
use js::rust::wrappers::{JS_FireOnNewGlobalObject, JS_GetPrototype};
use js::rust::wrappers::{JS_LinkConstructorAndPrototype, JS_NewObjectWithUniqueType};
use js::rust::{define_methods, define_properties, get_object_class};
@@ -138,7 +136,7 @@ pub unsafe fn create_global_object(
) {
assert!(rval.is_null());
- let mut options = CompartmentOptions::default();
+ let mut options = RealmOptions::default();
options.creationOptions_.traceGlobal_ = Some(trace);
options.creationOptions_.sharedMemoryAndAtomics_ = true;
@@ -160,7 +158,7 @@ pub unsafe fn create_global_object(
let val = PrivateValue(Box::into_raw(proto_array) as *const libc::c_void);
JS_SetReservedSlot(rval.get(), DOM_PROTOTYPE_SLOT, &val);
- let _ac = JSAutoCompartment::new(cx, rval.get());
+ let _ac = JSAutoRealm::new(cx, rval.get());
JS_FireOnNewGlobalObject(cx, rval.handle());
}
@@ -209,7 +207,7 @@ pub unsafe fn create_interface_prototype_object(
assert!(!unscopable_symbol.is_null());
rooted!(in(cx) let unscopable_id = RUST_SYMBOL_TO_JSID(unscopable_symbol));
- assert!(JS_DefinePropertyById4(
+ assert!(JS_DefinePropertyById5(
cx,
rval.handle(),
unscopable_id.handle(),
@@ -275,7 +273,7 @@ pub unsafe fn create_named_constructors(
constructor.set(JS_GetFunctionObject(fun));
assert!(!constructor.is_null());
- assert!(JS_DefineProperty2(
+ assert!(JS_DefineProperty3(
cx,
constructor.handle(),
b"prototype\0".as_ptr() as *const libc::c_char,
@@ -360,7 +358,7 @@ pub unsafe fn define_on_global_object(
obj: HandleObject,
) {
assert_eq!(*name.last().unwrap(), b'\0');
- assert!(JS_DefineProperty2(
+ assert!(JS_DefineProperty3(
cx,
global,
name.as_ptr() as *const libc::c_char,
@@ -442,7 +440,7 @@ unsafe fn has_instance(
}
// Step 2.
- let global = GetGlobalForObjectCrossCompartment(interface_object.get());
+ let global = GetNonCCWObjectGlobal(interface_object.get());
assert!(!global.is_null());
let proto_or_iface_array = get_proto_or_iface_array(global);
rooted!(in(cx) let prototype = (*proto_or_iface_array)[object_class.proto_id as usize]);
@@ -488,7 +486,7 @@ unsafe fn define_name(cx: *mut JSContext, obj: HandleObject, name: &[u8]) {
assert_eq!(*name.last().unwrap(), b'\0');
rooted!(in(cx) let name = JS_AtomizeAndPinString(cx, name.as_ptr() as *const libc::c_char));
assert!(!name.is_null());
- assert!(JS_DefineProperty3(
+ assert!(JS_DefineProperty4(
cx,
obj,
b"name\0".as_ptr() as *const libc::c_char,
@@ -498,7 +496,7 @@ unsafe fn define_name(cx: *mut JSContext, obj: HandleObject, name: &[u8]) {
}
unsafe fn define_length(cx: *mut JSContext, obj: HandleObject, length: i32) {
- assert!(JS_DefineProperty4(
+ assert!(JS_DefineProperty5(
cx,
obj,
b"length\0".as_ptr() as *const libc::c_char,
diff --git a/components/script/dom/bindings/structuredclone.rs b/components/script/dom/bindings/structuredclone.rs
index 8b6d9c2c1c1..c411dece76b 100644
--- a/components/script/dom/bindings/structuredclone.rs
+++ b/components/script/dom/bindings/structuredclone.rs
@@ -22,7 +22,7 @@ use js::jsapi::MutableHandleObject as RawMutableHandleObject;
use js::jsapi::StructuredCloneScope;
use js::jsapi::TransferableOwnership;
use js::jsapi::JS_STRUCTURED_CLONE_VERSION;
-use js::jsapi::{JSAutoCompartment, JSContext};
+use js::jsapi::{JSAutoRealm, JSContext};
use js::jsapi::{JSObject, JS_ClearPendingException};
use js::jsapi::{JSStructuredCloneCallbacks, JSStructuredCloneReader, JSStructuredCloneWriter};
use js::jsapi::{JS_ReadBytes, JS_WriteBytes};
@@ -220,6 +220,14 @@ unsafe extern "C" fn free_transfer_callback(
) {
}
+unsafe extern "C" fn can_transfer_callback(
+ _cx: *mut JSContext,
+ _obj: RawHandleObject,
+ _closure: *mut raw::c_void,
+) -> bool {
+ false
+}
+
unsafe extern "C" fn report_error_callback(_cx: *mut JSContext, _errorid: u32) {}
static STRUCTURED_CLONE_CALLBACKS: JSStructuredCloneCallbacks = JSStructuredCloneCallbacks {
@@ -229,6 +237,7 @@ static STRUCTURED_CLONE_CALLBACKS: JSStructuredCloneCallbacks = JSStructuredClon
readTransfer: Some(read_transfer_callback),
writeTransfer: Some(write_transfer_callback),
freeTransfer: Some(free_transfer_callback),
+ canTransfer: Some(can_transfer_callback),
};
struct StructuredCloneHolder {
@@ -299,7 +308,7 @@ impl StructuredCloneData {
fn read_clone(global: &GlobalScope, data: *mut u64, nbytes: size_t, rval: MutableHandleValue) {
let cx = global.get_cx();
let globalhandle = global.reflector().get_jsobject();
- let _ac = JSAutoCompartment::new(cx, globalhandle.get());
+ let _ac = JSAutoRealm::new(cx, globalhandle.get());
let mut sc_holder = StructuredCloneHolder { blob: None };
let sc_holder_ptr = &mut sc_holder as *mut _;
unsafe {
diff --git a/components/script/dom/bindings/utils.rs b/components/script/dom/bindings/utils.rs
index 727915592e5..621a95c6ef9 100644
--- a/components/script/dom/bindings/utils.rs
+++ b/components/script/dom/bindings/utils.rs
@@ -20,8 +20,8 @@ use js::glue::{RUST_FUNCTION_VALUE_TO_JITINFO, RUST_JSID_IS_INT, RUST_JSID_IS_ST
use js::jsapi::HandleId as RawHandleId;
use js::jsapi::HandleObject as RawHandleObject;
use js::jsapi::MutableHandleObject as RawMutableHandleObject;
-use js::jsapi::{CallArgs, DOMCallbacks, GetGlobalForObjectCrossCompartment};
-use js::jsapi::{Heap, JSAutoCompartment, JSContext};
+use js::jsapi::{CallArgs, DOMCallbacks, GetNonCCWObjectGlobal};
+use js::jsapi::{Heap, JSAutoRealm, JSContext};
use js::jsapi::{JSJitInfo, JSObject, JSTracer, JSWrapObjectCallbacks};
use js::jsapi::{JS_EnumerateStandardClasses, JS_GetLatin1StringCharsAndLength};
use js::jsapi::{JS_IsExceptionPending, JS_IsGlobalObject};
@@ -408,7 +408,7 @@ unsafe extern "C" fn pre_wrap(
_object_passed_to_wrap: RawHandleObject,
rval: RawMutableHandleObject,
) {
- let _ac = JSAutoCompartment::new(cx, obj.get());
+ let _ac = JSAutoRealm::new(cx, obj.get());
let obj = ToWindowProxyIfWindow(obj.get());
assert!(!obj.is_null());
rval.set(obj)
@@ -455,12 +455,11 @@ unsafe fn generic_call(
return false;
}
- let obj = if thisobj.get().is_object() {
+ rooted!(in(cx) let obj = if thisobj.get().is_object() {
thisobj.get().to_object()
} else {
- GetGlobalForObjectCrossCompartment(JS_CALLEE(cx, vp).to_object_or_null())
- };
- rooted!(in(cx) let obj = obj);
+ GetNonCCWObjectGlobal(JS_CALLEE(cx, vp).to_object_or_null())
+ });
let depth = (*info).depth;
let proto_check =
|class: &'static DOMClass| class.interface_chain[depth as usize] as u16 == proto_id;
diff --git a/components/script/dom/bluetooth.rs b/components/script/dom/bluetooth.rs
index 4b31a4b765e..ae7e387a9c3 100644
--- a/components/script/dom/bluetooth.rs
+++ b/components/script/dom/bluetooth.rs
@@ -116,7 +116,7 @@ where
fn response(&mut self, response: BluetoothResponseResult) {
let promise = self.promise.take().expect("bt promise is missing").root();
- // JSAutoCompartment needs to be manually made.
+ // JSAutoRealm needs to be manually made.
// Otherwise, Servo will crash.
match response {
Ok(response) => self.receiver.root().handle_response(response, &promise),
diff --git a/components/script/dom/create.rs b/components/script/dom/create.rs
index 6ffb38f753a..5ca05d2f713 100644
--- a/components/script/dom/create.rs
+++ b/components/script/dom/create.rs
@@ -82,7 +82,7 @@ use crate::dom::htmlvideoelement::HTMLVideoElement;
use crate::dom::svgsvgelement::SVGSVGElement;
use crate::script_thread::ScriptThread;
use html5ever::{LocalName, Prefix, QualName};
-use js::jsapi::JSAutoCompartment;
+use js::jsapi::JSAutoRealm;
use servo_config::pref;
fn create_svg_element(
@@ -156,10 +156,8 @@ fn create_html_element(
// Step 6.1.1
unsafe {
- let _ac = JSAutoCompartment::new(
- cx,
- global.reflector().get_jsobject().get(),
- );
+ let _ac =
+ JSAutoRealm::new(cx, global.reflector().get_jsobject().get());
throw_dom_exception(cx, &global, error);
report_pending_exception(cx, true);
}
diff --git a/components/script/dom/customelementregistry.rs b/components/script/dom/customelementregistry.rs
index 39824e334a2..32cbe140b2c 100644
--- a/components/script/dom/customelementregistry.rs
+++ b/components/script/dom/customelementregistry.rs
@@ -37,9 +37,9 @@ use html5ever::{LocalName, Namespace, Prefix};
use js::conversions::ToJSValConvertible;
use js::glue::UnwrapObject;
use js::jsapi::{HandleValueArray, Heap, IsCallable, IsConstructor};
-use js::jsapi::{JSAutoCompartment, JSContext, JSObject};
+use js::jsapi::{JSAutoRealm, JSContext, JSObject};
use js::jsval::{JSVal, NullValue, ObjectValue, UndefinedValue};
-use js::rust::wrappers::{Construct1, JS_GetProperty, JS_SameValue};
+use js::rust::wrappers::{Construct1, JS_GetProperty, SameValue};
use js::rust::{HandleObject, HandleValue, MutableHandleValue};
use std::cell::Cell;
use std::collections::{HashMap, VecDeque};
@@ -324,7 +324,7 @@ impl CustomElementRegistryMethods for CustomElementRegistry {
// Steps 10.1 - 10.2
rooted!(in(cx) let mut prototype = UndefinedValue());
{
- let _ac = JSAutoCompartment::new(cx, constructor.get());
+ let _ac = JSAutoRealm::new(cx, constructor.get());
if let Err(error) = self.check_prototype(constructor.handle(), prototype.handle_mut()) {
self.element_definition_is_running.set(false);
return Err(error);
@@ -334,7 +334,7 @@ impl CustomElementRegistryMethods for CustomElementRegistry {
// Steps 10.3 - 10.4
rooted!(in(cx) let proto_object = prototype.to_object());
let callbacks = {
- let _ac = JSAutoCompartment::new(cx, proto_object.get());
+ let _ac = JSAutoRealm::new(cx, proto_object.get());
match unsafe { self.get_callbacks(proto_object.handle()) } {
Ok(callbacks) => callbacks,
Err(error) => {
@@ -346,7 +346,7 @@ impl CustomElementRegistryMethods for CustomElementRegistry {
// Step 10.5 - 10.6
let observed_attributes = if callbacks.attribute_changed_callback.is_some() {
- let _ac = JSAutoCompartment::new(cx, constructor.get());
+ let _ac = JSAutoRealm::new(cx, constructor.get());
match self.get_observed_attributes(constructor.handle()) {
Ok(attributes) => attributes,
Err(error) => {
@@ -535,7 +535,7 @@ impl CustomElementDefinition {
rooted!(in(cx) let mut element = ptr::null_mut::<JSObject>());
{
// Go into the constructor's compartment
- let _ac = JSAutoCompartment::new(cx, self.constructor.callback());
+ let _ac = JSAutoRealm::new(cx, self.constructor.callback());
let args = HandleValueArray::new();
if unsafe { !Construct1(cx, constructor.handle(), &args, element.handle_mut()) } {
return Err(Error::JSFailed);
@@ -665,7 +665,7 @@ fn run_upgrade_constructor(
rooted!(in(cx) let mut construct_result = ptr::null_mut::<JSObject>());
{
// Go into the constructor's compartment
- let _ac = JSAutoCompartment::new(cx, constructor.callback());
+ let _ac = JSAutoRealm::new(cx, constructor.callback());
let args = HandleValueArray::new();
// Step 7.1
if unsafe {
@@ -682,7 +682,7 @@ fn run_upgrade_constructor(
let mut same = false;
rooted!(in(cx) let construct_result_val = ObjectValue(construct_result.get()));
if unsafe {
- !JS_SameValue(
+ !SameValue(
cx,
construct_result_val.handle(),
element_val.handle(),
diff --git a/components/script/dom/dedicatedworkerglobalscope.rs b/components/script/dom/dedicatedworkerglobalscope.rs
index 374471b8798..8e49fb40e2d 100644
--- a/components/script/dom/dedicatedworkerglobalscope.rs
+++ b/components/script/dom/dedicatedworkerglobalscope.rs
@@ -33,7 +33,7 @@ use dom_struct::dom_struct;
use ipc_channel::ipc::{self, IpcReceiver, IpcSender};
use ipc_channel::router::ROUTER;
use js::jsapi::JS_AddInterruptCallback;
-use js::jsapi::{JSAutoCompartment, JSContext};
+use js::jsapi::{JSAutoRealm, JSContext};
use js::jsval::UndefinedValue;
use js::rust::HandleValue;
use msg::constellation_msg::{PipelineId, TopLevelBrowsingContextId};
@@ -433,8 +433,7 @@ impl DedicatedWorkerGlobalScope {
WorkerScriptMsg::DOMMessage(data) => {
let scope = self.upcast::<WorkerGlobalScope>();
let target = self.upcast();
- let _ac =
- JSAutoCompartment::new(scope.get_cx(), scope.reflector().get_jsobject().get());
+ let _ac = JSAutoRealm::new(scope.get_cx(), scope.reflector().get_jsobject().get());
rooted!(in(scope.get_cx()) let mut message = UndefinedValue());
data.read(scope.upcast(), message.handle_mut());
MessageEvent::dispatch_jsval(target, scope.upcast(), message.handle(), None, None);
diff --git a/components/script/dom/eventsource.rs b/components/script/dom/eventsource.rs
index 69fcc7ce903..cad3e268a8c 100644
--- a/components/script/dom/eventsource.rs
+++ b/components/script/dom/eventsource.rs
@@ -28,7 +28,7 @@ use http::header::{self, HeaderName, HeaderValue};
use ipc_channel::ipc;
use ipc_channel::router::ROUTER;
use js::conversions::ToJSValConvertible;
-use js::jsapi::JSAutoCompartment;
+use js::jsapi::JSAutoRealm;
use js::jsval::UndefinedValue;
use mime::{self, Mime};
use net_traits::request::{CacheMode, CorsSettings, CredentialsMode};
@@ -222,7 +222,7 @@ impl EventSourceContext {
};
// Steps 4-5
let event = {
- let _ac = JSAutoCompartment::new(
+ let _ac = JSAutoRealm::new(
event_source.global().get_cx(),
event_source.reflector().get_jsobject().get(),
);
diff --git a/components/script/dom/eventtarget.rs b/components/script/dom/eventtarget.rs
index 69e536f73f9..b5376b88945 100644
--- a/components/script/dom/eventtarget.rs
+++ b/components/script/dom/eventtarget.rs
@@ -34,10 +34,10 @@ use crate::dom::virtualmethods::VirtualMethods;
use crate::dom::window::Window;
use dom_struct::dom_struct;
use fnv::FnvHasher;
-use js::jsapi::{JSAutoCompartment, JSFunction, JS_GetFunctionObject};
+use js::jsapi::{JSAutoRealm, JSFunction, JS_GetFunctionObject, SourceText};
use js::rust::wrappers::CompileFunction;
use js::rust::{AutoObjectVectorWrapper, CompileOptionsWrapper};
-use libc::{c_char, size_t};
+use libc::c_char;
use servo_atoms::Atom;
use servo_url::ServoUrl;
use std::collections::hash_map::Entry::{Occupied, Vacant};
@@ -45,6 +45,7 @@ use std::collections::HashMap;
use std::default::Default;
use std::ffi::CString;
use std::hash::BuildHasherDefault;
+use std::marker::PhantomData;
use std::mem;
use std::ops::{Deref, DerefMut};
use std::ptr;
@@ -505,7 +506,7 @@ impl EventTarget {
let scopechain = AutoObjectVectorWrapper::new(cx);
- let _ac = JSAutoCompartment::new(cx, window.reflector().get_jsobject().get());
+ let _ac = JSAutoRealm::new(cx, window.reflector().get_jsobject().get());
rooted!(in(cx) let mut handler = ptr::null_mut::<JSFunction>());
let rv = unsafe {
CompileFunction(
@@ -515,15 +516,19 @@ impl EventTarget {
name.as_ptr(),
args.len() as u32,
args.as_ptr(),
- body.as_ptr(),
- body.len() as size_t,
+ &mut SourceText {
+ units_: body.as_ptr() as *const _,
+ length_: body.len() as u32,
+ ownsUnits_: false,
+ _phantom_0: PhantomData,
+ },
handler.handle_mut().into(),
)
};
if !rv || handler.get().is_null() {
// Step 1.8.2
unsafe {
- let _ac = JSAutoCompartment::new(cx, self.reflector().get_jsobject().get());
+ let _ac = JSAutoRealm::new(cx, self.reflector().get_jsobject().get());
// FIXME(#13152): dispatch error event.
report_pending_exception(cx, false);
}
diff --git a/components/script/dom/filereader.rs b/components/script/dom/filereader.rs
index 55989078d4f..677503acea7 100644
--- a/components/script/dom/filereader.rs
+++ b/components/script/dom/filereader.rs
@@ -28,7 +28,7 @@ use base64;
use dom_struct::dom_struct;
use encoding_rs::{Encoding, UTF_8};
use js::jsapi::Heap;
-use js::jsapi::JSAutoCompartment;
+use js::jsapi::JSAutoRealm;
use js::jsapi::JSContext;
use js::jsapi::JSObject;
use js::jsval::{self, JSVal};
@@ -262,8 +262,7 @@ impl FileReader {
FileReader::perform_readastext(&fr.result, data, &blob_contents)
},
FileReaderFunction::ReadAsArrayBuffer => {
- let _ac =
- JSAutoCompartment::new(fr.global().get_cx(), *fr.reflector().get_jsobject());
+ let _ac = JSAutoRealm::new(fr.global().get_cx(), *fr.reflector().get_jsobject());
FileReader::perform_readasarraybuffer(
&fr.result,
fr.global().get_cx(),
diff --git a/components/script/dom/globalscope.rs b/components/script/dom/globalscope.rs
index 33458bf2ece..f803d6228b7 100644
--- a/components/script/dom/globalscope.rs
+++ b/components/script/dom/globalscope.rs
@@ -42,11 +42,11 @@ use dom_struct::dom_struct;
use ipc_channel::ipc::IpcSender;
use js::glue::{IsWrapper, UnwrapObject};
use js::jsapi::JSObject;
-use js::jsapi::{CurrentGlobalOrNull, GetGlobalForObjectCrossCompartment};
+use js::jsapi::{CurrentGlobalOrNull, GetNonCCWObjectGlobal};
use js::jsapi::{HandleObject, Heap};
-use js::jsapi::{JSAutoCompartment, JSContext};
+use js::jsapi::{JSAutoRealm, JSContext};
use js::panic::maybe_resume_unwind;
-use js::rust::wrappers::Evaluate2;
+use js::rust::wrappers::EvaluateUtf8;
use js::rust::{get_object_class, CompileOptionsWrapper, ParentRuntime, Runtime};
use js::rust::{HandleValue, MutableHandleValue};
use js::{JSCLASS_IS_DOMJSCLASS, JSCLASS_IS_GLOBAL};
@@ -230,7 +230,7 @@ impl GlobalScope {
#[allow(unsafe_code)]
pub unsafe fn from_object(obj: *mut JSObject) -> DomRoot<Self> {
assert!(!obj.is_null());
- let global = GetGlobalForObjectCrossCompartment(obj);
+ let global = GetNonCCWObjectGlobal(obj);
global_scope_from_global(global)
}
@@ -540,19 +540,18 @@ impl GlobalScope {
|| {
let cx = self.get_cx();
let globalhandle = self.reflector().get_jsobject();
- let code: Vec<u16> = code.encode_utf16().collect();
let filename = CString::new(filename).unwrap();
- let _ac = JSAutoCompartment::new(cx, globalhandle.get());
+ let _ac = JSAutoRealm::new(cx, globalhandle.get());
let _aes = AutoEntryScript::new(self);
let options = CompileOptionsWrapper::new(cx, filename.as_ptr(), line_number);
debug!("evaluating Dom string");
let result = unsafe {
- Evaluate2(
+ EvaluateUtf8(
cx,
options.ptr,
- code.as_ptr(),
+ code.as_ptr() as *const _,
code.len() as libc::size_t,
rval,
)
diff --git a/components/script/dom/paintworkletglobalscope.rs b/components/script/dom/paintworkletglobalscope.rs
index 89b9907c95c..36b57e266f9 100644
--- a/components/script/dom/paintworkletglobalscope.rs
+++ b/components/script/dom/paintworkletglobalscope.rs
@@ -31,7 +31,7 @@ use js::jsapi::HandleValueArray;
use js::jsapi::Heap;
use js::jsapi::IsCallable;
use js::jsapi::IsConstructor;
-use js::jsapi::JSAutoCompartment;
+use js::jsapi::JSAutoRealm;
use js::jsapi::JSObject;
use js::jsapi::JS_ClearPendingException;
use js::jsapi::JS_IsExceptionPending;
@@ -252,7 +252,7 @@ impl PaintWorkletGlobalScope {
);
let cx = self.worklet_global.get_cx();
- let _ac = JSAutoCompartment::new(cx, self.worklet_global.reflector().get_jsobject().get());
+ let _ac = JSAutoRealm::new(cx, self.worklet_global.reflector().get_jsobject().get());
// TODO: Steps 1-2.1.
// Step 2.2-5.1.
diff --git a/components/script/dom/promise.rs b/components/script/dom/promise.rs
index c868d5d52d7..152828b8110 100644
--- a/components/script/dom/promise.rs
+++ b/components/script/dom/promise.rs
@@ -22,7 +22,7 @@ use dom_struct::dom_struct;
use js::conversions::ToJSValConvertible;
use js::jsapi::{AddRawValueRoot, CallArgs, GetFunctionNativeReserved};
use js::jsapi::{Heap, JS_ClearPendingException};
-use js::jsapi::{JSAutoCompartment, JSContext, JSObject, JS_GetFunctionObject};
+use js::jsapi::{JSAutoRealm, JSContext, JSObject, JS_GetFunctionObject};
use js::jsapi::{JS_NewFunction, NewFunctionWithReserved, PromiseState};
use js::jsapi::{RemoveRawValueRoot, SetFunctionNativeReserved};
use js::jsval::{Int32Value, JSVal, ObjectValue, UndefinedValue};
@@ -82,7 +82,7 @@ impl Drop for Promise {
impl Promise {
pub fn new(global: &GlobalScope) -> Rc<Promise> {
let compartment =
- JSAutoCompartment::new(global.get_cx(), global.reflector().get_jsobject().get());
+ JSAutoRealm::new(global.get_cx(), global.reflector().get_jsobject().get());
let comp = InCompartment::Entered(&compartment);
Promise::new_in_current_compartment(global, comp)
}
@@ -142,7 +142,7 @@ impl Promise {
cx: *mut JSContext,
value: HandleValue,
) -> Fallible<Rc<Promise>> {
- let _ac = JSAutoCompartment::new(cx, global.reflector().get_jsobject().get());
+ let _ac = JSAutoRealm::new(cx, global.reflector().get_jsobject().get());
rooted!(in(cx) let p = CallOriginalPromiseResolve(cx, value));
assert!(!p.handle().is_null());
Ok(Promise::new_with_js_promise(p.handle(), cx))
@@ -154,7 +154,7 @@ impl Promise {
cx: *mut JSContext,
value: HandleValue,
) -> Fallible<Rc<Promise>> {
- let _ac = JSAutoCompartment::new(cx, global.reflector().get_jsobject().get());
+ let _ac = JSAutoRealm::new(cx, global.reflector().get_jsobject().get());
rooted!(in(cx) let p = CallOriginalPromiseReject(cx, value));
assert!(!p.handle().is_null());
Ok(Promise::new_with_js_promise(p.handle(), cx))
@@ -166,7 +166,7 @@ impl Promise {
T: ToJSValConvertible,
{
let cx = self.global().get_cx();
- let _ac = JSAutoCompartment::new(cx, self.reflector().get_jsobject().get());
+ let _ac = JSAutoRealm::new(cx, self.reflector().get_jsobject().get());
rooted!(in(cx) let mut v = UndefinedValue());
unsafe {
val.to_jsval(cx, v.handle_mut());
@@ -187,7 +187,7 @@ impl Promise {
T: ToJSValConvertible,
{
let cx = self.global().get_cx();
- let _ac = JSAutoCompartment::new(cx, self.reflector().get_jsobject().get());
+ let _ac = JSAutoRealm::new(cx, self.reflector().get_jsobject().get());
rooted!(in(cx) let mut v = UndefinedValue());
unsafe {
val.to_jsval(cx, v.handle_mut());
@@ -198,7 +198,7 @@ impl Promise {
#[allow(unsafe_code)]
pub fn reject_error(&self, error: Error) {
let cx = self.global().get_cx();
- let _ac = JSAutoCompartment::new(cx, self.reflector().get_jsobject().get());
+ let _ac = JSAutoRealm::new(cx, self.reflector().get_jsobject().get());
rooted!(in(cx) let mut v = UndefinedValue());
unsafe {
error.to_jsval(cx, &self.global(), v.handle_mut());
diff --git a/components/script/dom/serviceworkerglobalscope.rs b/components/script/dom/serviceworkerglobalscope.rs
index 1ecdbf00b9b..2a5bd7c3312 100644
--- a/components/script/dom/serviceworkerglobalscope.rs
+++ b/components/script/dom/serviceworkerglobalscope.rs
@@ -28,7 +28,7 @@ use devtools_traits::DevtoolScriptControlMsg;
use dom_struct::dom_struct;
use ipc_channel::ipc::{self, IpcReceiver, IpcSender};
use ipc_channel::router::ROUTER;
-use js::jsapi::{JSAutoCompartment, JSContext, JS_AddInterruptCallback};
+use js::jsapi::{JSAutoRealm, JSContext, JS_AddInterruptCallback};
use js::jsval::UndefinedValue;
use msg::constellation_msg::PipelineId;
use net_traits::request::{CredentialsMode, Destination, Referrer, RequestBuilder};
@@ -406,8 +406,7 @@ impl ServiceWorkerGlobalScope {
CommonWorker(WorkerScriptMsg::DOMMessage(data)) => {
let scope = self.upcast::<WorkerGlobalScope>();
let target = self.upcast();
- let _ac =
- JSAutoCompartment::new(scope.get_cx(), scope.reflector().get_jsobject().get());
+ let _ac = JSAutoRealm::new(scope.get_cx(), scope.reflector().get_jsobject().get());
rooted!(in(scope.get_cx()) let mut message = UndefinedValue());
data.read(scope.upcast(), message.handle_mut());
ExtendableMessageEvent::dispatch_jsval(target, scope.upcast(), message.handle());
diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs
index 794069f5522..530d2ca6f76 100644
--- a/components/script/dom/websocket.rs
+++ b/components/script/dom/websocket.rs
@@ -27,7 +27,7 @@ use crate::task_source::websocket::WebsocketTaskSource;
use crate::task_source::TaskSource;
use dom_struct::dom_struct;
use ipc_channel::ipc::{self, IpcReceiver, IpcSender};
-use js::jsapi::{JSAutoCompartment, JSObject};
+use js::jsapi::{JSAutoRealm, JSObject};
use js::jsval::UndefinedValue;
use js::rust::CustomAutoRooterGuard;
use js::typedarray::{ArrayBuffer, ArrayBufferView, CreateWith};
@@ -570,7 +570,7 @@ impl TaskOnce for MessageReceivedTask {
// global.get_cx() returns a valid `JSContext` pointer, so this is safe.
unsafe {
let cx = global.get_cx();
- let _ac = JSAutoCompartment::new(cx, ws.reflector().get_jsobject().get());
+ let _ac = JSAutoRealm::new(cx, ws.reflector().get_jsobject().get());
rooted!(in(cx) let mut message = UndefinedValue());
match self.message {
MessageData::Text(text) => text.to_jsval(cx, message.handle_mut()),
diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs
index e57e27fd8c4..1a8b5e68c8b 100644
--- a/components/script/dom/window.rs
+++ b/components/script/dom/window.rs
@@ -76,10 +76,10 @@ use embedder_traits::EmbedderMsg;
use euclid::{Point2D, Rect, Size2D, TypedPoint2D, TypedScale, TypedSize2D, Vector2D};
use ipc_channel::ipc::{channel, IpcSender};
use ipc_channel::router::ROUTER;
-use js::jsapi::JSAutoCompartment;
+use js::jsapi::JSAutoRealm;
use js::jsapi::JSContext;
use js::jsapi::JSPROP_ENUMERATE;
-use js::jsapi::JS_GC;
+use js::jsapi::{GCReason, JS_GC};
use js::jsval::JSVal;
use js::jsval::UndefinedValue;
use js::rust::wrappers::JS_DefineProperty;
@@ -901,7 +901,7 @@ impl WindowMethods for Window {
#[allow(unsafe_code)]
fn Gc(&self) {
unsafe {
- JS_GC(self.get_cx());
+ JS_GC(self.get_cx(), GCReason::API);
}
}
@@ -2213,7 +2213,7 @@ impl Window {
// Steps 7.2.-7.5.
let cx = this.get_cx();
let obj = this.reflector().get_jsobject();
- let _ac = JSAutoCompartment::new(cx, obj.get());
+ let _ac = JSAutoRealm::new(cx, obj.get());
rooted!(in(cx) let mut message_clone = UndefinedValue());
serialize_with_transfer_result.read(
this.upcast(),
diff --git a/components/script/dom/windowproxy.rs b/components/script/dom/windowproxy.rs
index 12e726f1752..7b53656e918 100644
--- a/components/script/dom/windowproxy.rs
+++ b/components/script/dom/windowproxy.rs
@@ -31,7 +31,7 @@ use js::jsapi::HandleValue as RawHandleValue;
use js::jsapi::MutableHandle as RawMutableHandle;
use js::jsapi::MutableHandleObject as RawMutableHandleObject;
use js::jsapi::MutableHandleValue as RawMutableHandleValue;
-use js::jsapi::{JSAutoCompartment, JSContext, JSErrNum, JSFreeOp, JSObject};
+use js::jsapi::{JSAutoRealm, JSContext, JSErrNum, JSFreeOp, JSObject};
use js::jsapi::{JSTracer, JS_DefinePropertyById, JSPROP_ENUMERATE, JSPROP_READONLY};
use js::jsapi::{JS_ForwardGetPropertyTo, JS_ForwardSetPropertyTo};
use js::jsapi::{JS_GetOwnPropertyDescriptorById, JS_IsExceptionPending};
@@ -148,7 +148,7 @@ impl WindowProxy {
((*get_object_class(window_jsobject.get())).flags & JSCLASS_IS_GLOBAL),
0
);
- let _ac = JSAutoCompartment::new(cx, window_jsobject.get());
+ let _ac = JSAutoRealm::new(cx, window_jsobject.get());
// Create a new window proxy.
rooted!(in(cx) let js_proxy = NewWindowProxy(cx, window_jsobject, handler));
@@ -219,7 +219,7 @@ impl WindowProxy {
((*get_object_class(window_jsobject.get())).flags & JSCLASS_IS_GLOBAL),
0
);
- let _ac = JSAutoCompartment::new(cx, window_jsobject.get());
+ let _ac = JSAutoRealm::new(cx, window_jsobject.get());
// Create a new window proxy.
rooted!(in(cx) let js_proxy = NewWindowProxy(cx, window_jsobject, handler));
@@ -548,7 +548,7 @@ impl WindowProxy {
((*get_object_class(window_jsobject.get())).flags & JSCLASS_IS_GLOBAL),
0
);
- let _ac = JSAutoCompartment::new(cx, window_jsobject.get());
+ let _ac = JSAutoRealm::new(cx, window_jsobject.get());
// The old window proxy no longer owns this browsing context.
SetProxyReservedSlot(old_js_proxy.get(), 0, &PrivateValue(ptr::null_mut()));
diff --git a/components/script/dom/worker.rs b/components/script/dom/worker.rs
index aeabbeb2645..76eab2fb666 100644
--- a/components/script/dom/worker.rs
+++ b/components/script/dom/worker.rs
@@ -25,7 +25,7 @@ use crossbeam_channel::{unbounded, Sender};
use devtools_traits::{DevtoolsPageInfo, ScriptToDevtoolsControlMsg};
use dom_struct::dom_struct;
use ipc_channel::ipc;
-use js::jsapi::{JSAutoCompartment, JSContext, JS_RequestInterruptCallback};
+use js::jsapi::{JSAutoRealm, JSContext, JS_RequestInterruptCallback};
use js::jsval::UndefinedValue;
use js::rust::HandleValue;
use script_traits::WorkerScriptLoadOrigin;
@@ -137,7 +137,7 @@ impl Worker {
let global = worker.global();
let target = worker.upcast();
- let _ac = JSAutoCompartment::new(global.get_cx(), target.reflector().get_jsobject().get());
+ let _ac = JSAutoRealm::new(global.get_cx(), target.reflector().get_jsobject().get());
rooted!(in(global.get_cx()) let mut message = UndefinedValue());
data.read(&global, message.handle_mut());
MessageEvent::dispatch_jsval(target, &global, message.handle(), None, None);
diff --git a/components/script/dom/workerglobalscope.rs b/components/script/dom/workerglobalscope.rs
index 41b90fa2fa9..cb0a78649dc 100644
--- a/components/script/dom/workerglobalscope.rs
+++ b/components/script/dom/workerglobalscope.rs
@@ -37,7 +37,7 @@ use crossbeam_channel::Receiver;
use devtools_traits::{DevtoolScriptControlMsg, WorkerId};
use dom_struct::dom_struct;
use ipc_channel::ipc::IpcSender;
-use js::jsapi::{JSAutoCompartment, JSContext};
+use js::jsapi::{JSAutoRealm, JSContext};
use js::jsval::UndefinedValue;
use js::panic::maybe_resume_unwind;
use js::rust::{HandleValue, ParentRuntime};
@@ -401,7 +401,7 @@ impl WorkerGlobalScope {
// https://github.com/servo/servo/issues/6422
println!("evaluate_script failed");
unsafe {
- let _ac = JSAutoCompartment::new(
+ let _ac = JSAutoRealm::new(
self.runtime.cx(),
self.reflector().get_jsobject().get(),
);
diff --git a/components/script/dom/worklet.rs b/components/script/dom/worklet.rs
index a7611517d13..569af7fd184 100644
--- a/components/script/dom/worklet.rs
+++ b/components/script/dom/worklet.rs
@@ -46,7 +46,7 @@ use dom_struct::dom_struct;
use js::jsapi::JSGCParamKey;
use js::jsapi::JSTracer;
use js::jsapi::JS_GetGCParameter;
-use js::jsapi::JS_GC;
+use js::jsapi::{GCReason, JS_GC};
use msg::constellation_msg::PipelineId;
use net_traits::request::Destination;
use net_traits::request::RequestBuilder;
@@ -568,7 +568,7 @@ impl WorkletThread {
self.current_memory_usage(),
self.gc_threshold
);
- unsafe { JS_GC(self.runtime.cx()) };
+ unsafe { JS_GC(self.runtime.cx(), GCReason::API) };
self.gc_threshold = max(MIN_GC_THRESHOLD, self.current_memory_usage() * 2);
debug!(
"END GC (usage = {}, threshold = {}).",
diff --git a/components/script/fetch.rs b/components/script/fetch.rs
index d65b79291c5..8f0319f4443 100644
--- a/components/script/fetch.rs
+++ b/components/script/fetch.rs
@@ -26,7 +26,7 @@ use crate::network_listener::{
use crate::task_source::TaskSourceName;
use ipc_channel::ipc;
use ipc_channel::router::ROUTER;
-use js::jsapi::JSAutoCompartment;
+use js::jsapi::JSAutoRealm;
use net_traits::request::RequestBuilder;
use net_traits::request::{Request as NetTraitsRequest, ServiceWorkersMode};
use net_traits::CoreResourceMsg::Fetch as NetTraitsFetch;
@@ -210,10 +210,10 @@ impl FetchResponseListener for FetchContext {
.expect("fetch promise is missing")
.root();
- // JSAutoCompartment needs to be manually made.
+ // JSAutoRealm needs to be manually made.
// Otherwise, Servo will crash.
let promise_cx = promise.global().get_cx();
- let _ac = JSAutoCompartment::new(promise_cx, promise.reflector().get_jsobject().get());
+ let _ac = JSAutoRealm::new(promise_cx, promise.reflector().get_jsobject().get());
match fetch_metadata {
// Step 4.1
Err(_) => {
@@ -263,7 +263,7 @@ impl FetchResponseListener for FetchContext {
let response = self.response_object.root();
let global = response.global();
let cx = global.get_cx();
- let _ac = JSAutoCompartment::new(cx, global.reflector().get_jsobject().get());
+ let _ac = JSAutoRealm::new(cx, global.reflector().get_jsobject().get());
response.finish(mem::replace(&mut self.body, vec![]));
// TODO
// ... trailerObject is not supported in Servo yet.
diff --git a/components/script/script_runtime.rs b/components/script/script_runtime.rs
index 80fe9cf31e5..ce64f363594 100644
--- a/components/script/script_runtime.rs
+++ b/components/script/script_runtime.rs
@@ -37,7 +37,9 @@ use js::jsapi::{
JSJitCompilerOption, JS_SetOffthreadIonCompilationEnabled, JS_SetParallelParsingEnabled,
};
use js::jsapi::{JSObject, PromiseRejectionHandlingState, SetPreserveWrapperCallback};
-use js::jsapi::{SetBuildIdOp, SetEnqueuePromiseJobCallback, SetPromiseRejectionTrackerCallback};
+use js::jsapi::{
+ SetEnqueuePromiseJobCallback, SetProcessBuildIdOp, SetPromiseRejectionTrackerCallback,
+};
use js::panic::wrap_panic;
use js::rust::wrappers::{GetPromiseIsHandled, GetPromiseResult};
use js::rust::Handle;
@@ -137,15 +139,15 @@ pub trait ScriptPort {
#[allow(unsafe_code)]
unsafe extern "C" fn enqueue_job(
cx: *mut JSContext,
+ _promise: HandleObject,
job: HandleObject,
_allocation_site: HandleObject,
- _incumbent_global: HandleObject,
+ incumbent_global: HandleObject,
_data: *mut c_void,
) -> bool {
wrap_panic(
AssertUnwindSafe(|| {
- //XXXjdm - use a different global now?
- let global = GlobalScope::from_object(job.get());
+ let global = GlobalScope::from_object(incumbent_global.get());
let pipeline = global.pipeline_id();
global.enqueue_microtask(Microtask::Promise(EnqueuedPromiseCallback {
callback: PromiseJobCallback::new(cx, job.get()),
@@ -360,7 +362,7 @@ unsafe fn new_rt_and_cx_with_parent(parent: Option<ParentRuntime>) -> Runtime {
SetGCSliceCallback(cx, Some(gc_slice_callback));
}
- unsafe extern "C" fn empty_wrapper_callback(_: *mut JSContext, _: *mut JSObject) -> bool {
+ unsafe extern "C" fn empty_wrapper_callback(_: *mut JSContext, _: HandleObject) -> bool {
true
}
SetDOMCallbacks(cx, &DOM_CALLBACKS);
@@ -384,7 +386,7 @@ unsafe fn new_rt_and_cx_with_parent(parent: Option<ParentRuntime>) -> Runtime {
// If WASM is enabled without setting the buildIdOp,
// initializing a module will report an out of memory error.
// https://dxr.mozilla.org/mozilla-central/source/js/src/wasm/WasmTypes.cpp#458
- SetBuildIdOp(cx, Some(servo_build_id));
+ SetProcessBuildIdOp(Some(servo_build_id));
}
cx_opts.set_wasmBaseline_(pref!(js.wasm.baseline.enabled));
cx_opts.set_wasmIon_(pref!(js.wasm.ion.enabled));
diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs
index 4fbaec2b465..cc0500805aa 100644
--- a/components/script/script_thread.rs
+++ b/components/script/script_thread.rs
@@ -99,7 +99,7 @@ use hyper_serde::Serde;
use ipc_channel::ipc::{self, IpcSender};
use ipc_channel::router::ROUTER;
use js::glue::GetWindowProxyClass;
-use js::jsapi::{JSAutoCompartment, JSContext, JS_SetWrapObjectCallbacks};
+use js::jsapi::{JSAutoRealm, JSContext, JS_SetWrapObjectCallbacks};
use js::jsapi::{JSTracer, SetWindowProxyClass};
use js::jsval::UndefinedValue;
use js::rust::ParentRuntime;
@@ -1971,7 +1971,7 @@ impl ScriptThread {
fn handle_exit_fullscreen(&self, id: PipelineId) {
let document = self.documents.borrow().find_document(id);
if let Some(document) = document {
- let _ac = JSAutoCompartment::new(
+ let _ac = JSAutoRealm::new(
document.global().get_cx(),
document.reflector().get_jsobject().get(),
);
@@ -3278,7 +3278,7 @@ impl ScriptThread {
let script_source = percent_decode(encoded.as_bytes()).decode_utf8_lossy();
// Script source is ready to be evaluated (11.)
- let _ac = JSAutoCompartment::new(
+ let _ac = JSAutoRealm::new(
global_scope.get_cx(),
global_scope.reflector().get_jsobject().get(),
);
diff --git a/etc/ci/buildbot_steps.yml b/etc/ci/buildbot_steps.yml
index f57d244079b..eb7593d44fa 100644
--- a/etc/ci/buildbot_steps.yml
+++ b/etc/ci/buildbot_steps.yml
@@ -6,6 +6,10 @@ env:
GST_DEBUG: '3'
mac-rel-wpt2:
+ env:
+ CC: /usr/local/opt/llvm/bin/clang
+ CXX: /usr/local/opt/llvm/bin/clang++
+ commands:
- ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force
- env PKG_CONFIG_PATH=/usr/local/opt/zlib/lib/pkgconfig ./mach build --release
@@ -13,6 +17,10 @@ mac-rel-wpt2:
- ./mach filter-intermittents wpt-errorsummary.log --log-intermittents intermittents.log --log-filteredsummary filtered-wpt-errorsummary.log --tracker-api default --reporter-api default
mac-rel-wpt3:
+ env:
+ CC: /usr/local/opt/llvm/bin/clang
+ CXX: /usr/local/opt/llvm/bin/clang++
+ commands:
- ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force
- env PKG_CONFIG_PATH=/usr/local/opt/zlib/lib/pkgconfig ./mach build --release
@@ -20,6 +28,10 @@ mac-rel-wpt3:
- ./mach filter-intermittents wpt-errorsummary.log --log-intermittents intermittents.log --log-filteredsummary filtered-wpt-errorsummary.log --tracker-api default --reporter-api default
mac-rel-wpt4:
+ env:
+ CC: /usr/local/opt/llvm/bin/clang
+ CXX: /usr/local/opt/llvm/bin/clang++
+ commands:
- ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force
- env PKG_CONFIG_PATH=/usr/local/opt/zlib/lib/pkgconfig ./mach build --release
@@ -29,6 +41,10 @@ mac-rel-wpt4:
- ./mach filter-intermittents async-parsing-errorsummary.log --log-intermittents async-parsing-intermittents.log --log-filteredsummary filtered-async-parsing-errorsummary.log --tracker-api default --reporter-api default
mac-rel-css1:
+ env:
+ CC: /usr/local/opt/llvm/bin/clang
+ CXX: /usr/local/opt/llvm/bin/clang++
+ commands:
- ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force
- env PKG_CONFIG_PATH=/usr/local/opt/zlib/lib/pkgconfig ./mach build --release
@@ -37,6 +53,10 @@ mac-rel-css1:
- bash ./etc/ci/lockfile_changed.sh
mac-rel-css2:
+ env:
+ CC: /usr/local/opt/llvm/bin/clang
+ CXX: /usr/local/opt/llvm/bin/clang++
+ commands:
- ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force
- env PKG_CONFIG_PATH=/usr/local/opt/zlib/lib/pkgconfig ./mach build --release
@@ -45,8 +65,8 @@ mac-rel-css2:
linux-rel-intermittent:
env:
- CC: gcc-5
- CXX: g++-5
+ CC: clang-4.0
+ CXX: clang++-4.0
commands:
- ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force
@@ -57,8 +77,8 @@ linux-rel-intermittent:
linux-rel-nogate:
env:
- CC: gcc-5
- CXX: g++-5
+ CC: clang-4.0
+ CXX: clang++-4.0
commands:
- ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force
@@ -69,6 +89,10 @@ linux-rel-nogate:
- ./etc/ci/clean_build_artifacts.sh
mac-rel-intermittent:
+ env:
+ CC: /usr/local/opt/llvm/bin/clang
+ CXX: /usr/local/opt/llvm/bin/clang++
+ commands:
- ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force
- env PKG_CONFIG_PATH=/usr/local/opt/zlib/lib/pkgconfig ./mach build --release
@@ -78,8 +102,8 @@ linux-rel-wpt:
env:
CCACHE: sccache
RUSTC_WRAPPER: sccache
- CC: gcc-5
- CXX: g++-5
+ CC: clang-4.0
+ CXX: clang++-4.0
commands:
- ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force
@@ -97,8 +121,8 @@ linux-rel-css:
env:
CCACHE: sccache
RUSTC_WRAPPER: sccache
- CC: gcc-5
- CXX: g++-5
+ CC: clang-4.0
+ CXX: clang++-4.0
commands:
- ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force
@@ -111,8 +135,8 @@ linux-rel-css:
linux-nightly:
env:
- CC: gcc-5
- CXX: g++-5
+ CC: clang-4.0
+ CXX: clang++-4.0
commands:
- ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force
@@ -151,40 +175,10 @@ magicleap-nightly:
- bash ./etc/ci/lockfile_changed.sh
- ./etc/ci/clean_build_artifacts.sh
-arm32:
- env:
- AR: /usr/bin/arm-linux-gnueabihf-ar
- AS: /usr/bin/arm-linux-gnueabihf-as
- CC: /usr/bin/clang-4.0
- CFLAGS: --target=arm-unknown-linux-gnueabihf -march=armv7a -I/usr/arm-linux-gnueabihf/include/ -fuse-ld=/home/servo/buildbot/slave/arm32/build/support/arm32/fake-ld.sh -Wno-error=unused-command-line-argument
- CPP: /usr/bin/clang-4.0 -E
- CPPFLAGS: -I/usr/arm-linux-gnueabihf/include
- CXX: /usr/bin/clang++-4.0
- CXXFLAGS: --target=arm-unknown-linux-gnueabihf -march=armv7a -I/usr/arm-linux-gnueabihf/include/ -I/usr/arm-linux-gnueabihf/include/c++/4.8.4/arm-linux-gnueabihf -fuse-ld=/home/servo/buildbot/slave/arm32/build/support/arm32/fake-ld.sh -Wno-error=unused-command-line-argument
- EXPAT_LIB_DIR: /usr/lib/arm-linux-gnueabihf
- HOST_CC: gcc-5
- # test-tidy doesn't like empty strings
- HOST_CFLAGS: --target=x86_64-unknown-linux-gnu
- HOST_CXX: g++-5
- # test-tidy doesn't like empty strings
- HOST_CXXFLAGS: --target=x86_64-unknown-linux-gnu
- LD: /usr/bin/arm-linux-gnueabihf-ld
- OBJCOPY: /usr/bin/arm-linux-gnueabihf-objcopy
- OBJDUMP: /usr/bin/arm-linux-gnueabihf-objdump
- RANLIB: /usr/bin/arm-linux-gnueabihf-ranlib
- STRIP: /usr/bin/arm-linux-gnueabihf-strip
- commands:
- - ./mach clean-nightlies --keep 3 --force
- - ./mach clean-cargo-cache --keep 3 --force
- - ./etc/ci/clean_build_artifacts.sh
- - env --unset CC_arm-unknown-linux-gnueabihf --unset CXX_arm-unknown-linux-gnueabihf ./mach build --rel --target=arm-unknown-linux-gnueabihf
- - bash ./etc/ci/lockfile_changed.sh
- - ./etc/ci/clean_build_artifacts.sh
-
arm64:
env:
AR: /usr/bin/aarch64-linux-gnu-ar
- AS: /usr/bin/aarch64-linux-gnu-as
+ AS: /usr/bin/aarch64-linux-gnu-gcc
CC: /usr/bin/clang-4.0
CFLAGS: --target=aarch64-unknown-linux-gnu -I/usr/aarch64-linux-gnu/include/ -fuse-ld=/home/servo/buildbot/slave/arm64/build/support/arm64/fake-ld.sh -Wno-error=unused-command-line-argument
CPP: /usr/bin/clang-4.0 -E
@@ -192,10 +186,10 @@ arm64:
CXX: /usr/bin/clang++-4.0
CXXFLAGS: --target=aarch64-unknown-linux-gnu -I/usr/aarch64-linux-gnu/include/ -I/usr/aarch64-linux-gnu/include/c++/4.8.4/aarch64-linux-gnu -fuse-ld=/home/servo/buildbot/slave/arm64/build/support/arm64/fake-ld.sh -Wno-error=unused-command-line-argument
EXPAT_LIB_DIR: /usr/lib/aarch64-linux-gnu
- HOST_CC: gcc-5
+ HOST_CC: clang-4.0
# test-tidy doesn't like empty strings
HOST_CFLAGS: --target=x86_64-unknown-linux-gnu
- HOST_CXX: g++-5
+ HOST_CXX: clang++-4.0
# test-tidy doesn't like empty strings
HOST_CXXFLAGS: --target=x86_64-unknown-linux-gnu
LD: /usr/bin/aarch64-linux-gnu-ld
@@ -222,3 +216,6 @@ mac-rel-wpt1: []
android-nightly: []
windows-msvc-nightly: []
mac-nightly: []
+
+# No longer maintained
+arm32: []
diff --git a/etc/taskcluster/decision_task.py b/etc/taskcluster/decision_task.py
index 73899105eca..fe5931ff07d 100644
--- a/etc/taskcluster/decision_task.py
+++ b/etc/taskcluster/decision_task.py
@@ -133,6 +133,10 @@ windows_build_env = {
"LIB": "%HOMEDRIVE%%HOMEPATH%\\gst\\gstreamer\\1.0\\x86_64\\lib;%LIB%",
"GSTREAMER_1_0_ROOT_X86_64": "%HOMEDRIVE%%HOMEPATH%\\gst\\gstreamer\\1.0\\x86_64\\",
},
+ "all": {
+ "PYTHON3": "%HOMEDRIVE%%HOMEPATH%\\python3\\python.exe",
+ "LINKER": "lld-link.exe",
+ },
}
windows_sparse_checkout = [
@@ -256,6 +260,8 @@ def android_arm32_dev_from_macos():
macos_build_task("Dev build (macOS)")
.with_treeherder("Android ARMv7")
.with_script("""
+ export HOST_CC="$(brew --prefix llvm)/bin/clang"
+ export HOST_CXX="$(brew --prefix llvm)/bin/clang++"
./mach bootstrap-android --accept-all-licences --build
./mach build --android --dev
""")
@@ -685,9 +691,18 @@ def windows_build_task(name, package=True, arch="x86_64"):
task = (
windows_task(name)
.with_max_run_time_minutes(60)
- .with_env(**build_env, **windows_build_env[arch])
+ .with_env(
+ **build_env,
+ **windows_build_env[arch],
+ **windows_build_env["all"]
+ )
.with_repo(sparse_checkout=windows_sparse_checkout)
.with_python2()
+ .with_directory_mount(
+ "https://www.python.org/ftp/python/3.7.3/python-3.7.3-embed-amd64.zip",
+ sha256="6de14c9223226cf0cd8c965ecb08c51d62c770171a256991b4fddc25188cfa8e",
+ path="python3",
+ )
.with_rustup()
.with_repacked_msi(
url=("https://gstreamer.freedesktop.org/data/pkg/windows/" +
diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py
index abe4e1003f9..d6170abfb1e 100644
--- a/python/servo/build_commands.py
+++ b/python/servo/build_commands.py
@@ -309,6 +309,12 @@ class MachCommands(CommandBase):
env["CC"] = "clang-cl.exe"
env["CXX"] = "clang-cl.exe"
+ host = host_triple()
+ if 'apple-darwin' in host and (not target or target == host):
+ if 'CXXFLAGS' not in env:
+ env['CXXFLAGS'] = ''
+ env["CXXFLAGS"] += "-mmacosx-version-min=10.10"
+
if android:
if "ANDROID_NDK" not in env:
print("Please set the ANDROID_NDK environment variable.")
@@ -550,7 +556,7 @@ class MachCommands(CommandBase):
# The toolchain commands
env.setdefault("AR", path.join(env["ANDROID_TOOLCHAIN_DIR"], "bin", "aarch64-linux-android-ar"))
- env.setdefault("AS", path.join(env["ANDROID_TOOLCHAIN_DIR"], "bin", "aarch64-linux-android-as"))
+ env.setdefault("AS", path.join(env["ANDROID_TOOLCHAIN_DIR"], "bin", "aarch64-linux-android-clang"))
env.setdefault("CC", path.join(env["ANDROID_TOOLCHAIN_DIR"], "bin", "aarch64-linux-android-clang"))
env.setdefault("CPP", path.join(env["ANDROID_TOOLCHAIN_DIR"], "bin", "aarch64-linux-android-clang -E"))
env.setdefault("CXX", path.join(env["ANDROID_TOOLCHAIN_DIR"], "bin", "aarch64-linux-android-clang++"))
@@ -563,8 +569,8 @@ class MachCommands(CommandBase):
# Undo all of that when compiling build tools for the host
env.setdefault("HOST_CFLAGS", "")
env.setdefault("HOST_CXXFLAGS", "")
- env.setdefault("HOST_CC", "gcc")
- env.setdefault("HOST_CXX", "g++")
+ env.setdefault("HOST_CC", "/usr/local/opt/llvm/bin/clang")
+ env.setdefault("HOST_CXX", "/usr/local/opt/llvm/bin/clang++")
env.setdefault("HOST_LD", "ld")
# Some random build configurations
diff --git a/support/android/fakeld/fake-ld-armv7.sh b/support/android/fakeld/fake-ld-armv7.sh
index 6843caa4230..44216d99f90 100755
--- a/support/android/fakeld/fake-ld-armv7.sh
+++ b/support/android/fakeld/fake-ld-armv7.sh
@@ -11,5 +11,5 @@ set -o pipefail
source ./support/android/fakeld/fake-ld.sh
export _GCC_PARAMS="${@}"
-call_gcc "arch-arm" "arm-linux-androideabi" "android-18" "armeabi-v7a" \
+call_gcc "arch-arm" "arm-linux-androideabi" "android-21" "armeabi-v7a" \
"arm-linux-androideabi"
diff --git a/tests/wpt/metadata/wasm/jsapi/constructor/instantiate-bad-imports.any.js.ini b/tests/wpt/metadata/wasm/jsapi/constructor/instantiate-bad-imports.any.js.ini
index d0cc05aafdc..a142be26645 100644
--- a/tests/wpt/metadata/wasm/jsapi/constructor/instantiate-bad-imports.any.js.ini
+++ b/tests/wpt/metadata/wasm/jsapi/constructor/instantiate-bad-imports.any.js.ini
@@ -1,5 +1,4 @@
[instantiate-bad-imports.any.html]
- expected: ERROR
[WebAssembly.instantiate(module): Non-object module: NaN]
expected: FAIL
@@ -87,9 +86,293 @@
[WebAssembly.instantiate(module): Missing imports argument]
expected: FAIL
+ [WebAssembly.instantiate(buffer): Imports argument with missing property: wrong property]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: ""]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: Object.create(WebAssembly.Table.prototype)]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: 1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: ""]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: undefined]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object imports argument: ""]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing a global with an incorrectly-typed value: ""]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: true]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing a global with an incorrectly-typed value: undefined]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: ""]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing an i64 global]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: 1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: WebAssembly.Memory.prototype]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: NaN]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object module: 1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: symbol "Symbol()"]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing a global with an incorrectly-typed value: WebAssembly.Global]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: WebAssembly.Memory.prototype]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: true]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: 0.1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: object "[object Object\]"]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object imports argument: symbol "Symbol()"]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: WebAssembly.Global.prototype]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: WebAssembly.Memory]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: symbol "Symbol()"]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: 0.1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: true]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: true]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: WebAssembly.Table]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing a global with an incorrectly-typed value: null]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Imports argument with missing property: undefined]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing a global with an incorrectly-typed value: true]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: ""]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: symbol "Symbol()"]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object imports argument: true]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Imports argument with missing property: empty object]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: plain object]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing a global with an incorrectly-typed value: WebAssembly.Global.prototype]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: null]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object module: 0.1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: true]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object imports argument: 1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: Object.create(WebAssembly.Memory.prototype)]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object module: NaN]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object module: true]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: null]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype)]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: undefined]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Missing imports argument]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: null]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: Object.create(WebAssembly.Table.prototype)]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object module: undefined]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing a global with an incorrectly-typed value: symbol "Symbol()"]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: WebAssembly.Table]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object module: ""]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: ""]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: plain object]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object imports argument: 0.1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: plain object]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: 1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: null]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: undefined]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: undefined]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: 1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object imports argument: null]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: WebAssembly.Table.prototype]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: 1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: Object.create(WebAssembly.Memory.prototype)]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: 0.1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing a global with an incorrectly-typed value: plain object]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: 0.1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: true]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: WebAssembly.Global]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object module: symbol "Symbol()"]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: NaN]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing a global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype)]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: undefined]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object imports argument: NaN]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: null]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: ""]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: undefined]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: plain object]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: symbol "Symbol()"]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: 0.1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: NaN]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: WebAssembly.Table.prototype]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: NaN]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: null]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object module: null]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: plain object]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: symbol "Symbol()"]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: symbol "Symbol()"]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: NaN]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: WebAssembly.Memory]
+ expected: FAIL
+
[instantiate-bad-imports.any.worker.html]
- expected: ERROR
[WebAssembly.instantiate(module): Non-object module: NaN]
expected: FAIL
@@ -177,3 +460,288 @@
[WebAssembly.instantiate(module): Missing imports argument]
expected: FAIL
+ [WebAssembly.instantiate(buffer): Imports argument with missing property: wrong property]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: ""]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: Object.create(WebAssembly.Table.prototype)]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: 1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: ""]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: undefined]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object imports argument: ""]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing a global with an incorrectly-typed value: ""]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: true]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing a global with an incorrectly-typed value: undefined]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: ""]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing an i64 global]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: 1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: WebAssembly.Memory.prototype]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: NaN]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object module: 1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: symbol "Symbol()"]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing a global with an incorrectly-typed value: WebAssembly.Global]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: WebAssembly.Memory.prototype]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: true]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: 0.1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: object "[object Object\]"]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object imports argument: symbol "Symbol()"]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: WebAssembly.Global.prototype]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: WebAssembly.Memory]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: symbol "Symbol()"]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: 0.1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: true]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: true]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: WebAssembly.Table]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing a global with an incorrectly-typed value: null]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Imports argument with missing property: undefined]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing a global with an incorrectly-typed value: true]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: ""]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: symbol "Symbol()"]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object imports argument: true]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Imports argument with missing property: empty object]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: plain object]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing a global with an incorrectly-typed value: WebAssembly.Global.prototype]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: null]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object module: 0.1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: true]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object imports argument: 1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: Object.create(WebAssembly.Memory.prototype)]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object module: NaN]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object module: true]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: null]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype)]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: undefined]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Missing imports argument]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: null]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: Object.create(WebAssembly.Table.prototype)]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object module: undefined]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing a global with an incorrectly-typed value: symbol "Symbol()"]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: WebAssembly.Table]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object module: ""]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: ""]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: plain object]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object imports argument: 0.1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: plain object]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: 1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: null]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: undefined]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: undefined]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: 1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object imports argument: null]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: WebAssembly.Table.prototype]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: 1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: Object.create(WebAssembly.Memory.prototype)]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: 0.1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing a global with an incorrectly-typed value: plain object]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: 0.1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: true]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: WebAssembly.Global]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object module: symbol "Symbol()"]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: NaN]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing a global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype)]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: undefined]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object imports argument: NaN]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: null]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: ""]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: undefined]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: plain object]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: symbol "Symbol()"]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: 0.1]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: NaN]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: WebAssembly.Table.prototype]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: NaN]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: null]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Non-object module: null]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: plain object]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing memory with an incorrectly-typed value: symbol "Symbol()"]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: symbol "Symbol()"]
+ expected: FAIL
+
+ [WebAssembly.instantiate(module): Importing table with an incorrectly-typed value: NaN]
+ expected: FAIL
+
+ [WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: WebAssembly.Memory]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/wasm/jsapi/global/constructor.any.js.ini b/tests/wpt/metadata/wasm/jsapi/global/constructor.any.js.ini
deleted file mode 100644
index ebe8673d643..00000000000
--- a/tests/wpt/metadata/wasm/jsapi/global/constructor.any.js.ini
+++ /dev/null
@@ -1,195 +0,0 @@
-[constructor.any.html]
- [Explicit value object with toString for type f32]
- expected: FAIL
-
- [Explicit value true for type f64]
- expected: FAIL
-
- [Explicit value undefined for type f64]
- expected: FAIL
-
- [Explicit value 2 for type f32]
- expected: FAIL
-
- [i64 with default]
- expected: FAIL
-
- [Explicit value 2 for type i32]
- expected: FAIL
-
- [Explicit value false for type i32]
- expected: FAIL
-
- [Default value for type f32]
- expected: FAIL
-
- [Explicit value undefined for type i32]
- expected: FAIL
-
- [Explicit value object with valueOf for type f32]
- expected: FAIL
-
- [Explicit value false for type f32]
- expected: FAIL
-
- [Explicit value true for type i32]
- expected: FAIL
-
- [Explicit value null for type f32]
- expected: FAIL
-
- [Explicit value undefined for type f32]
- expected: FAIL
-
- [Explicit value 2 for type f64]
- expected: FAIL
-
- [Default value for type i32]
- expected: FAIL
-
- [Explicit value false for type f64]
- expected: FAIL
-
- [Explicit value "3" for type f64]
- expected: FAIL
-
- [Explicit value null for type i32]
- expected: FAIL
-
- [Explicit value object with toString for type i32]
- expected: FAIL
-
- [Explicit value true for type f32]
- expected: FAIL
-
- [Explicit value object with valueOf for type f64]
- expected: FAIL
-
- [name]
- expected: FAIL
-
- [Explicit value null for type f64]
- expected: FAIL
-
- [Explicit value object with toString for type f64]
- expected: FAIL
-
- [Default value for type f64]
- expected: FAIL
-
- [Explicit value "3" for type i32]
- expected: FAIL
-
- [length]
- expected: FAIL
-
- [Explicit value object with valueOf for type i32]
- expected: FAIL
-
- [Order of evaluation]
- expected: FAIL
-
- [Explicit value "3" for type f32]
- expected: FAIL
-
- [Stray argument]
- expected: FAIL
-
-
-[constructor.any.worker.html]
- [Explicit value object with toString for type f32]
- expected: FAIL
-
- [Explicit value true for type f64]
- expected: FAIL
-
- [Explicit value undefined for type f64]
- expected: FAIL
-
- [Explicit value 2 for type f32]
- expected: FAIL
-
- [i64 with default]
- expected: FAIL
-
- [Explicit value 2 for type i32]
- expected: FAIL
-
- [Explicit value false for type i32]
- expected: FAIL
-
- [Default value for type f32]
- expected: FAIL
-
- [Explicit value undefined for type i32]
- expected: FAIL
-
- [Explicit value object with valueOf for type f32]
- expected: FAIL
-
- [Explicit value false for type f32]
- expected: FAIL
-
- [Explicit value true for type i32]
- expected: FAIL
-
- [Explicit value null for type f32]
- expected: FAIL
-
- [Explicit value undefined for type f32]
- expected: FAIL
-
- [Explicit value 2 for type f64]
- expected: FAIL
-
- [Default value for type i32]
- expected: FAIL
-
- [Explicit value false for type f64]
- expected: FAIL
-
- [Explicit value "3" for type f64]
- expected: FAIL
-
- [Explicit value null for type i32]
- expected: FAIL
-
- [Explicit value object with toString for type i32]
- expected: FAIL
-
- [Explicit value true for type f32]
- expected: FAIL
-
- [Explicit value object with valueOf for type f64]
- expected: FAIL
-
- [name]
- expected: FAIL
-
- [Explicit value null for type f64]
- expected: FAIL
-
- [Explicit value object with toString for type f64]
- expected: FAIL
-
- [Default value for type f64]
- expected: FAIL
-
- [Explicit value "3" for type i32]
- expected: FAIL
-
- [length]
- expected: FAIL
-
- [Explicit value object with valueOf for type i32]
- expected: FAIL
-
- [Order of evaluation]
- expected: FAIL
-
- [Explicit value "3" for type f32]
- expected: FAIL
-
- [Stray argument]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/wasm/jsapi/global/toString.any.js.ini b/tests/wpt/metadata/wasm/jsapi/global/toString.any.js.ini
deleted file mode 100644
index 6fc9a681760..00000000000
--- a/tests/wpt/metadata/wasm/jsapi/global/toString.any.js.ini
+++ /dev/null
@@ -1,9 +0,0 @@
-[toString.any.html]
- [Object.prototype.toString on an Global]
- expected: FAIL
-
-
-[toString.any.worker.html]
- [Object.prototype.toString on an Global]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/wasm/jsapi/global/value-get-set.any.js.ini b/tests/wpt/metadata/wasm/jsapi/global/value-get-set.any.js.ini
deleted file mode 100644
index cf786304cc4..00000000000
--- a/tests/wpt/metadata/wasm/jsapi/global/value-get-set.any.js.ini
+++ /dev/null
@@ -1,321 +0,0 @@
-[value-get-set.any.worker.html]
- [Mutable f64 (true on prototype)]
- expected: FAIL
-
- [Mutable i32 (true on prototype)]
- expected: FAIL
-
- [Immutable f32 (missing)]
- expected: FAIL
-
- [Immutable i32 (empty string)]
- expected: FAIL
-
- [i64 with default]
- expected: FAIL
-
- [Mutable f64 (one)]
- expected: FAIL
-
- [Mutable f32 (string)]
- expected: FAIL
-
- [Mutable i32 (true)]
- expected: FAIL
-
- [Mutable i32 (string)]
- expected: FAIL
-
- [Immutable f32 (false)]
- expected: FAIL
-
- [Immutable f64 (empty string)]
- expected: FAIL
-
- [Immutable i32 (undefined)]
- expected: FAIL
-
- [Mutable f32 (one)]
- expected: FAIL
-
- [Calling setter without argument]
- expected: FAIL
-
- [Immutable i32 (zero)]
- expected: FAIL
-
- [Immutable f64 (undefined)]
- expected: FAIL
-
- [Mutable i32 (one)]
- expected: FAIL
-
- [Immutable f32 (zero)]
- expected: FAIL
-
- [Immutable i32 (null)]
- expected: FAIL
-
- [Immutable f64 (false)]
- expected: FAIL
-
- [Immutable f64 (missing)]
- expected: FAIL
-
- [Immutable f64 (null)]
- expected: FAIL
-
- [Mutable f32 (true on prototype)]
- expected: FAIL
-
- [Immutable i32 (false)]
- expected: FAIL
-
- [Immutable i32 (missing)]
- expected: FAIL
-
- [Mutable f32 (true)]
- expected: FAIL
-
- [Stray argument]
- expected: FAIL
-
- [Immutable f32 (null)]
- expected: FAIL
-
- [Branding]
- expected: FAIL
-
- [Immutable f64 (zero)]
- expected: FAIL
-
- [Mutable f64 (true)]
- expected: FAIL
-
- [Mutable f64 (string)]
- expected: FAIL
-
- [Immutable f32 (empty string)]
- expected: FAIL
-
- [Immutable f32 (undefined)]
- expected: FAIL
-
- [Immutable i32 with ToNumber side-effects (missing)]
- expected: FAIL
-
- [Immutable i32 with ToNumber side-effects (undefined)]
- expected: FAIL
-
- [Immutable i32 with ToNumber side-effects (zero)]
- expected: FAIL
-
- [Immutable i32 with ToNumber side-effects (false)]
- expected: FAIL
-
- [Immutable f32 with ToNumber side-effects (empty string)]
- expected: FAIL
-
- [Immutable f64 with ToNumber side-effects (empty string)]
- expected: FAIL
-
- [Immutable f64 with ToNumber side-effects (false)]
- expected: FAIL
-
- [Immutable f64 with ToNumber side-effects (undefined)]
- expected: FAIL
-
- [Immutable f32 with ToNumber side-effects (missing)]
- expected: FAIL
-
- [Immutable i32 with ToNumber side-effects (null)]
- expected: FAIL
-
- [Immutable f32 with ToNumber side-effects (zero)]
- expected: FAIL
-
- [Immutable f64 with ToNumber side-effects (zero)]
- expected: FAIL
-
- [Immutable f32 with ToNumber side-effects (undefined)]
- expected: FAIL
-
- [Immutable f32 with ToNumber side-effects (false)]
- expected: FAIL
-
- [i64 with ToNumber side-effects]
- expected: FAIL
-
- [Immutable i32 with ToNumber side-effects (empty string)]
- expected: FAIL
-
- [Immutable f32 with ToNumber side-effects (null)]
- expected: FAIL
-
- [Immutable f64 with ToNumber side-effects (missing)]
- expected: FAIL
-
- [Immutable f64 with ToNumber side-effects (null)]
- expected: FAIL
-
-
-[value-get-set.any.html]
- [Mutable f64 (true on prototype)]
- expected: FAIL
-
- [Mutable i32 (true on prototype)]
- expected: FAIL
-
- [Immutable f32 (missing)]
- expected: FAIL
-
- [Immutable i32 (empty string)]
- expected: FAIL
-
- [i64 with default]
- expected: FAIL
-
- [Mutable f64 (one)]
- expected: FAIL
-
- [Mutable f32 (string)]
- expected: FAIL
-
- [Mutable i32 (true)]
- expected: FAIL
-
- [Mutable i32 (string)]
- expected: FAIL
-
- [Immutable f32 (false)]
- expected: FAIL
-
- [Immutable f64 (empty string)]
- expected: FAIL
-
- [Immutable i32 (undefined)]
- expected: FAIL
-
- [Mutable f32 (one)]
- expected: FAIL
-
- [Calling setter without argument]
- expected: FAIL
-
- [Immutable i32 (zero)]
- expected: FAIL
-
- [Immutable f64 (undefined)]
- expected: FAIL
-
- [Mutable i32 (one)]
- expected: FAIL
-
- [Immutable f32 (zero)]
- expected: FAIL
-
- [Immutable i32 (null)]
- expected: FAIL
-
- [Immutable f64 (false)]
- expected: FAIL
-
- [Immutable f64 (missing)]
- expected: FAIL
-
- [Immutable f64 (null)]
- expected: FAIL
-
- [Mutable f32 (true on prototype)]
- expected: FAIL
-
- [Immutable i32 (false)]
- expected: FAIL
-
- [Immutable i32 (missing)]
- expected: FAIL
-
- [Mutable f32 (true)]
- expected: FAIL
-
- [Stray argument]
- expected: FAIL
-
- [Immutable f32 (null)]
- expected: FAIL
-
- [Branding]
- expected: FAIL
-
- [Immutable f64 (zero)]
- expected: FAIL
-
- [Mutable f64 (true)]
- expected: FAIL
-
- [Mutable f64 (string)]
- expected: FAIL
-
- [Immutable f32 (empty string)]
- expected: FAIL
-
- [Immutable f32 (undefined)]
- expected: FAIL
-
- [Immutable i32 with ToNumber side-effects (missing)]
- expected: FAIL
-
- [Immutable i32 with ToNumber side-effects (undefined)]
- expected: FAIL
-
- [Immutable i32 with ToNumber side-effects (zero)]
- expected: FAIL
-
- [Immutable i32 with ToNumber side-effects (false)]
- expected: FAIL
-
- [Immutable f32 with ToNumber side-effects (empty string)]
- expected: FAIL
-
- [Immutable f64 with ToNumber side-effects (empty string)]
- expected: FAIL
-
- [Immutable f64 with ToNumber side-effects (false)]
- expected: FAIL
-
- [Immutable f64 with ToNumber side-effects (undefined)]
- expected: FAIL
-
- [Immutable f32 with ToNumber side-effects (missing)]
- expected: FAIL
-
- [Immutable i32 with ToNumber side-effects (null)]
- expected: FAIL
-
- [Immutable f32 with ToNumber side-effects (zero)]
- expected: FAIL
-
- [Immutable f64 with ToNumber side-effects (zero)]
- expected: FAIL
-
- [Immutable f32 with ToNumber side-effects (undefined)]
- expected: FAIL
-
- [Immutable f32 with ToNumber side-effects (false)]
- expected: FAIL
-
- [i64 with ToNumber side-effects]
- expected: FAIL
-
- [Immutable i32 with ToNumber side-effects (empty string)]
- expected: FAIL
-
- [Immutable f32 with ToNumber side-effects (null)]
- expected: FAIL
-
- [Immutable f64 with ToNumber side-effects (missing)]
- expected: FAIL
-
- [Immutable f64 with ToNumber side-effects (null)]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/wasm/jsapi/global/valueOf.any.js.ini b/tests/wpt/metadata/wasm/jsapi/global/valueOf.any.js.ini
deleted file mode 100644
index 1a66c3a7c4a..00000000000
--- a/tests/wpt/metadata/wasm/jsapi/global/valueOf.any.js.ini
+++ /dev/null
@@ -1,15 +0,0 @@
-[valueOf.any.worker.html]
- [Branding]
- expected: FAIL
-
- [Stray argument]
- expected: FAIL
-
-
-[valueOf.any.html]
- [Branding]
- expected: FAIL
-
- [Stray argument]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/wasm/jsapi/idlharness.any.js.ini b/tests/wpt/metadata/wasm/jsapi/idlharness.any.js.ini
index 49185a0af6f..8f96d503af5 100644
--- a/tests/wpt/metadata/wasm/jsapi/idlharness.any.js.ini
+++ b/tests/wpt/metadata/wasm/jsapi/idlharness.any.js.ini
@@ -1,100 +1,34 @@
[idlharness.any.worker.html]
- [Global interface: existence and properties of interface prototype object's "constructor" property]
- expected: FAIL
-
[Instance must be primary interface of instance]
expected: FAIL
- [Table interface: operation grow(unsigned long)]
- expected: FAIL
-
- [Module interface: operation exports(Module)]
- expected: FAIL
-
[Stringification of mod]
expected: FAIL
- [Global interface: existence and properties of interface prototype object's @@unscopables property]
- expected: FAIL
-
- [WebAssembly namespace: operation instantiate(BufferSource, object)]
- expected: FAIL
-
- [Instance interface: attribute exports]
- expected: FAIL
-
[Module interface: mod must inherit property "imports(Module)" with the proper type]
expected: FAIL
- [Global interface: operation valueOf()]
- expected: FAIL
-
- [Table interface: operation get(unsigned long)]
- expected: FAIL
-
[Stringification of instance]
expected: FAIL
[Module interface: calling customSections(Module, USVString) on mod with too few arguments must throw TypeError]
expected: FAIL
- [Global interface: existence and properties of interface prototype object]
- expected: FAIL
-
[Module interface: calling imports(Module) on mod with too few arguments must throw TypeError]
expected: FAIL
[Module interface: mod must inherit property "exports(Module)" with the proper type]
expected: FAIL
- [Memory interface: operation grow(unsigned long)]
- expected: FAIL
-
- [Global interface: existence and properties of interface object]
- expected: FAIL
-
- [Table interface: attribute length]
- expected: FAIL
-
- [Global interface object length]
- expected: FAIL
-
- [Memory interface: calling grow(unsigned long) on memory with too few arguments must throw TypeError]
- expected: FAIL
-
- [WebAssembly namespace: operation validate(BufferSource)]
- expected: FAIL
-
[Module interface: operation customSections(Module, USVString)]
expected: FAIL
- [Global interface object name]
- expected: FAIL
-
[Module interface: mod must inherit property "customSections(Module, USVString)" with the proper type]
expected: FAIL
- [Table interface: operation set(unsigned long, Function)]
- expected: FAIL
-
- [WebAssembly namespace: operation instantiate(Module, object)]
- expected: FAIL
-
[Instance interface: instance must inherit property "exports" with the proper type]
expected: FAIL
- [Global interface: attribute value]
- expected: FAIL
-
- [Memory interface: attribute buffer]
- expected: FAIL
-
- [Module interface: operation imports(Module)]
- expected: FAIL
-
- [WebAssembly namespace: operation compile(BufferSource)]
- expected: FAIL
-
[Module interface: calling exports(Module) on mod with too few arguments must throw TypeError]
expected: FAIL
@@ -104,110 +38,41 @@
[Module interface: calling customSections(Module, DOMString) on mod with too few arguments must throw TypeError]
expected: FAIL
- [Module interface: operation customSections(Module, DOMString)]
- expected: FAIL
-
[Module interface: mod must inherit property "customSections(Module, DOMString)" with the proper type]
expected: FAIL
[idlharness.any.html]
- [Global interface: existence and properties of interface prototype object's "constructor" property]
- expected: FAIL
-
[Instance must be primary interface of instance]
expected: FAIL
- [Table interface: operation grow(unsigned long)]
- expected: FAIL
-
- [Module interface: operation exports(Module)]
- expected: FAIL
-
[Stringification of mod]
expected: FAIL
- [Global interface: existence and properties of interface prototype object's @@unscopables property]
- expected: FAIL
-
- [WebAssembly namespace: operation instantiate(BufferSource, object)]
- expected: FAIL
-
- [Instance interface: attribute exports]
- expected: FAIL
-
[Module interface: mod must inherit property "imports(Module)" with the proper type]
expected: FAIL
- [Global interface: operation valueOf()]
- expected: FAIL
-
- [Table interface: operation get(unsigned long)]
- expected: FAIL
-
[Stringification of instance]
expected: FAIL
[Module interface: calling customSections(Module, USVString) on mod with too few arguments must throw TypeError]
expected: FAIL
- [Global interface: existence and properties of interface prototype object]
- expected: FAIL
-
[Module interface: calling imports(Module) on mod with too few arguments must throw TypeError]
expected: FAIL
[Module interface: mod must inherit property "exports(Module)" with the proper type]
expected: FAIL
- [Memory interface: operation grow(unsigned long)]
- expected: FAIL
-
- [Global interface: existence and properties of interface object]
- expected: FAIL
-
- [Table interface: attribute length]
- expected: FAIL
-
- [Global interface object length]
- expected: FAIL
-
- [Memory interface: calling grow(unsigned long) on memory with too few arguments must throw TypeError]
- expected: FAIL
-
- [WebAssembly namespace: operation validate(BufferSource)]
- expected: FAIL
-
[Module interface: operation customSections(Module, USVString)]
expected: FAIL
- [Global interface object name]
- expected: FAIL
-
[Module interface: mod must inherit property "customSections(Module, USVString)" with the proper type]
expected: FAIL
- [Table interface: operation set(unsigned long, Function)]
- expected: FAIL
-
- [WebAssembly namespace: operation instantiate(Module, object)]
- expected: FAIL
-
[Instance interface: instance must inherit property "exports" with the proper type]
expected: FAIL
- [Global interface: attribute value]
- expected: FAIL
-
- [Memory interface: attribute buffer]
- expected: FAIL
-
- [Module interface: operation imports(Module)]
- expected: FAIL
-
- [WebAssembly namespace: operation compile(BufferSource)]
- expected: FAIL
-
[Module interface: calling exports(Module) on mod with too few arguments must throw TypeError]
expected: FAIL
@@ -217,9 +82,6 @@
[Module interface: calling customSections(Module, DOMString) on mod with too few arguments must throw TypeError]
expected: FAIL
- [Module interface: operation customSections(Module, DOMString)]
- expected: FAIL
-
[Module interface: mod must inherit property "customSections(Module, DOMString)" with the proper type]
expected: FAIL
diff --git a/tests/wpt/metadata/wasm/jsapi/instance/constructor-bad-imports.any.js.ini b/tests/wpt/metadata/wasm/jsapi/instance/constructor-bad-imports.any.js.ini
deleted file mode 100644
index 50df713a8b3..00000000000
--- a/tests/wpt/metadata/wasm/jsapi/instance/constructor-bad-imports.any.js.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[constructor-bad-imports.any.worker.html]
- expected: ERROR
-
-[constructor-bad-imports.any.html]
- expected: ERROR
diff --git a/tests/wpt/metadata/wasm/jsapi/instance/constructor.any.js.ini b/tests/wpt/metadata/wasm/jsapi/instance/constructor.any.js.ini
index de08dc969b3..1f493551629 100644
--- a/tests/wpt/metadata/wasm/jsapi/instance/constructor.any.js.ini
+++ b/tests/wpt/metadata/wasm/jsapi/instance/constructor.any.js.ini
@@ -2,14 +2,8 @@
[exports]
expected: FAIL
- [No imports]
- expected: FAIL
-
[constructor.any.worker.html]
[exports]
expected: FAIL
- [No imports]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/wasm/jsapi/interface.any.js.ini b/tests/wpt/metadata/wasm/jsapi/interface.any.js.ini
deleted file mode 100644
index 20cc7a4cd9b..00000000000
--- a/tests/wpt/metadata/wasm/jsapi/interface.any.js.ini
+++ /dev/null
@@ -1,101 +0,0 @@
-[interface.any.html]
- expected: ERROR
- [WebAssembly.Table.get]
- expected: FAIL
-
- [WebAssembly.Table.length]
- expected: FAIL
-
- [WebAssembly.Module.imports]
- expected: FAIL
-
- [WebAssembly.Module.exports]
- expected: FAIL
-
- [WebAssembly.Memory.grow]
- expected: FAIL
-
- [WebAssembly.Memory.buffer]
- expected: FAIL
-
- [WebAssembly.Global: prototype]
- expected: FAIL
-
- [WebAssembly.compile]
- expected: FAIL
-
- [WebAssembly.Module.customSections]
- expected: FAIL
-
- [WebAssembly.Table.set]
- expected: FAIL
-
- [WebAssembly.Instance.exports]
- expected: FAIL
-
- [WebAssembly.validate]
- expected: FAIL
-
- [WebAssembly.Global: prototype.constructor]
- expected: FAIL
-
- [WebAssembly.Global: property descriptor]
- expected: FAIL
-
- [WebAssembly.instantiate]
- expected: FAIL
-
- [WebAssembly.Table.grow]
- expected: FAIL
-
-
-[interface.any.worker.html]
- expected: ERROR
- [WebAssembly.Table.get]
- expected: FAIL
-
- [WebAssembly.Table.length]
- expected: FAIL
-
- [WebAssembly.Module.imports]
- expected: FAIL
-
- [WebAssembly.Module.exports]
- expected: FAIL
-
- [WebAssembly.Memory.grow]
- expected: FAIL
-
- [WebAssembly.Memory.buffer]
- expected: FAIL
-
- [WebAssembly.Global: prototype]
- expected: FAIL
-
- [WebAssembly.compile]
- expected: FAIL
-
- [WebAssembly.Module.customSections]
- expected: FAIL
-
- [WebAssembly.Table.set]
- expected: FAIL
-
- [WebAssembly.Instance.exports]
- expected: FAIL
-
- [WebAssembly.validate]
- expected: FAIL
-
- [WebAssembly.Global: prototype.constructor]
- expected: FAIL
-
- [WebAssembly.Global: property descriptor]
- expected: FAIL
-
- [WebAssembly.instantiate]
- expected: FAIL
-
- [WebAssembly.Table.grow]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/wasm/jsapi/memory/constructor.any.js.ini b/tests/wpt/metadata/wasm/jsapi/memory/constructor.any.js.ini
index 4c13dc3a9b4..4f50e76a2de 100644
--- a/tests/wpt/metadata/wasm/jsapi/memory/constructor.any.js.ini
+++ b/tests/wpt/metadata/wasm/jsapi/memory/constructor.any.js.ini
@@ -1,111 +1,9 @@
[constructor.any.worker.html]
- [Out-of-range maximum value in descriptor: -Infinity]
- expected: FAIL
-
- [Out-of-range maximum value in descriptor: NaN]
- expected: FAIL
-
- [Out-of-range maximum value in descriptor: 4294967296]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: NaN]
- expected: FAIL
-
- [Proxy descriptor]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: Infinity]
- expected: FAIL
-
- [Undefined initial value in descriptor]
- expected: FAIL
-
- [Out-of-range maximum value in descriptor: 68719476736]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: 4294967296]
- expected: FAIL
-
- [Out-of-range maximum value in descriptor: -1]
- expected: FAIL
-
- [Invalid descriptor argument]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: -Infinity]
- expected: FAIL
-
- [Out-of-range maximum value in descriptor: Infinity]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: -1]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: 68719476736]
- expected: FAIL
-
- [Shared memory without maximum]
- expected: FAIL
-
- [Order of evaluation for descriptor (with shared)]
- expected: FAIL
-
[Shared memory]
expected: FAIL
[constructor.any.html]
- [Out-of-range maximum value in descriptor: -Infinity]
- expected: FAIL
-
- [Out-of-range maximum value in descriptor: NaN]
- expected: FAIL
-
- [Out-of-range maximum value in descriptor: 4294967296]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: NaN]
- expected: FAIL
-
- [Proxy descriptor]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: Infinity]
- expected: FAIL
-
- [Undefined initial value in descriptor]
- expected: FAIL
-
- [Out-of-range maximum value in descriptor: 68719476736]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: 4294967296]
- expected: FAIL
-
- [Out-of-range maximum value in descriptor: -1]
- expected: FAIL
-
- [Invalid descriptor argument]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: -Infinity]
- expected: FAIL
-
- [Out-of-range maximum value in descriptor: Infinity]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: -1]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: 68719476736]
- expected: FAIL
-
- [Shared memory without maximum]
- expected: FAIL
-
- [Order of evaluation for descriptor (with shared)]
- expected: FAIL
-
[Shared memory]
expected: FAIL
diff --git a/tests/wpt/metadata/wasm/jsapi/memory/grow.any.js.ini b/tests/wpt/metadata/wasm/jsapi/memory/grow.any.js.ini
deleted file mode 100644
index 7731721072e..00000000000
--- a/tests/wpt/metadata/wasm/jsapi/memory/grow.any.js.ini
+++ /dev/null
@@ -1,69 +0,0 @@
-[grow.any.worker.html]
- [Out-of-range argument: 68719476736]
- expected: FAIL
-
- [Out-of-range argument: 4294967296]
- expected: FAIL
-
- [Missing arguments]
- expected: FAIL
-
- [Out-of-range argument: -1]
- expected: FAIL
-
- [Out-of-range argument: NaN]
- expected: FAIL
-
- [Out-of-range argument: object "[object Object\]"]
- expected: FAIL
-
- [Out-of-range argument: -Infinity]
- expected: FAIL
-
- [Out-of-range argument: "0x100000000"]
- expected: FAIL
-
- [Out-of-range argument: undefined]
- expected: FAIL
-
- [Out-of-range argument: Infinity]
- expected: FAIL
-
- [Growing shared memory does not detach old buffer]
- expected: FAIL
-
-
-[grow.any.html]
- [Out-of-range argument: 68719476736]
- expected: FAIL
-
- [Out-of-range argument: 4294967296]
- expected: FAIL
-
- [Missing arguments]
- expected: FAIL
-
- [Out-of-range argument: -1]
- expected: FAIL
-
- [Out-of-range argument: NaN]
- expected: FAIL
-
- [Out-of-range argument: object "[object Object\]"]
- expected: FAIL
-
- [Out-of-range argument: -Infinity]
- expected: FAIL
-
- [Out-of-range argument: "0x100000000"]
- expected: FAIL
-
- [Out-of-range argument: undefined]
- expected: FAIL
-
- [Out-of-range argument: Infinity]
- expected: FAIL
-
- [Growing shared memory does not detach old buffer]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/wasm/jsapi/module/customSections.any.js.ini b/tests/wpt/metadata/wasm/jsapi/module/customSections.any.js.ini
index 3c5fe0a0cf6..13b03d06e58 100644
--- a/tests/wpt/metadata/wasm/jsapi/module/customSections.any.js.ini
+++ b/tests/wpt/metadata/wasm/jsapi/module/customSections.any.js.ini
@@ -1,15 +1,9 @@
[customSections.any.html]
- [Missing arguments]
- expected: FAIL
-
[Custom sections with U+FFFD]
expected: FAIL
[customSections.any.worker.html]
- [Missing arguments]
- expected: FAIL
-
[Custom sections with U+FFFD]
expected: FAIL
diff --git a/tests/wpt/metadata/wasm/jsapi/module/exports.any.js.ini b/tests/wpt/metadata/wasm/jsapi/module/exports.any.js.ini
deleted file mode 100644
index 54360845d67..00000000000
--- a/tests/wpt/metadata/wasm/jsapi/module/exports.any.js.ini
+++ /dev/null
@@ -1,9 +0,0 @@
-[exports.any.html]
- [exports]
- expected: FAIL
-
-
-[exports.any.worker.html]
- [exports]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/wasm/jsapi/table/constructor.any.js.ini b/tests/wpt/metadata/wasm/jsapi/table/constructor.any.js.ini
deleted file mode 100644
index 44aefcd9aa1..00000000000
--- a/tests/wpt/metadata/wasm/jsapi/table/constructor.any.js.ini
+++ /dev/null
@@ -1,99 +0,0 @@
-[constructor.any.html]
- [Out-of-range maximum value in descriptor: -Infinity]
- expected: FAIL
-
- [Out-of-range maximum value in descriptor: NaN]
- expected: FAIL
-
- [Out-of-range maximum value in descriptor: 4294967296]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: NaN]
- expected: FAIL
-
- [Proxy descriptor]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: Infinity]
- expected: FAIL
-
- [Undefined initial value in descriptor]
- expected: FAIL
-
- [Out-of-range maximum value in descriptor: 68719476736]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: 4294967296]
- expected: FAIL
-
- [Out-of-range maximum value in descriptor: -1]
- expected: FAIL
-
- [Order of evaluation for descriptor]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: -Infinity]
- expected: FAIL
-
- [Out-of-range maximum value in descriptor: Infinity]
- expected: FAIL
-
- [Type conversion for descriptor.element]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: -1]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: 68719476736]
- expected: FAIL
-
-
-[constructor.any.worker.html]
- [Out-of-range maximum value in descriptor: -Infinity]
- expected: FAIL
-
- [Out-of-range maximum value in descriptor: NaN]
- expected: FAIL
-
- [Out-of-range maximum value in descriptor: 4294967296]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: NaN]
- expected: FAIL
-
- [Proxy descriptor]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: Infinity]
- expected: FAIL
-
- [Undefined initial value in descriptor]
- expected: FAIL
-
- [Out-of-range maximum value in descriptor: 68719476736]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: 4294967296]
- expected: FAIL
-
- [Out-of-range maximum value in descriptor: -1]
- expected: FAIL
-
- [Order of evaluation for descriptor]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: -Infinity]
- expected: FAIL
-
- [Out-of-range maximum value in descriptor: Infinity]
- expected: FAIL
-
- [Type conversion for descriptor.element]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: -1]
- expected: FAIL
-
- [Out-of-range initial value in descriptor: 68719476736]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/wasm/jsapi/table/get-set.any.js.ini b/tests/wpt/metadata/wasm/jsapi/table/get-set.any.js.ini
deleted file mode 100644
index 9ebd919ad1c..00000000000
--- a/tests/wpt/metadata/wasm/jsapi/table/get-set.any.js.ini
+++ /dev/null
@@ -1,153 +0,0 @@
-[get-set.any.worker.html]
- [Setting out-of-range argument: NaN]
- expected: FAIL
-
- [Getting out-of-range argument: undefined]
- expected: FAIL
-
- [Setting out-of-range argument: -1]
- expected: FAIL
-
- [Setting out-of-range argument: 4294967296]
- expected: FAIL
-
- [Getting out-of-range argument: NaN]
- expected: FAIL
-
- [Getting out-of-range argument: 4294967296]
- expected: FAIL
-
- [Setting out-of-range argument: "0x100000000"]
- expected: FAIL
-
- [Setting out-of-range argument: object "[object Object\]"]
- expected: FAIL
-
- [Setting out-of-range argument: Infinity]
- expected: FAIL
-
- [Setting out-of-range argument: 68719476736]
- expected: FAIL
-
- [Missing arguments: get]
- expected: FAIL
-
- [Getting out-of-range argument: 68719476736]
- expected: FAIL
-
- [Getting out-of-range argument: Infinity]
- expected: FAIL
-
- [Setting out-of-range argument: undefined]
- expected: FAIL
-
- [Getting out-of-range argument: -1]
- expected: FAIL
-
- [Getting out-of-range argument: "0x100000000"]
- expected: FAIL
-
- [Getting out-of-range argument: object "[object Object\]"]
- expected: FAIL
-
- [Setting out-of-range argument: -Infinity]
- expected: FAIL
-
- [Getting out-of-range argument: -Infinity]
- expected: FAIL
-
- [Setting non-wasm arrow function]
- expected: FAIL
-
- [Basic]
- expected: FAIL
-
- [Setting non-wasm function]
- expected: FAIL
-
- [Setting out-of-bounds]
- expected: FAIL
-
- [Growing]
- expected: FAIL
-
- [Setting non-function]
- expected: FAIL
-
-
-[get-set.any.html]
- [Setting out-of-range argument: NaN]
- expected: FAIL
-
- [Getting out-of-range argument: undefined]
- expected: FAIL
-
- [Setting out-of-range argument: -1]
- expected: FAIL
-
- [Setting out-of-range argument: 4294967296]
- expected: FAIL
-
- [Getting out-of-range argument: NaN]
- expected: FAIL
-
- [Getting out-of-range argument: 4294967296]
- expected: FAIL
-
- [Setting out-of-range argument: "0x100000000"]
- expected: FAIL
-
- [Setting out-of-range argument: object "[object Object\]"]
- expected: FAIL
-
- [Setting out-of-range argument: Infinity]
- expected: FAIL
-
- [Setting out-of-range argument: 68719476736]
- expected: FAIL
-
- [Missing arguments: get]
- expected: FAIL
-
- [Getting out-of-range argument: 68719476736]
- expected: FAIL
-
- [Getting out-of-range argument: Infinity]
- expected: FAIL
-
- [Setting out-of-range argument: undefined]
- expected: FAIL
-
- [Getting out-of-range argument: -1]
- expected: FAIL
-
- [Getting out-of-range argument: "0x100000000"]
- expected: FAIL
-
- [Getting out-of-range argument: object "[object Object\]"]
- expected: FAIL
-
- [Setting out-of-range argument: -Infinity]
- expected: FAIL
-
- [Getting out-of-range argument: -Infinity]
- expected: FAIL
-
- [Setting non-wasm arrow function]
- expected: FAIL
-
- [Basic]
- expected: FAIL
-
- [Setting non-wasm function]
- expected: FAIL
-
- [Setting out-of-bounds]
- expected: FAIL
-
- [Growing]
- expected: FAIL
-
- [Setting non-function]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/wasm/jsapi/table/grow.any.js.ini b/tests/wpt/metadata/wasm/jsapi/table/grow.any.js.ini
deleted file mode 100644
index 479918bff2f..00000000000
--- a/tests/wpt/metadata/wasm/jsapi/table/grow.any.js.ini
+++ /dev/null
@@ -1,87 +0,0 @@
-[grow.any.html]
- [Out-of-range argument: 68719476736]
- expected: FAIL
-
- [Out-of-range argument: -Infinity]
- expected: FAIL
-
- [Out-of-range argument: 4294967296]
- expected: FAIL
-
- [Out-of-range argument: Infinity]
- expected: FAIL
-
- [Missing arguments]
- expected: FAIL
-
- [Out-of-range argument: -1]
- expected: FAIL
-
- [Out-of-range argument: undefined]
- expected: FAIL
-
- [Out-of-range argument: NaN]
- expected: FAIL
-
- [Out-of-range argument: object "[object Object\]"]
- expected: FAIL
-
- [Out-of-range argument: "0x100000000"]
- expected: FAIL
-
- [Reached maximum]
- expected: FAIL
-
- [Exceeded maximum]
- expected: FAIL
-
- [Basic]
- expected: FAIL
-
- [Stray argument]
- expected: FAIL
-
-
-[grow.any.worker.html]
- [Out-of-range argument: 68719476736]
- expected: FAIL
-
- [Out-of-range argument: -Infinity]
- expected: FAIL
-
- [Out-of-range argument: 4294967296]
- expected: FAIL
-
- [Out-of-range argument: Infinity]
- expected: FAIL
-
- [Missing arguments]
- expected: FAIL
-
- [Out-of-range argument: -1]
- expected: FAIL
-
- [Out-of-range argument: undefined]
- expected: FAIL
-
- [Out-of-range argument: NaN]
- expected: FAIL
-
- [Out-of-range argument: object "[object Object\]"]
- expected: FAIL
-
- [Out-of-range argument: "0x100000000"]
- expected: FAIL
-
- [Reached maximum]
- expected: FAIL
-
- [Exceeded maximum]
- expected: FAIL
-
- [Basic]
- expected: FAIL
-
- [Stray argument]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/wasm/webapi/idlharness.any.js.ini b/tests/wpt/metadata/wasm/webapi/idlharness.any.js.ini
deleted file mode 100644
index cb08bb48507..00000000000
--- a/tests/wpt/metadata/wasm/webapi/idlharness.any.js.ini
+++ /dev/null
@@ -1,39 +0,0 @@
-[idlharness.any.html]
- [WebAssembly namespace: operation validate(BufferSource)]
- expected: FAIL
-
- [WebAssembly namespace: operation compileStreaming([object Object\])]
- expected: FAIL
-
- [WebAssembly namespace: operation compile(BufferSource)]
- expected: FAIL
-
- [WebAssembly namespace: operation instantiateStreaming([object Object\], object)]
- expected: FAIL
-
- [WebAssembly namespace: operation instantiate(BufferSource, object)]
- expected: FAIL
-
- [WebAssembly namespace: operation instantiate(Module, object)]
- expected: FAIL
-
-
-[idlharness.any.worker.html]
- [WebAssembly namespace: operation validate(BufferSource)]
- expected: FAIL
-
- [WebAssembly namespace: operation compileStreaming([object Object\])]
- expected: FAIL
-
- [WebAssembly namespace: operation compile(BufferSource)]
- expected: FAIL
-
- [WebAssembly namespace: operation instantiateStreaming([object Object\], object)]
- expected: FAIL
-
- [WebAssembly namespace: operation instantiate(BufferSource, object)]
- expected: FAIL
-
- [WebAssembly namespace: operation instantiate(Module, object)]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/wasm/webapi/instantiateStreaming-bad-imports.any.js.ini b/tests/wpt/metadata/wasm/webapi/instantiateStreaming-bad-imports.any.js.ini
index 1c0ef6022b8..d8787f016aa 100644
--- a/tests/wpt/metadata/wasm/webapi/instantiateStreaming-bad-imports.any.js.ini
+++ b/tests/wpt/metadata/wasm/webapi/instantiateStreaming-bad-imports.any.js.ini
@@ -4,7 +4,6 @@
[instantiateStreaming-bad-imports.any.html]
- expected: ERROR
[Imports argument with missing property: wrong property]
expected: FAIL
@@ -92,9 +91,107 @@
[Importing a function with an incorrectly-typed value: true]
expected: FAIL
+ [Importing a global with an incorrectly-typed value: ""]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: 1]
+ expected: FAIL
+
+ [Importing a global with an incorrectly-typed value: plain object]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: Object.create(WebAssembly.Memory.prototype)]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: true]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: undefined]
+ expected: FAIL
+
+ [Importing a global with an incorrectly-typed value: true]
+ expected: FAIL
+
+ [Importing a global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype)]
+ expected: FAIL
+
+ [Importing a global with an incorrectly-typed value: symbol "Symbol()"]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: undefined]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: Object.create(WebAssembly.Table.prototype)]
+ expected: FAIL
+
+ [Importing a global with an incorrectly-typed value: WebAssembly.Global.prototype]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: WebAssembly.Table.prototype]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: NaN]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: 1]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: plain object]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: 0.1]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: null]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: WebAssembly.Memory]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: WebAssembly.Memory.prototype]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: true]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: symbol "Symbol()"]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: 0.1]
+ expected: FAIL
+
+ [Importing a global with an incorrectly-typed value: null]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: NaN]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: ""]
+ expected: FAIL
+
+ [Importing a global with an incorrectly-typed value: undefined]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: null]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: symbol "Symbol()"]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: WebAssembly.Table]
+ expected: FAIL
+
+ [Importing a global with an incorrectly-typed value: WebAssembly.Global]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: plain object]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: ""]
+ expected: FAIL
+
[instantiateStreaming-bad-imports.any.worker.html]
- expected: ERROR
[Imports argument with missing property: wrong property]
expected: FAIL
@@ -182,6 +279,105 @@
[Importing a function with an incorrectly-typed value: true]
expected: FAIL
+ [Importing a global with an incorrectly-typed value: ""]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: 1]
+ expected: FAIL
+
+ [Importing a global with an incorrectly-typed value: plain object]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: Object.create(WebAssembly.Memory.prototype)]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: true]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: undefined]
+ expected: FAIL
+
+ [Importing a global with an incorrectly-typed value: true]
+ expected: FAIL
+
+ [Importing a global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype)]
+ expected: FAIL
+
+ [Importing a global with an incorrectly-typed value: symbol "Symbol()"]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: undefined]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: Object.create(WebAssembly.Table.prototype)]
+ expected: FAIL
+
+ [Importing a global with an incorrectly-typed value: WebAssembly.Global.prototype]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: WebAssembly.Table.prototype]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: NaN]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: 1]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: plain object]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: 0.1]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: null]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: WebAssembly.Memory]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: WebAssembly.Memory.prototype]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: true]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: symbol "Symbol()"]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: 0.1]
+ expected: FAIL
+
+ [Importing a global with an incorrectly-typed value: null]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: NaN]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: ""]
+ expected: FAIL
+
+ [Importing a global with an incorrectly-typed value: undefined]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: null]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: symbol "Symbol()"]
+ expected: FAIL
+
+ [Importing table with an incorrectly-typed value: WebAssembly.Table]
+ expected: FAIL
+
+ [Importing a global with an incorrectly-typed value: WebAssembly.Global]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: plain object]
+ expected: FAIL
+
+ [Importing memory with an incorrectly-typed value: ""]
+ expected: FAIL
+
[instantiateStreaming-bad-imports.any.sharedworker.html]
[instantiateStreaming-bad-imports]