mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Fix prototypes of interface objects (fixes #2665)
This commit is contained in:
parent
a1a9021aad
commit
d13da7d9b3
10 changed files with 77 additions and 372 deletions
|
@ -1722,11 +1722,11 @@ def DOMClassTypeId(desc):
|
||||||
|
|
||||||
def DOMClass(descriptor):
|
def DOMClass(descriptor):
|
||||||
protoList = ['PrototypeList::ID::' + proto for proto in descriptor.prototypeChain]
|
protoList = ['PrototypeList::ID::' + proto for proto in descriptor.prototypeChain]
|
||||||
# Pad out the list to the right length with ID::Count so we
|
# Pad out the list to the right length with ID::Last so we
|
||||||
# guarantee that all the lists are the same length. id::Count
|
# guarantee that all the lists are the same length. ID::Last
|
||||||
# is never the ID of any prototype, so it's safe to use as
|
# is never the ID of any prototype, so it's safe to use as
|
||||||
# padding.
|
# padding.
|
||||||
protoList.extend(['PrototypeList::ID::Count'] * (descriptor.config.maxProtoChainLength - len(protoList)))
|
protoList.extend(['PrototypeList::ID::Last'] * (descriptor.config.maxProtoChainLength - len(protoList)))
|
||||||
prototypeChainString = ', '.join(protoList)
|
prototypeChainString = ', '.join(protoList)
|
||||||
heapSizeOf = 'heap_size_of_raw_self_and_children::<%s>' % descriptor.interface.identifier.name
|
heapSizeOf = 'heap_size_of_raw_self_and_children::<%s>' % descriptor.interface.identifier.name
|
||||||
return """\
|
return """\
|
||||||
|
@ -2355,9 +2355,11 @@ class CGCreateInterfaceObjectsMethod(CGAbstractMethod):
|
||||||
properties should be a PropertyArrays instance.
|
properties should be a PropertyArrays instance.
|
||||||
"""
|
"""
|
||||||
def __init__(self, descriptor, properties):
|
def __init__(self, descriptor, properties):
|
||||||
args = [Argument('*mut JSContext', 'cx'), Argument('HandleObject', 'global'),
|
args = [Argument('*mut JSContext', 'cx')]
|
||||||
Argument('HandleObject', 'receiver'),
|
if not descriptor.interface.isCallback():
|
||||||
Argument('MutableHandleObject', 'rval')]
|
args += [Argument('HandleObject', 'global'),
|
||||||
|
Argument('*mut ProtoOrIfaceArray', 'cache')]
|
||||||
|
args.append(Argument('HandleObject', 'receiver'))
|
||||||
CGAbstractMethod.__init__(self, descriptor, 'CreateInterfaceObjects', 'void', args,
|
CGAbstractMethod.__init__(self, descriptor, 'CreateInterfaceObjects', 'void', args,
|
||||||
unsafe=True)
|
unsafe=True)
|
||||||
self.properties = properties
|
self.properties = properties
|
||||||
|
@ -2395,14 +2397,19 @@ assert!(!prototype_proto.ptr.is_null());""" % getPrototypeProto)]
|
||||||
properties[arrayName] = "None"
|
properties[arrayName] = "None"
|
||||||
|
|
||||||
code.append(CGGeneric("""
|
code.append(CGGeneric("""
|
||||||
|
let mut prototype = RootedObject::new(cx, ptr::null_mut());
|
||||||
create_interface_prototype_object(cx,
|
create_interface_prototype_object(cx,
|
||||||
prototype_proto.handle(),
|
prototype_proto.handle(),
|
||||||
&PrototypeClass,
|
&PrototypeClass,
|
||||||
%(methods)s,
|
%(methods)s,
|
||||||
%(attrs)s,
|
%(attrs)s,
|
||||||
%(consts)s,
|
%(consts)s,
|
||||||
rval);
|
prototype.handle_mut());
|
||||||
assert!(!rval.ptr.is_null());""" % properties))
|
assert!(!prototype.ptr.is_null());
|
||||||
|
(*cache)[PrototypeList::ID::%(id)s as usize] = prototype.ptr;
|
||||||
|
if <*mut JSObject>::needs_post_barrier(prototype.ptr) {
|
||||||
|
<*mut JSObject>::post_barrier((*cache).as_mut_ptr().offset(PrototypeList::ID::%(id)s as isize));
|
||||||
|
}""" % properties))
|
||||||
|
|
||||||
if self.descriptor.interface.hasInterfaceObject():
|
if self.descriptor.interface.hasInterfaceObject():
|
||||||
properties["name"] = str_to_const_array(name)
|
properties["name"] = str_to_const_array(name)
|
||||||
|
@ -2412,10 +2419,18 @@ assert!(!rval.ptr.is_null());""" % properties))
|
||||||
else:
|
else:
|
||||||
properties["constructor"] = "throwing_constructor"
|
properties["constructor"] = "throwing_constructor"
|
||||||
properties["length"] = 0
|
properties["length"] = 0
|
||||||
|
if self.descriptor.interface.parent:
|
||||||
|
parentName = toBindingNamespace(self.descriptor.getParentName())
|
||||||
code.append(CGGeneric("""
|
code.append(CGGeneric("""
|
||||||
let interface_proto = RootedObject::new(cx, JS_GetFunctionPrototype(cx, global));
|
let mut interface_proto = RootedObject::new(cx, ptr::null_mut());
|
||||||
|
%s::GetConstructorObject(cx, global, receiver, interface_proto.handle_mut());""" % parentName))
|
||||||
|
else:
|
||||||
|
code.append(CGGeneric("""
|
||||||
|
let interface_proto = RootedObject::new(cx, JS_GetFunctionPrototype(cx, global));"""))
|
||||||
|
code.append(CGGeneric("""\
|
||||||
assert!(!interface_proto.ptr.is_null());
|
assert!(!interface_proto.ptr.is_null());
|
||||||
|
|
||||||
|
let mut interface = RootedObject::new(cx, ptr::null_mut());
|
||||||
create_noncallback_interface_object(cx,
|
create_noncallback_interface_object(cx,
|
||||||
receiver,
|
receiver,
|
||||||
interface_proto.handle(),
|
interface_proto.handle(),
|
||||||
|
@ -2423,9 +2438,17 @@ create_noncallback_interface_object(cx,
|
||||||
%(static_methods)s,
|
%(static_methods)s,
|
||||||
%(static_attrs)s,
|
%(static_attrs)s,
|
||||||
%(consts)s,
|
%(consts)s,
|
||||||
rval.handle(),
|
prototype.handle(),
|
||||||
%(name)s,
|
%(name)s,
|
||||||
%(length)s);""" % properties))
|
%(length)s,
|
||||||
|
interface.handle_mut());
|
||||||
|
assert!(!interface.ptr.is_null());""" % properties))
|
||||||
|
if self.descriptor.hasDescendants():
|
||||||
|
code.append(CGGeneric("""\
|
||||||
|
(*cache)[PrototypeList::Constructor::%(id)s as usize] = interface.ptr;
|
||||||
|
if <*mut JSObject>::needs_post_barrier(prototype.ptr) {
|
||||||
|
<*mut JSObject>::post_barrier((*cache).as_mut_ptr().offset(PrototypeList::Constructor::%(id)s as isize));
|
||||||
|
}""" % properties))
|
||||||
|
|
||||||
constructors = self.descriptor.interface.namedConstructors
|
constructors = self.descriptor.interface.namedConstructors
|
||||||
if constructors:
|
if constructors:
|
||||||
|
@ -2438,7 +2461,7 @@ create_noncallback_interface_object(cx,
|
||||||
specs.append(CGGeneric("(%s as NonNullJSNative, %s, %d)" % (hook, name, length)))
|
specs.append(CGGeneric("(%s as NonNullJSNative, %s, %d)" % (hook, name, length)))
|
||||||
values = CGIndenter(CGList(specs, "\n"), 4)
|
values = CGIndenter(CGList(specs, "\n"), 4)
|
||||||
code.append(CGWrapper(values, pre="%s = [\n" % decl, post="\n];"))
|
code.append(CGWrapper(values, pre="%s = [\n" % decl, post="\n];"))
|
||||||
code.append(CGGeneric("create_named_constructors(cx, receiver, &named_constructors, rval.handle());"))
|
code.append(CGGeneric("create_named_constructors(cx, receiver, &named_constructors, prototype.handle());"))
|
||||||
|
|
||||||
if self.descriptor.hasUnforgeableMembers:
|
if self.descriptor.hasUnforgeableMembers:
|
||||||
# We want to use the same JSClass and prototype as the object we'll
|
# We want to use the same JSClass and prototype as the object we'll
|
||||||
|
@ -2457,7 +2480,7 @@ create_noncallback_interface_object(cx,
|
||||||
holderProto = "HandleObject::null()"
|
holderProto = "HandleObject::null()"
|
||||||
else:
|
else:
|
||||||
holderClass = "&Class.base as *const js::jsapi::Class as *const JSClass"
|
holderClass = "&Class.base as *const js::jsapi::Class as *const JSClass"
|
||||||
holderProto = "rval.handle()"
|
holderProto = "prototype.handle()"
|
||||||
code.append(CGGeneric("""
|
code.append(CGGeneric("""
|
||||||
let mut unforgeable_holder = RootedObject::new(cx, ptr::null_mut());
|
let mut unforgeable_holder = RootedObject::new(cx, ptr::null_mut());
|
||||||
unforgeable_holder.handle_mut().set(
|
unforgeable_holder.handle_mut().set(
|
||||||
|
@ -2466,7 +2489,7 @@ assert!(!unforgeable_holder.ptr.is_null());
|
||||||
""" % {'holderClass': holderClass, 'holderProto': holderProto}))
|
""" % {'holderClass': holderClass, 'holderProto': holderProto}))
|
||||||
code.append(InitUnforgeablePropertiesOnHolder(self.descriptor, self.properties))
|
code.append(InitUnforgeablePropertiesOnHolder(self.descriptor, self.properties))
|
||||||
code.append(CGGeneric("""\
|
code.append(CGGeneric("""\
|
||||||
JS_SetReservedSlot(rval.get(), DOM_PROTO_UNFORGEABLE_HOLDER_SLOT,
|
JS_SetReservedSlot(prototype.ptr, DOM_PROTO_UNFORGEABLE_HOLDER_SLOT,
|
||||||
ObjectValue(&*unforgeable_holder.ptr))"""))
|
ObjectValue(&*unforgeable_holder.ptr))"""))
|
||||||
|
|
||||||
return CGList(code, "\n")
|
return CGList(code, "\n")
|
||||||
|
@ -2483,7 +2506,7 @@ class CGGetPerInterfaceObject(CGAbstractMethod):
|
||||||
Argument('MutableHandleObject', 'rval')]
|
Argument('MutableHandleObject', 'rval')]
|
||||||
CGAbstractMethod.__init__(self, descriptor, name,
|
CGAbstractMethod.__init__(self, descriptor, name,
|
||||||
'void', args, pub=pub, unsafe=True)
|
'void', args, pub=pub, unsafe=True)
|
||||||
self.id = idPrefix + "ID::" + self.descriptor.name
|
self.id = idPrefix + "::" + self.descriptor.name
|
||||||
|
|
||||||
def definition_body(self):
|
def definition_body(self):
|
||||||
return CGGeneric("""
|
return CGGeneric("""
|
||||||
|
@ -2498,18 +2521,15 @@ assert!(((*JS_GetClass(global.get())).flags & JSCLASS_DOM_GLOBAL) != 0);
|
||||||
|
|
||||||
/* Check to see whether the interface objects are already installed */
|
/* Check to see whether the interface objects are already installed */
|
||||||
let proto_or_iface_array = get_proto_or_iface_array(global.get());
|
let proto_or_iface_array = get_proto_or_iface_array(global.get());
|
||||||
rval.set((*proto_or_iface_array)[%s as usize]);
|
rval.set((*proto_or_iface_array)[%(id)s as usize]);
|
||||||
if !rval.get().is_null() {
|
if !rval.get().is_null() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
CreateInterfaceObjects(cx, global, receiver, rval);
|
CreateInterfaceObjects(cx, global, proto_or_iface_array, receiver);
|
||||||
|
rval.set((*proto_or_iface_array)[%(id)s as usize]);
|
||||||
assert!(!rval.get().is_null());
|
assert!(!rval.get().is_null());
|
||||||
(*proto_or_iface_array)[%s as usize] = rval.get();
|
""" % {"id": self.id})
|
||||||
if <*mut JSObject>::needs_post_barrier(rval.get()) {
|
|
||||||
<*mut JSObject>::post_barrier((*proto_or_iface_array).as_mut_ptr().offset(%s as isize))
|
|
||||||
}
|
|
||||||
""" % (self.id, self.id, self.id))
|
|
||||||
|
|
||||||
|
|
||||||
class CGGetProtoObjectMethod(CGGetPerInterfaceObject):
|
class CGGetProtoObjectMethod(CGGetPerInterfaceObject):
|
||||||
|
@ -2518,7 +2538,7 @@ class CGGetProtoObjectMethod(CGGetPerInterfaceObject):
|
||||||
"""
|
"""
|
||||||
def __init__(self, descriptor):
|
def __init__(self, descriptor):
|
||||||
CGGetPerInterfaceObject.__init__(self, descriptor, "GetProtoObject",
|
CGGetPerInterfaceObject.__init__(self, descriptor, "GetProtoObject",
|
||||||
"PrototypeList::", pub=descriptor.hasDescendants())
|
"PrototypeList::ID", pub=descriptor.hasDescendants())
|
||||||
|
|
||||||
def definition_body(self):
|
def definition_body(self):
|
||||||
return CGList([
|
return CGList([
|
||||||
|
@ -2535,7 +2555,8 @@ class CGGetConstructorObjectMethod(CGGetPerInterfaceObject):
|
||||||
"""
|
"""
|
||||||
def __init__(self, descriptor):
|
def __init__(self, descriptor):
|
||||||
CGGetPerInterfaceObject.__init__(self, descriptor, "GetConstructorObject",
|
CGGetPerInterfaceObject.__init__(self, descriptor, "GetConstructorObject",
|
||||||
"constructors::", pub=descriptor.hasDescendants())
|
"PrototypeList::Constructor",
|
||||||
|
pub=descriptor.hasDescendants())
|
||||||
|
|
||||||
def definition_body(self):
|
def definition_body(self):
|
||||||
return CGList([
|
return CGList([
|
||||||
|
@ -2623,10 +2644,7 @@ class CGDefineDOMInterfaceMethod(CGAbstractMethod):
|
||||||
|
|
||||||
def definition_body(self):
|
def definition_body(self):
|
||||||
if self.descriptor.interface.isCallback():
|
if self.descriptor.interface.isCallback():
|
||||||
code = """\
|
code = "CreateInterfaceObjects(cx, global);"
|
||||||
let mut obj = RootedObject::new(cx, ptr::null_mut());
|
|
||||||
CreateInterfaceObjects(cx, global, global, obj.handle_mut());
|
|
||||||
"""
|
|
||||||
else:
|
else:
|
||||||
code = """\
|
code = """\
|
||||||
let mut proto = RootedObject::new(cx, ptr::null_mut());
|
let mut proto = RootedObject::new(cx, ptr::null_mut());
|
||||||
|
@ -4845,10 +4863,8 @@ class CGDescriptor(CGThing):
|
||||||
cgThings = []
|
cgThings = []
|
||||||
if not descriptor.interface.isCallback():
|
if not descriptor.interface.isCallback():
|
||||||
cgThings.append(CGGetProtoObjectMethod(descriptor))
|
cgThings.append(CGGetProtoObjectMethod(descriptor))
|
||||||
if descriptor.interface.hasInterfaceObject():
|
if descriptor.interface.hasInterfaceObject() and descriptor.hasDescendants():
|
||||||
# https://github.com/mozilla/servo/issues/2665
|
cgThings.append(CGGetConstructorObjectMethod(descriptor))
|
||||||
# cgThings.append(CGGetConstructorObjectMethod(descriptor))
|
|
||||||
pass
|
|
||||||
|
|
||||||
for m in descriptor.interface.members:
|
for m in descriptor.interface.members:
|
||||||
if (m.isMethod() and
|
if (m.isMethod() and
|
||||||
|
@ -4961,22 +4977,12 @@ class CGDescriptor(CGThing):
|
||||||
|
|
||||||
|
|
||||||
class CGNonNamespacedEnum(CGThing):
|
class CGNonNamespacedEnum(CGThing):
|
||||||
def __init__(self, enumName, names, values, comment="", deriving="", repr=""):
|
def __init__(self, enumName, names, first, comment="", deriving="", repr=""):
|
||||||
|
# Account for first value
|
||||||
|
entries = ["%s = %s" % (names[0], first)] + names[1:]
|
||||||
|
|
||||||
if not values:
|
# Append a Last.
|
||||||
values = []
|
entries.append('Last = ' + str(first + len(entries)))
|
||||||
|
|
||||||
# Account for explicit enum values.
|
|
||||||
entries = []
|
|
||||||
for i in range(0, len(names)):
|
|
||||||
if len(values) > i and values[i] is not None:
|
|
||||||
entry = "%s = %s" % (names[i], values[i])
|
|
||||||
else:
|
|
||||||
entry = names[i]
|
|
||||||
entries.append(entry)
|
|
||||||
|
|
||||||
# Append a Count.
|
|
||||||
entries.append('Count = ' + str(len(entries)))
|
|
||||||
|
|
||||||
# Indent.
|
# Indent.
|
||||||
entries = [' ' + e for e in entries]
|
entries = [' ' + e for e in entries]
|
||||||
|
@ -5322,8 +5328,8 @@ class CGBindingRoot(CGThing):
|
||||||
'dom::bindings::reflector::{Reflectable}',
|
'dom::bindings::reflector::{Reflectable}',
|
||||||
'dom::bindings::utils::{ConstantSpec, DOMClass, DOMJSClass}',
|
'dom::bindings::utils::{ConstantSpec, DOMClass, DOMJSClass}',
|
||||||
'dom::bindings::utils::{DOM_PROTO_UNFORGEABLE_HOLDER_SLOT, JSCLASS_DOM_GLOBAL}',
|
'dom::bindings::utils::{DOM_PROTO_UNFORGEABLE_HOLDER_SLOT, JSCLASS_DOM_GLOBAL}',
|
||||||
'dom::bindings::utils::{NonNullJSNative, create_dom_global, finalize_global}',
|
'dom::bindings::utils::{NonNullJSNative, ProtoOrIfaceArray, create_dom_global}',
|
||||||
'dom::bindings::utils::{find_enum_string_index, generic_getter}',
|
'dom::bindings::utils::{finalize_global, find_enum_string_index, generic_getter}',
|
||||||
'dom::bindings::utils::{generic_lenient_getter, generic_lenient_setter}',
|
'dom::bindings::utils::{generic_lenient_getter, generic_lenient_setter}',
|
||||||
'dom::bindings::utils::{generic_method, generic_setter, get_array_index_from_id}',
|
'dom::bindings::utils::{generic_method, generic_setter, get_array_index_from_id}',
|
||||||
'dom::bindings::utils::{get_dictionary_property, get_property_on_prototype}',
|
'dom::bindings::utils::{get_dictionary_property, get_property_on_prototype}',
|
||||||
|
@ -5975,23 +5981,28 @@ class GlobalGenRoots():
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def PrototypeList(config):
|
def PrototypeList(config):
|
||||||
# Prototype ID enum.
|
# Prototype ID enum.
|
||||||
protos = [d.name for d in config.getDescriptors(isCallback=False)]
|
interfaces = config.getDescriptors(isCallback=False)
|
||||||
|
protos = [d.name for d in interfaces]
|
||||||
|
constructors = [d.name for d in interfaces if d.hasDescendants()]
|
||||||
proxies = [d.name for d in config.getDescriptors(proxy=True)]
|
proxies = [d.name for d in config.getDescriptors(proxy=True)]
|
||||||
|
|
||||||
return CGList([
|
return CGList([
|
||||||
CGGeneric(AUTOGENERATED_WARNING_COMMENT),
|
CGGeneric(AUTOGENERATED_WARNING_COMMENT),
|
||||||
|
CGGeneric("pub const PROTO_OR_IFACE_LENGTH: usize = %d;\n" % (len(protos) + len(constructors))),
|
||||||
CGGeneric("pub const MAX_PROTO_CHAIN_LENGTH: usize = %d;\n\n" % config.maxProtoChainLength),
|
CGGeneric("pub const MAX_PROTO_CHAIN_LENGTH: usize = %d;\n\n" % config.maxProtoChainLength),
|
||||||
CGNonNamespacedEnum('ID', protos, [0], deriving="PartialEq, Copy, Clone", repr="u16"),
|
CGNonNamespacedEnum('ID', protos, 0, deriving="PartialEq, Copy, Clone", repr="u16"),
|
||||||
|
CGNonNamespacedEnum('Constructor', constructors, len(protos),
|
||||||
|
deriving="PartialEq, Copy, Clone", repr="u16"),
|
||||||
CGWrapper(CGIndenter(CGList([CGGeneric('"' + name + '"') for name in protos],
|
CGWrapper(CGIndenter(CGList([CGGeneric('"' + name + '"') for name in protos],
|
||||||
",\n"),
|
",\n"),
|
||||||
indentLevel=4),
|
indentLevel=4),
|
||||||
pre="static INTERFACES: [&'static str; %d] = [\n" % len(protos),
|
pre="static INTERFACES: [&'static str; %d] = [\n" % len(protos),
|
||||||
post="\n];\n\n"),
|
post="\n];\n\n"),
|
||||||
CGGeneric("pub fn proto_id_to_name(proto_id: u16) -> &'static str {\n"
|
CGGeneric("pub fn proto_id_to_name(proto_id: u16) -> &'static str {\n"
|
||||||
" debug_assert!(proto_id < ID::Count as u16);\n"
|
" debug_assert!(proto_id < ID::Last as u16);\n"
|
||||||
" INTERFACES[proto_id as usize]\n"
|
" INTERFACES[proto_id as usize]\n"
|
||||||
"}\n\n"),
|
"}\n\n"),
|
||||||
CGNonNamespacedEnum('Proxies', proxies, [0], deriving="PartialEq, Copy, Clone"),
|
CGNonNamespacedEnum('Proxies', proxies, 0, deriving="PartialEq, Copy, Clone"),
|
||||||
])
|
])
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
|
|
@ -144,20 +144,19 @@ pub unsafe fn create_noncallback_interface_object(
|
||||||
constants: &'static [ConstantSpec],
|
constants: &'static [ConstantSpec],
|
||||||
interface_prototype_object: HandleObject,
|
interface_prototype_object: HandleObject,
|
||||||
name: &'static [u8],
|
name: &'static [u8],
|
||||||
length: u32) {
|
length: u32,
|
||||||
let mut interface_object = RootedObject::new(cx, ptr::null_mut());
|
rval: MutableHandleObject) {
|
||||||
create_object(cx,
|
create_object(cx,
|
||||||
proto,
|
proto,
|
||||||
&*(class as *const _ as *const JSClass),
|
&*(class as *const _ as *const JSClass),
|
||||||
static_methods,
|
static_methods,
|
||||||
static_properties,
|
static_properties,
|
||||||
constants,
|
constants,
|
||||||
interface_object.handle_mut());
|
rval);
|
||||||
assert!(JS_LinkConstructorAndPrototype(cx, interface_object.handle(),
|
assert!(JS_LinkConstructorAndPrototype(cx, rval.handle(), interface_prototype_object));
|
||||||
interface_prototype_object));
|
define_name(cx, rval.handle(), name);
|
||||||
define_name(cx, interface_object.handle(), name);
|
define_length(cx, rval.handle(), length);
|
||||||
define_length(cx, interface_object.handle(), length);
|
define_on_global_object(cx, receiver, name, rval.handle());
|
||||||
define_on_global_object(cx, receiver, name, interface_object.handle());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Create and define the named constructors of a non-callback interface.
|
/// Create and define the named constructors of a non-callback interface.
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
//! Various utilities to glue JavaScript and the DOM implementation together.
|
//! Various utilities to glue JavaScript and the DOM implementation together.
|
||||||
|
|
||||||
use dom::bindings::codegen::PrototypeList;
|
use dom::bindings::codegen::PrototypeList;
|
||||||
use dom::bindings::codegen::PrototypeList::MAX_PROTO_CHAIN_LENGTH;
|
use dom::bindings::codegen::PrototypeList::{MAX_PROTO_CHAIN_LENGTH, PROTO_OR_IFACE_LENGTH};
|
||||||
use dom::bindings::conversions::{DOM_OBJECT_SLOT, is_dom_class};
|
use dom::bindings::conversions::{DOM_OBJECT_SLOT, is_dom_class};
|
||||||
use dom::bindings::conversions::{private_from_proto_check, root_from_handleobject};
|
use dom::bindings::conversions::{private_from_proto_check, root_from_handleobject};
|
||||||
use dom::bindings::error::throw_invalid_this;
|
use dom::bindings::error::throw_invalid_this;
|
||||||
|
@ -186,8 +186,8 @@ pub unsafe extern "C" fn throwing_constructor(cx: *mut JSContext,
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
|
|
||||||
/// An array of *mut JSObject of size PrototypeList::ID::Count
|
/// An array of *mut JSObject of size PROTO_OR_IFACE_LENGTH.
|
||||||
pub type ProtoOrIfaceArray = [*mut JSObject; PrototypeList::ID::Count as usize];
|
pub type ProtoOrIfaceArray = [*mut JSObject; PROTO_OR_IFACE_LENGTH];
|
||||||
|
|
||||||
/// Gets the property `id` on `proxy`'s prototype. If it exists, `*found` is
|
/// Gets the property `id` on `proxy`'s prototype. If it exists, `*found` is
|
||||||
/// set to true and `*vp` to the value, otherwise `*found` is set to false.
|
/// set to true and `*vp` to the value, otherwise `*found` is set to false.
|
||||||
|
@ -384,7 +384,7 @@ pub fn create_dom_global(cx: *mut JSContext,
|
||||||
// avoid getting trace hooks called on a partially initialized object.
|
// avoid getting trace hooks called on a partially initialized object.
|
||||||
JS_SetReservedSlot(obj.ptr, DOM_OBJECT_SLOT, PrivateValue(private));
|
JS_SetReservedSlot(obj.ptr, DOM_OBJECT_SLOT, PrivateValue(private));
|
||||||
let proto_array: Box<ProtoOrIfaceArray> =
|
let proto_array: Box<ProtoOrIfaceArray> =
|
||||||
box [0 as *mut JSObject; PrototypeList::ID::Count as usize];
|
box [0 as *mut JSObject; PROTO_OR_IFACE_LENGTH];
|
||||||
JS_SetReservedSlot(obj.ptr,
|
JS_SetReservedSlot(obj.ptr,
|
||||||
DOM_PROTOTYPE_SLOT,
|
DOM_PROTOTYPE_SLOT,
|
||||||
PrivateValue(Box::into_raw(proto_array) as *const libc::c_void));
|
PrivateValue(Box::into_raw(proto_array) as *const libc::c_void));
|
||||||
|
@ -400,7 +400,7 @@ pub fn create_dom_global(cx: *mut JSContext,
|
||||||
pub unsafe fn finalize_global(obj: *mut JSObject) {
|
pub unsafe fn finalize_global(obj: *mut JSObject) {
|
||||||
let protolist = get_proto_or_iface_array(obj);
|
let protolist = get_proto_or_iface_array(obj);
|
||||||
let list = (*protolist).as_mut_ptr();
|
let list = (*protolist).as_mut_ptr();
|
||||||
for idx in 0..(PrototypeList::ID::Count as isize) {
|
for idx in 0..PROTO_OR_IFACE_LENGTH as isize {
|
||||||
let entry = list.offset(idx);
|
let entry = list.offset(idx);
|
||||||
let value = *entry;
|
let value = *entry;
|
||||||
if <*mut JSObject>::needs_post_barrier(value) {
|
if <*mut JSObject>::needs_post_barrier(value) {
|
||||||
|
|
|
@ -9,9 +9,6 @@
|
||||||
[URL interface: operation revokeObjectURL(DOMString)]
|
[URL interface: operation revokeObjectURL(DOMString)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[File interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[File interface object length]
|
[File interface object length]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -63,9 +60,6 @@
|
||||||
[FileList interface: file_input.files must inherit property "length" with the proper type (1)]
|
[FileList interface: file_input.files must inherit property "length" with the proper type (1)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[FileReader interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[FileReaderSync interface: existence and properties of interface object]
|
[FileReaderSync interface: existence and properties of interface object]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -9,9 +9,6 @@
|
||||||
[URL interface: operation revokeObjectURL(DOMString)]
|
[URL interface: operation revokeObjectURL(DOMString)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[File interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[File interface object length]
|
[File interface object length]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -48,9 +45,6 @@
|
||||||
[Blob interface: new File(["myFileBits"\], "myFileName") must inherit property "close" with the proper type (4)]
|
[Blob interface: new File(["myFileBits"\], "myFileName") must inherit property "close" with the proper type (4)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[FileReader interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[FileReader interface: operation readAsArrayBuffer(Blob)]
|
[FileReader interface: operation readAsArrayBuffer(Blob)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
[interfaces.html]
|
|
||||||
type: testharness
|
|
||||||
[ProgressEvent interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[XMLHttpRequestEventTarget interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[XMLHttpRequestUpload interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[XMLHttpRequest interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
[interfaces.html]
|
[interfaces.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
[CustomEvent interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[MutationObserver interface: existence and properties of interface object]
|
[MutationObserver interface: existence and properties of interface object]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -63,12 +60,6 @@
|
||||||
[MutationRecord interface: attribute oldValue]
|
[MutationRecord interface: attribute oldValue]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Node interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Document interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Document interface: attribute origin]
|
[Document interface: attribute origin]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -96,9 +87,6 @@
|
||||||
[Document interface: calling queryAll(DOMString) on xmlDoc with too few arguments must throw TypeError]
|
[Document interface: calling queryAll(DOMString) on xmlDoc with too few arguments must throw TypeError]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[DocumentFragment interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[DocumentFragment interface: operation query(DOMString)]
|
[DocumentFragment interface: operation query(DOMString)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -117,12 +105,6 @@
|
||||||
[DocumentFragment interface: calling queryAll(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError]
|
[DocumentFragment interface: calling queryAll(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[DocumentType interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Element interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Element interface: operation hasAttributes()]
|
[Element interface: operation hasAttributes()]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -180,18 +162,6 @@
|
||||||
[NamedNodeMap interface: operation setNamedItemNS(Attr)]
|
[NamedNodeMap interface: operation setNamedItemNS(Attr)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[CharacterData interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Text interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[ProcessingInstruction interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Comment interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Range interface: stringifier]
|
[Range interface: stringifier]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1362,9 +1362,6 @@
|
||||||
[HTMLCollection interface: calling namedItem(DOMString) on document.all with too few arguments must throw TypeError]
|
[HTMLCollection interface: calling namedItem(DOMString) on document.all with too few arguments must throw TypeError]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLFormControlsCollection interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLFormControlsCollection interface: operation namedItem(DOMString)]
|
[HTMLFormControlsCollection interface: operation namedItem(DOMString)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -1554,9 +1551,6 @@
|
||||||
[Stringification of document.cssElementMap]
|
[Stringification of document.cssElementMap]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLElement interface: attribute translate]
|
[HTMLElement interface: attribute translate]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -2058,27 +2052,12 @@
|
||||||
[Element interface: calling queryAll(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError]
|
[Element interface: calling queryAll(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLUnknownElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLHtmlElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLHtmlElement interface: attribute version]
|
[HTMLHtmlElement interface: attribute version]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLHtmlElement interface: document.createElement("html") must inherit property "version" with the proper type (0)]
|
[HTMLHtmlElement interface: document.createElement("html") must inherit property "version" with the proper type (0)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLHeadElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLTitleElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLBaseElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLBaseElement interface: attribute href]
|
[HTMLBaseElement interface: attribute href]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -2091,9 +2070,6 @@
|
||||||
[HTMLBaseElement interface: document.createElement("base") must inherit property "target" with the proper type (1)]
|
[HTMLBaseElement interface: document.createElement("base") must inherit property "target" with the proper type (1)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLLinkElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLLinkElement interface: attribute crossOrigin]
|
[HTMLLinkElement interface: attribute crossOrigin]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -2109,9 +2085,6 @@
|
||||||
[HTMLLinkElement interface: document.createElement("link") must inherit property "sheet" with the proper type (11)]
|
[HTMLLinkElement interface: document.createElement("link") must inherit property "sheet" with the proper type (11)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLMetaElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLMetaElement interface: attribute httpEquiv]
|
[HTMLMetaElement interface: attribute httpEquiv]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -2124,9 +2097,6 @@
|
||||||
[HTMLMetaElement interface: document.createElement("meta") must inherit property "scheme" with the proper type (3)]
|
[HTMLMetaElement interface: document.createElement("meta") must inherit property "scheme" with the proper type (3)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLStyleElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLStyleElement interface: attribute media]
|
[HTMLStyleElement interface: attribute media]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -2148,9 +2118,6 @@
|
||||||
[HTMLStyleElement interface: document.createElement("style") must inherit property "sheet" with the proper type (3)]
|
[HTMLStyleElement interface: document.createElement("style") must inherit property "sheet" with the proper type (3)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLBodyElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLBodyElement interface: attribute link]
|
[HTMLBodyElement interface: attribute link]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -2235,9 +2202,6 @@
|
||||||
[HTMLBodyElement interface: document.createElement("body") must inherit property "onpopstate" with the proper type (16)]
|
[HTMLBodyElement interface: document.createElement("body") must inherit property "onpopstate" with the proper type (16)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLHeadingElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLHeadingElement interface: attribute align]
|
[HTMLHeadingElement interface: attribute align]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -2259,18 +2223,12 @@
|
||||||
[HTMLHeadingElement interface: document.createElement("h6") must inherit property "align" with the proper type (0)]
|
[HTMLHeadingElement interface: document.createElement("h6") must inherit property "align" with the proper type (0)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLParagraphElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLParagraphElement interface: attribute align]
|
[HTMLParagraphElement interface: attribute align]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLParagraphElement interface: document.createElement("p") must inherit property "align" with the proper type (0)]
|
[HTMLParagraphElement interface: document.createElement("p") must inherit property "align" with the proper type (0)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLHRElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLHRElement interface: attribute align]
|
[HTMLHRElement interface: attribute align]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -2289,9 +2247,6 @@
|
||||||
[HTMLHRElement interface: document.createElement("hr") must inherit property "size" with the proper type (3)]
|
[HTMLHRElement interface: document.createElement("hr") must inherit property "size" with the proper type (3)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLPreElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLPreElement interface: attribute width]
|
[HTMLPreElement interface: attribute width]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -2307,9 +2262,6 @@
|
||||||
[HTMLPreElement interface: document.createElement("xmp") must inherit property "width" with the proper type (0)]
|
[HTMLPreElement interface: document.createElement("xmp") must inherit property "width" with the proper type (0)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLQuoteElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLQuoteElement interface: attribute cite]
|
[HTMLQuoteElement interface: attribute cite]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -2319,9 +2271,6 @@
|
||||||
[HTMLQuoteElement interface: document.createElement("q") must inherit property "cite" with the proper type (0)]
|
[HTMLQuoteElement interface: document.createElement("q") must inherit property "cite" with the proper type (0)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLOListElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLOListElement interface: attribute reversed]
|
[HTMLOListElement interface: attribute reversed]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -2334,18 +2283,12 @@
|
||||||
[HTMLOListElement interface: attribute compact]
|
[HTMLOListElement interface: attribute compact]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLUListElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLUListElement interface: attribute compact]
|
[HTMLUListElement interface: attribute compact]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLUListElement interface: attribute type]
|
[HTMLUListElement interface: attribute type]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLLIElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLLIElement interface: attribute value]
|
[HTMLLIElement interface: attribute value]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -2358,18 +2301,9 @@
|
||||||
[HTMLLIElement interface: document.createElement("li") must inherit property "type" with the proper type (1)]
|
[HTMLLIElement interface: document.createElement("li") must inherit property "type" with the proper type (1)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLDListElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLDListElement interface: attribute compact]
|
[HTMLDListElement interface: attribute compact]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLDivElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLAnchorElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLAnchorElement interface: attribute target]
|
[HTMLAnchorElement interface: attribute target]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -2412,39 +2346,24 @@
|
||||||
[HTMLAnchorElement interface: document.createElement("a") must inherit property "charset" with the proper type (9)]
|
[HTMLAnchorElement interface: document.createElement("a") must inherit property "charset" with the proper type (9)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLDataElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLDataElement interface: attribute value]
|
[HTMLDataElement interface: attribute value]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLDataElement interface: document.createElement("data") must inherit property "value" with the proper type (0)]
|
[HTMLDataElement interface: document.createElement("data") must inherit property "value" with the proper type (0)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLTimeElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLTimeElement interface: attribute dateTime]
|
[HTMLTimeElement interface: attribute dateTime]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLTimeElement interface: document.createElement("time") must inherit property "dateTime" with the proper type (0)]
|
[HTMLTimeElement interface: document.createElement("time") must inherit property "dateTime" with the proper type (0)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLSpanElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLBRElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLBRElement interface: attribute clear]
|
[HTMLBRElement interface: attribute clear]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLBRElement interface: document.createElement("br") must inherit property "clear" with the proper type (0)]
|
[HTMLBRElement interface: document.createElement("br") must inherit property "clear" with the proper type (0)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLModElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLModElement interface: attribute cite]
|
[HTMLModElement interface: attribute cite]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -2481,9 +2400,6 @@
|
||||||
[Stringification of document.createElement("picture")]
|
[Stringification of document.createElement("picture")]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLImageElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLImageElement interface: attribute srcset]
|
[HTMLImageElement interface: attribute srcset]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -2529,9 +2445,6 @@
|
||||||
[HTMLImageElement interface: new Image() must inherit property "lowsrc" with the proper type (14)]
|
[HTMLImageElement interface: new Image() must inherit property "lowsrc" with the proper type (14)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLIFrameElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLIFrameElement interface: attribute srcdoc]
|
[HTMLIFrameElement interface: attribute srcdoc]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -2562,9 +2475,6 @@
|
||||||
[HTMLIFrameElement interface: attribute marginWidth]
|
[HTMLIFrameElement interface: attribute marginWidth]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLEmbedElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLEmbedElement interface: attribute src]
|
[HTMLEmbedElement interface: attribute src]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -2613,9 +2523,6 @@
|
||||||
[HTMLEmbedElement interface: document.createElement("embed") must inherit property "name" with the proper type (7)]
|
[HTMLEmbedElement interface: document.createElement("embed") must inherit property "name" with the proper type (7)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLObjectElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLObjectElement interface: attribute data]
|
[HTMLObjectElement interface: attribute data]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -2772,9 +2679,6 @@
|
||||||
[HTMLObjectElement interface: document.createElement("object") must inherit property "border" with the proper type (26)]
|
[HTMLObjectElement interface: document.createElement("object") must inherit property "border" with the proper type (26)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLParamElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLParamElement interface: attribute name]
|
[HTMLParamElement interface: attribute name]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -2799,9 +2703,6 @@
|
||||||
[HTMLParamElement interface: document.createElement("param") must inherit property "valueType" with the proper type (3)]
|
[HTMLParamElement interface: document.createElement("param") must inherit property "valueType" with the proper type (3)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLVideoElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLVideoElement interface: attribute width]
|
[HTMLVideoElement interface: attribute width]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -2973,9 +2874,6 @@
|
||||||
[HTMLMediaElement interface: calling addTextTrack(TextTrackKind,DOMString,DOMString) on document.createElement("video") with too few arguments must throw TypeError]
|
[HTMLMediaElement interface: calling addTextTrack(TextTrackKind,DOMString,DOMString) on document.createElement("video") with too few arguments must throw TypeError]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLAudioElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLMediaElement interface: document.createElement("audio") must inherit property "error" with the proper type (0)]
|
[HTMLMediaElement interface: document.createElement("audio") must inherit property "error" with the proper type (0)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -3264,9 +3162,6 @@
|
||||||
[HTMLMediaElement interface: calling addTextTrack(TextTrackKind,DOMString,DOMString) on new Audio() with too few arguments must throw TypeError]
|
[HTMLMediaElement interface: calling addTextTrack(TextTrackKind,DOMString,DOMString) on new Audio() with too few arguments must throw TypeError]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLSourceElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLSourceElement interface: attribute src]
|
[HTMLSourceElement interface: attribute src]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -3297,9 +3192,6 @@
|
||||||
[HTMLSourceElement interface: document.createElement("source") must inherit property "media" with the proper type (4)]
|
[HTMLSourceElement interface: document.createElement("source") must inherit property "media" with the proper type (4)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLTrackElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLTrackElement interface: attribute kind]
|
[HTMLTrackElement interface: attribute kind]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -3378,9 +3270,6 @@
|
||||||
[HTMLTrackElement interface: document.createElement("track") must inherit property "track" with the proper type (10)]
|
[HTMLTrackElement interface: document.createElement("track") must inherit property "track" with the proper type (10)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLMediaElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLMediaElement interface: attribute error]
|
[HTMLMediaElement interface: attribute error]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -4284,9 +4173,6 @@
|
||||||
[Event interface: calling initEvent(DOMString,boolean,boolean) on new TrackEvent("addtrack"; {track:document.createElement("track").track}) with too few arguments must throw TypeError]
|
[Event interface: calling initEvent(DOMString,boolean,boolean) on new TrackEvent("addtrack"; {track:document.createElement("track").track}) with too few arguments must throw TypeError]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLMapElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLMapElement interface: attribute name]
|
[HTMLMapElement interface: attribute name]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -4305,9 +4191,6 @@
|
||||||
[HTMLMapElement interface: document.createElement("map") must inherit property "images" with the proper type (2)]
|
[HTMLMapElement interface: document.createElement("map") must inherit property "images" with the proper type (2)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLAreaElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLAreaElement interface: attribute alt]
|
[HTMLAreaElement interface: attribute alt]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -4356,9 +4239,6 @@
|
||||||
[HTMLAreaElement interface: document.createElement("area") must inherit property "noHref" with the proper type (10)]
|
[HTMLAreaElement interface: document.createElement("area") must inherit property "noHref" with the proper type (10)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLTableElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLTableElement interface: attribute tHead]
|
[HTMLTableElement interface: attribute tHead]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -4479,18 +4359,12 @@
|
||||||
[HTMLTableElement interface: document.createElement("table") must inherit property "cellSpacing" with the proper type (24)]
|
[HTMLTableElement interface: document.createElement("table") must inherit property "cellSpacing" with the proper type (24)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLTableCaptionElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLTableCaptionElement interface: attribute align]
|
[HTMLTableCaptionElement interface: attribute align]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLTableCaptionElement interface: document.createElement("caption") must inherit property "align" with the proper type (0)]
|
[HTMLTableCaptionElement interface: document.createElement("caption") must inherit property "align" with the proper type (0)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLTableColElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLTableColElement interface: attribute span]
|
[HTMLTableColElement interface: attribute span]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -4545,9 +4419,6 @@
|
||||||
[HTMLTableColElement interface: document.createElement("col") must inherit property "width" with the proper type (5)]
|
[HTMLTableColElement interface: document.createElement("col") must inherit property "width" with the proper type (5)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLTableSectionElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLTableSectionElement interface: attribute align]
|
[HTMLTableSectionElement interface: attribute align]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -4596,9 +4467,6 @@
|
||||||
[HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "vAlign" with the proper type (6)]
|
[HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "vAlign" with the proper type (6)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLTableRowElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLTableRowElement interface: attribute rowIndex]
|
[HTMLTableRowElement interface: attribute rowIndex]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -4635,9 +4503,6 @@
|
||||||
[HTMLTableRowElement interface: document.createElement("tr") must inherit property "vAlign" with the proper type (8)]
|
[HTMLTableRowElement interface: document.createElement("tr") must inherit property "vAlign" with the proper type (8)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLTableDataCellElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLTableDataCellElement interface: attribute abbr]
|
[HTMLTableDataCellElement interface: attribute abbr]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -4671,9 +4536,6 @@
|
||||||
[HTMLTableCellElement interface: document.createElement("td") must inherit property "vAlign" with the proper type (11)]
|
[HTMLTableCellElement interface: document.createElement("td") must inherit property "vAlign" with the proper type (11)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLTableHeaderCellElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLTableHeaderCellElement interface: attribute scope]
|
[HTMLTableHeaderCellElement interface: attribute scope]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -4725,9 +4587,6 @@
|
||||||
[HTMLTableCellElement interface: document.createElement("th") must inherit property "vAlign" with the proper type (11)]
|
[HTMLTableCellElement interface: document.createElement("th") must inherit property "vAlign" with the proper type (11)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLTableCellElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLTableCellElement interface: attribute rowSpan]
|
[HTMLTableCellElement interface: attribute rowSpan]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -4755,9 +4614,6 @@
|
||||||
[HTMLTableCellElement interface: attribute vAlign]
|
[HTMLTableCellElement interface: attribute vAlign]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLFormElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLFormElement interface: operation checkValidity()]
|
[HTMLFormElement interface: operation checkValidity()]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -4776,12 +4632,6 @@
|
||||||
[HTMLFormElement interface: document.createElement("form") must inherit property "requestAutocomplete" with the proper type (17)]
|
[HTMLFormElement interface: document.createElement("form") must inherit property "requestAutocomplete" with the proper type (17)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLLabelElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLInputElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLInputElement interface: attribute accept]
|
[HTMLInputElement interface: attribute accept]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -5034,9 +4884,6 @@
|
||||||
[HTMLInputElement interface: document.createElement("input") must inherit property "useMap" with the proper type (57)]
|
[HTMLInputElement interface: document.createElement("input") must inherit property "useMap" with the proper type (57)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLButtonElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLButtonElement interface: attribute autofocus]
|
[HTMLButtonElement interface: attribute autofocus]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -5082,9 +4929,6 @@
|
||||||
[HTMLButtonElement interface: calling setCustomValidity(DOMString) on document.createElement("button") with too few arguments must throw TypeError]
|
[HTMLButtonElement interface: calling setCustomValidity(DOMString) on document.createElement("button") with too few arguments must throw TypeError]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLSelectElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLSelectElement interface: attribute autocomplete]
|
[HTMLSelectElement interface: attribute autocomplete]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -5190,21 +5034,12 @@
|
||||||
[HTMLSelectElement interface: calling setCustomValidity(DOMString) on document.createElement("select") with too few arguments must throw TypeError]
|
[HTMLSelectElement interface: calling setCustomValidity(DOMString) on document.createElement("select") with too few arguments must throw TypeError]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLDataListElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLOptGroupElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLOptGroupElement interface: attribute label]
|
[HTMLOptGroupElement interface: attribute label]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLOptGroupElement interface: document.createElement("optgroup") must inherit property "label" with the proper type (1)]
|
[HTMLOptGroupElement interface: document.createElement("optgroup") must inherit property "label" with the proper type (1)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLOptionElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLOptionElement interface: attribute form]
|
[HTMLOptionElement interface: attribute form]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -5217,9 +5052,6 @@
|
||||||
[HTMLOptionElement interface: document.createElement("option") must inherit property "index" with the proper type (7)]
|
[HTMLOptionElement interface: document.createElement("option") must inherit property "index" with the proper type (7)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLTextAreaElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLTextAreaElement interface: attribute autocomplete]
|
[HTMLTextAreaElement interface: attribute autocomplete]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -5457,9 +5289,6 @@
|
||||||
[HTMLKeygenElement interface: document.createElement("keygen") must inherit property "labels" with the proper type (13)]
|
[HTMLKeygenElement interface: document.createElement("keygen") must inherit property "labels" with the proper type (13)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLOutputElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLOutputElement interface: attribute htmlFor]
|
[HTMLOutputElement interface: attribute htmlFor]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -5523,9 +5352,6 @@
|
||||||
[HTMLOutputElement interface: calling setCustomValidity(DOMString) on document.createElement("output") with too few arguments must throw TypeError]
|
[HTMLOutputElement interface: calling setCustomValidity(DOMString) on document.createElement("output") with too few arguments must throw TypeError]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLProgressElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLProgressElement interface: attribute value]
|
[HTMLProgressElement interface: attribute value]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -5544,9 +5370,6 @@
|
||||||
[HTMLProgressElement interface: document.createElement("progress") must inherit property "position" with the proper type (2)]
|
[HTMLProgressElement interface: document.createElement("progress") must inherit property "position" with the proper type (2)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLMeterElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLMeterElement interface: attribute value]
|
[HTMLMeterElement interface: attribute value]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -5583,9 +5406,6 @@
|
||||||
[HTMLMeterElement interface: document.createElement("meter") must inherit property "optimum" with the proper type (5)]
|
[HTMLMeterElement interface: document.createElement("meter") must inherit property "optimum" with the proper type (5)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLFieldSetElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLFieldSetElement interface: attribute name]
|
[HTMLFieldSetElement interface: attribute name]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -5607,9 +5427,6 @@
|
||||||
[HTMLFieldSetElement interface: operation setCustomValidity(DOMString)]
|
[HTMLFieldSetElement interface: operation setCustomValidity(DOMString)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLLegendElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLLegendElement interface: attribute form]
|
[HTMLLegendElement interface: attribute form]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -5820,9 +5637,6 @@
|
||||||
[RelatedEvent interface: attribute relatedTarget]
|
[RelatedEvent interface: attribute relatedTarget]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLDialogElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLDialogElement interface: operation show([object Object\],[object Object\])]
|
[HTMLDialogElement interface: operation show([object Object\],[object Object\])]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -5832,9 +5646,6 @@
|
||||||
[HTMLDialogElement interface: operation close(DOMString)]
|
[HTMLDialogElement interface: operation close(DOMString)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLScriptElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLScriptElement interface: attribute type]
|
[HTMLScriptElement interface: attribute type]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -5877,12 +5688,6 @@
|
||||||
[HTMLScriptElement interface: document.createElement("script") must inherit property "htmlFor" with the proper type (8)]
|
[HTMLScriptElement interface: document.createElement("script") must inherit property "htmlFor" with the proper type (8)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLTemplateElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLCanvasElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLCanvasElement interface: operation probablySupportsContext(DOMString,any)]
|
[HTMLCanvasElement interface: operation probablySupportsContext(DOMString,any)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -6402,9 +6207,6 @@
|
||||||
[DragEvent interface: attribute dataTransfer]
|
[DragEvent interface: attribute dataTransfer]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Window interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Window interface: existence and properties of interface prototype object]
|
[Window interface: existence and properties of interface prototype object]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -7461,9 +7263,6 @@
|
||||||
[EventTarget interface: calling dispatchEvent(Event) on window.applicationCache with too few arguments must throw TypeError]
|
[EventTarget interface: calling dispatchEvent(Event) on window.applicationCache with too few arguments must throw TypeError]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[ErrorEvent interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Navigator interface: attribute language]
|
[Navigator interface: attribute language]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -7719,9 +7518,6 @@
|
||||||
[ImageBitmap interface: attribute height]
|
[ImageBitmap interface: attribute height]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[MessageEvent interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[MessageEvent interface: attribute source]
|
[MessageEvent interface: attribute source]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -7731,18 +7527,9 @@
|
||||||
[MessageEvent interface: operation initMessageEvent(DOMString,boolean,boolean,any,DOMString,DOMString,[object Object\],[object Object\],MessagePort)]
|
[MessageEvent interface: operation initMessageEvent(DOMString,boolean,boolean,any,DOMString,DOMString,[object Object\],[object Object\],MessagePort)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[EventSource interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[WebSocket interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[WebSocket interface: attribute extensions]
|
[WebSocket interface: attribute extensions]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[CloseEvent interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[MessageChannel interface: existence and properties of interface object]
|
[MessageChannel interface: existence and properties of interface object]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -7833,9 +7620,6 @@
|
||||||
[BroadcastChannel interface: attribute onmessage]
|
[BroadcastChannel interface: attribute onmessage]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[WorkerGlobalScope interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[WorkerGlobalScope interface: operation close()]
|
[WorkerGlobalScope interface: operation close()]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -7854,9 +7638,6 @@
|
||||||
[WorkerGlobalScope interface: operation createImageBitmap(ImageBitmapSource,long,long,long,long)]
|
[WorkerGlobalScope interface: operation createImageBitmap(ImageBitmapSource,long,long,long,long)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[DedicatedWorkerGlobalScope interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[DedicatedWorkerGlobalScope interface: operation postMessage(any,[object Object\])]
|
[DedicatedWorkerGlobalScope interface: operation postMessage(any,[object Object\])]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -7884,9 +7665,6 @@
|
||||||
[SharedWorkerGlobalScope interface: attribute onconnect]
|
[SharedWorkerGlobalScope interface: attribute onconnect]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Worker interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Worker interface: operation terminate()]
|
[Worker interface: operation terminate()]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -7917,12 +7695,6 @@
|
||||||
[WorkerNavigator interface: attribute onLine]
|
[WorkerNavigator interface: attribute onLine]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[StorageEvent interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLAppletElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLAppletElement interface: attribute align]
|
[HTMLAppletElement interface: attribute align]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -8097,9 +7869,6 @@
|
||||||
[HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "stop" with the proper type (15)]
|
[HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "stop" with the proper type (15)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLFrameSetElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLFrameSetElement interface: attribute cols]
|
[HTMLFrameSetElement interface: attribute cols]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -8190,9 +7959,6 @@
|
||||||
[HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onunload" with the proper type (14)]
|
[HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onunload" with the proper type (14)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLFrameElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLFrameElement interface: attribute name]
|
[HTMLFrameElement interface: attribute name]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -8253,18 +8019,12 @@
|
||||||
[HTMLFrameElement interface: document.createElement("frame") must inherit property "marginWidth" with the proper type (9)]
|
[HTMLFrameElement interface: document.createElement("frame") must inherit property "marginWidth" with the proper type (9)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLDirectoryElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTMLDirectoryElement interface: attribute compact]
|
[HTMLDirectoryElement interface: attribute compact]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLDirectoryElement interface: document.createElement("dir") must inherit property "compact" with the proper type (0)]
|
[HTMLDirectoryElement interface: document.createElement("dir") must inherit property "compact" with the proper type (0)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTMLFontElement interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Window interface: window must inherit property "close" with the proper type (13)]
|
[Window interface: window must inherit property "close" with the proper type (13)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -3,9 +3,6 @@
|
||||||
[Window interface: attribute localStorage]
|
[Window interface: attribute localStorage]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[StorageEvent interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Window interface: attribute sessionStorage]
|
[Window interface: attribute sessionStorage]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
[interfaces.worker]
|
[interfaces.worker]
|
||||||
type: testharness
|
type: testharness
|
||||||
[WorkerGlobalScope interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[WorkerGlobalScope interface: operation close()]
|
[WorkerGlobalScope interface: operation close()]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -18,9 +15,6 @@
|
||||||
[WorkerGlobalScope interface: attribute ononline]
|
[WorkerGlobalScope interface: attribute ononline]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[DedicatedWorkerGlobalScope interface: existence and properties of interface object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[DedicatedWorkerGlobalScope interface: operation postMessage(any,[object Object\])]
|
[DedicatedWorkerGlobalScope interface: operation postMessage(any,[object Object\])]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue