зеркало из https://github.com/mozilla/gecko-dev.git
Backed out changeset 8e16f13a88c8 (bug 1562680) for colliding with Bug 1366738 that was backed out. CLOSED TREE
This commit is contained in:
Родитель
9c4d142e96
Коммит
3ef8d24958
|
@ -13,7 +13,7 @@ import functools
|
|||
|
||||
from perfecthash import PerfectHash
|
||||
|
||||
from WebIDL import BuiltinTypes, IDLBuiltinType, IDLDefaultDictionaryValue, IDLNullValue, IDLSequenceType, IDLType, IDLAttribute, IDLInterfaceMember, IDLUndefinedValue, IDLEmptySequenceValue, IDLDictionary
|
||||
from WebIDL import BuiltinTypes, IDLBuiltinType, IDLNullValue, IDLSequenceType, IDLType, IDLAttribute, IDLInterfaceMember, IDLUndefinedValue, IDLEmptySequenceValue, IDLDictionary
|
||||
from Configuration import NoSuchDescriptorError, getTypesFromDescriptor, getTypesFromDictionary, getTypesFromCallback, getAllTypes, Descriptor, MemberIsUnforgeable, iteratorNativeType
|
||||
|
||||
AUTOGENERATED_WARNING_COMMENT = \
|
||||
|
@ -5484,9 +5484,7 @@ def getJSToNativeConversionInfo(type, descriptorProvider, failureCode=None,
|
|||
else:
|
||||
declArgs = None
|
||||
|
||||
if (defaultValue and
|
||||
not isinstance(defaultValue, IDLNullValue) and
|
||||
not isinstance(defaultValue, IDLDefaultDictionaryValue)):
|
||||
if defaultValue and not isinstance(defaultValue, IDLNullValue):
|
||||
tag = defaultValue.type.tag()
|
||||
|
||||
if tag in numericSuffixes or tag is IDLType.Tags.bool:
|
||||
|
@ -5534,7 +5532,7 @@ def getJSToNativeConversionInfo(type, descriptorProvider, failureCode=None,
|
|||
templateBody = handleNull(templateBody, declLoc,
|
||||
extraConditionForNull=extraConditionForNull)
|
||||
elif (not type.hasNullableType and defaultValue and
|
||||
isinstance(defaultValue, IDLDefaultDictionaryValue)):
|
||||
isinstance(defaultValue, IDLNullValue)):
|
||||
assert type.hasDictionaryType()
|
||||
assert defaultValue.type.isDictionary()
|
||||
if not isOwningUnion and typeNeedsRooting(defaultValue.type):
|
||||
|
@ -6198,17 +6196,14 @@ def getJSToNativeConversionInfo(type, descriptorProvider, failureCode=None,
|
|||
|
||||
declType = CGGeneric(typeName)
|
||||
|
||||
# We do manual default value handling here, because we actually do want
|
||||
# a jsval, and we only handle the default-dictionary case (which we map
|
||||
# into initialization with the JS value `null`) anyway
|
||||
# We do manual default value handling here, because we
|
||||
# actually do want a jsval, and we only handle null anyway
|
||||
# NOTE: if isNullOrUndefined or isDefinitelyObject are true,
|
||||
# we know we have a value, so we don't have to worry about the
|
||||
# default value.
|
||||
if (not isNullOrUndefined and not isDefinitelyObject and
|
||||
defaultValue is not None):
|
||||
assert(isinstance(defaultValue, IDLDefaultDictionaryValue))
|
||||
# Initializing from JS null does the right thing to give
|
||||
# us a default-initialized dictionary.
|
||||
assert(isinstance(defaultValue, IDLNullValue))
|
||||
val = "(${haveValue}) ? ${val} : JS::NullHandleValue"
|
||||
else:
|
||||
val = "${val}"
|
||||
|
|
|
@ -3581,6 +3581,8 @@ class IDLNullValue(IDLObject):
|
|||
def coerceToType(self, type, location):
|
||||
if (not isinstance(type, IDLNullableType) and
|
||||
not (type.isUnion() and type.hasNullableType) and
|
||||
not (type.isUnion() and type.hasDictionaryType()) and
|
||||
not type.isDictionary() and
|
||||
not type.isAny()):
|
||||
raise WebIDLError("Cannot coerce null value to type %s." % type,
|
||||
[location])
|
||||
|
@ -3629,35 +3631,6 @@ class IDLEmptySequenceValue(IDLObject):
|
|||
return set()
|
||||
|
||||
|
||||
class IDLDefaultDictionaryValue(IDLObject):
|
||||
def __init__(self, location):
|
||||
IDLObject.__init__(self, location)
|
||||
self.type = None
|
||||
self.value = None
|
||||
|
||||
def coerceToType(self, type, location):
|
||||
if type.isUnion():
|
||||
# We use the flat member types here, because if we have a nullable
|
||||
# member type, or a nested union, we want the type the value
|
||||
# actually coerces to, not the nullable or nested union type.
|
||||
for subtype in type.unroll().flatMemberTypes:
|
||||
try:
|
||||
return self.coerceToType(subtype, location)
|
||||
except:
|
||||
pass
|
||||
|
||||
if not type.isDictionary():
|
||||
raise WebIDLError("Cannot coerce default dictionary value to type %s." % type,
|
||||
[location])
|
||||
|
||||
defaultDictionaryValue = IDLDefaultDictionaryValue(self.location)
|
||||
defaultDictionaryValue.type = type
|
||||
return defaultDictionaryValue
|
||||
|
||||
def _getDependentObjects(self):
|
||||
return set()
|
||||
|
||||
|
||||
class IDLUndefinedValue(IDLObject):
|
||||
def __init__(self, location):
|
||||
IDLObject.__init__(self, location)
|
||||
|
@ -4657,7 +4630,14 @@ class IDLArgument(IDLObjectWithIdentifier):
|
|||
assert not isinstance(type.name, IDLUnresolvedIdentifier)
|
||||
self.type = type
|
||||
|
||||
if self.type.isAny():
|
||||
if ((self.type.isDictionary() or
|
||||
self.type.isUnion() and self.type.unroll().hasDictionaryType()) and
|
||||
self.optional and not self.defaultValue and not self.variadic and
|
||||
not self.dictionaryMember):
|
||||
# Default optional non-variadic dictionary arguments to null,
|
||||
# for simplicity, so the codegen doesn't have to special-case this.
|
||||
self.defaultValue = IDLNullValue(self.location)
|
||||
elif self.type.isAny():
|
||||
assert (self.defaultValue is None or
|
||||
isinstance(self.defaultValue, IDLNullValue))
|
||||
# optional 'any' values always have a default value
|
||||
|
@ -5097,15 +5077,6 @@ class IDLMethod(IDLInterfaceMember, IDLScope):
|
|||
"must be optional",
|
||||
[argument.location])
|
||||
|
||||
if (not argument.defaultValue and
|
||||
all(arg.optional for arg in arguments[idx+1:])):
|
||||
raise WebIDLError("Dictionary argument without any "
|
||||
"required fields or union argument "
|
||||
"containing such dictionary not "
|
||||
"followed by a required argument "
|
||||
"must have a default value",
|
||||
[argument.location])
|
||||
|
||||
# An argument cannot be a Nullable Dictionary
|
||||
if argument.type.nullable():
|
||||
raise WebIDLError("An argument cannot be a nullable "
|
||||
|
@ -5975,17 +5946,12 @@ class Parser(Tokenizer):
|
|||
"""
|
||||
DefaultValue : ConstValue
|
||||
| LBRACKET RBRACKET
|
||||
| LBRACE RBRACE
|
||||
"""
|
||||
if len(p) == 2:
|
||||
p[0] = p[1]
|
||||
else:
|
||||
assert len(p) == 3 # Must be [] or {}
|
||||
if p[1] == "[":
|
||||
p[0] = IDLEmptySequenceValue(self.getLocation(p, 1))
|
||||
else:
|
||||
assert p[1] == "{"
|
||||
p[0] = IDLDefaultDictionaryValue(self.getLocation(p, 1))
|
||||
assert len(p) == 3 # Must be []
|
||||
p[0] = IDLEmptySequenceValue(self.getLocation(p, 1))
|
||||
|
||||
def p_DefaultValueNull(self, p):
|
||||
"""
|
||||
|
|
|
@ -167,22 +167,6 @@ def WebIDLTest(parser, harness):
|
|||
|
||||
harness.ok(threw, "Trailing dictionary arg must be optional")
|
||||
|
||||
parser = parser.reset()
|
||||
threw = False
|
||||
try:
|
||||
parser.parse("""
|
||||
dictionary A {
|
||||
};
|
||||
interface X {
|
||||
void doFoo(optional A arg);
|
||||
};
|
||||
""")
|
||||
results = parser.finish()
|
||||
except:
|
||||
threw = True
|
||||
|
||||
harness.ok(threw, "Trailing dictionary arg must have a default value")
|
||||
|
||||
parser = parser.reset()
|
||||
threw = False
|
||||
try:
|
||||
|
@ -200,23 +184,6 @@ def WebIDLTest(parser, harness):
|
|||
harness.ok(threw,
|
||||
"Trailing union arg containing a dictionary must be optional")
|
||||
|
||||
parser = parser.reset()
|
||||
threw = False
|
||||
try:
|
||||
parser.parse("""
|
||||
dictionary A {
|
||||
};
|
||||
interface X {
|
||||
void doFoo(optional (A or DOMString) arg);
|
||||
};
|
||||
""")
|
||||
results = parser.finish()
|
||||
except:
|
||||
threw = True
|
||||
|
||||
harness.ok(threw,
|
||||
"Trailing union arg containing a dictionary must have a default value")
|
||||
|
||||
parser = parser.reset()
|
||||
threw = False
|
||||
try:
|
||||
|
@ -233,22 +200,6 @@ def WebIDLTest(parser, harness):
|
|||
|
||||
harness.ok(threw, "Dictionary arg followed by optional arg must be optional")
|
||||
|
||||
parser = parser.reset()
|
||||
threw = False
|
||||
try:
|
||||
parser.parse("""
|
||||
dictionary A {
|
||||
};
|
||||
interface X {
|
||||
void doFoo(optional A arg1, optional long arg2);
|
||||
};
|
||||
""")
|
||||
results = parser.finish()
|
||||
except:
|
||||
threw = True
|
||||
|
||||
harness.ok(threw, "Dictionary arg followed by optional arg must have default value")
|
||||
|
||||
parser = parser.reset()
|
||||
threw = False
|
||||
try:
|
||||
|
@ -284,24 +235,6 @@ def WebIDLTest(parser, harness):
|
|||
"Union arg containing dictionary followed by optional arg must "
|
||||
"be optional")
|
||||
|
||||
parser = parser.reset()
|
||||
threw = False
|
||||
try:
|
||||
parser.parse("""
|
||||
dictionary A {
|
||||
};
|
||||
interface X {
|
||||
void doFoo(optional (A or DOMString) arg1, optional long arg2);
|
||||
};
|
||||
""")
|
||||
results = parser.finish()
|
||||
except:
|
||||
threw = True
|
||||
|
||||
harness.ok(threw,
|
||||
"Union arg containing dictionary followed by optional arg must "
|
||||
"have a default value")
|
||||
|
||||
parser = parser.reset()
|
||||
parser.parse("""
|
||||
dictionary A {
|
||||
|
@ -393,7 +326,7 @@ def WebIDLTest(parser, harness):
|
|||
dictionary A {
|
||||
};
|
||||
interface X {
|
||||
void doFoo(optional A arg = {});
|
||||
void doFoo(optional A arg);
|
||||
};
|
||||
""")
|
||||
results = parser.finish()
|
||||
|
@ -404,23 +337,12 @@ def WebIDLTest(parser, harness):
|
|||
dictionary A {
|
||||
};
|
||||
interface X {
|
||||
void doFoo(optional (A or DOMString) arg = {});
|
||||
void doFoo(optional (A or DOMString) arg);
|
||||
};
|
||||
""")
|
||||
results = parser.finish()
|
||||
harness.ok(True, "Union arg containing a dictionary should actually parse")
|
||||
|
||||
parser = parser.reset()
|
||||
parser.parse("""
|
||||
dictionary A {
|
||||
};
|
||||
interface X {
|
||||
void doFoo(optional (A or DOMString) arg = "abc");
|
||||
};
|
||||
""")
|
||||
results = parser.finish()
|
||||
harness.ok(True, "Union arg containing a dictionary with string default should actually parse")
|
||||
|
||||
parser = parser.reset()
|
||||
threw = False
|
||||
try:
|
||||
|
|
|
@ -3,16 +3,13 @@ def firstArgType(method):
|
|||
|
||||
def WebIDLTest(parser, harness):
|
||||
parser.parse("""
|
||||
// Give our dictionary a required member so we don't need to
|
||||
// mess with optional and default values.
|
||||
dictionary Dict {
|
||||
required long member;
|
||||
};
|
||||
callback interface Foo {
|
||||
};
|
||||
interface Bar {
|
||||
// Bit of a pain to get things that have dictionary types
|
||||
void passDict(Dict arg);
|
||||
void passDict(optional Dict arg);
|
||||
void passFoo(Foo arg);
|
||||
void passNullableUnion((object? or DOMString) arg);
|
||||
void passNullable(Foo? arg);
|
||||
|
@ -159,8 +156,8 @@ def WebIDLTest(parser, harness):
|
|||
"AncestorInterface", "UnrelatedInterface",
|
||||
"ImplementedInterface", "CallbackInterface",
|
||||
"CallbackInterface?", "CallbackInterface2",
|
||||
"object", "Callback", "Callback2", "Dict",
|
||||
"Dict2", "sequence<long>", "sequence<short>",
|
||||
"object", "Callback", "Callback2", "optional Dict",
|
||||
"optional Dict2", "sequence<long>", "sequence<short>",
|
||||
"record<DOMString, object>",
|
||||
"record<USVString, Dict>",
|
||||
"record<ByteString, long>",
|
||||
|
@ -168,7 +165,7 @@ def WebIDLTest(parser, harness):
|
|||
"Promise<any>", "Promise<any>?",
|
||||
"USVString", "ArrayBuffer", "ArrayBufferView", "SharedArrayBuffer",
|
||||
"Uint8Array", "Uint16Array",
|
||||
"(long or Callback)", "(long or Dict)",
|
||||
"(long or Callback)", "optional (long or Dict)",
|
||||
]
|
||||
# When we can parse Date, we need to add it here.
|
||||
# XXXbz we can, and should really do that...
|
||||
|
@ -177,7 +174,7 @@ def WebIDLTest(parser, harness):
|
|||
def allBut(list1, list2):
|
||||
return [a for a in list1 if a not in list2 and
|
||||
(a != "any" and a != "Promise<any>" and a != "Promise<any>?")]
|
||||
unions = [ "(long or Callback)", "(long or Dict)" ]
|
||||
unions = [ "(long or Callback)", "optional (long or Dict)" ]
|
||||
numerics = [ "long", "short", "long?", "short?" ]
|
||||
booleans = [ "boolean", "boolean?" ]
|
||||
primitives = numerics + booleans
|
||||
|
@ -192,7 +189,7 @@ def WebIDLTest(parser, harness):
|
|||
interfaces = [ "Interface", "Interface?", "AncestorInterface",
|
||||
"UnrelatedInterface", "ImplementedInterface" ] + bufferSourceTypes + sharedBufferSourceTypes
|
||||
nullables = (["long?", "short?", "boolean?", "Interface?",
|
||||
"CallbackInterface?", "Dict", "Dict2",
|
||||
"CallbackInterface?", "optional Dict", "optional Dict2",
|
||||
"Date?", "any", "Promise<any>?"] +
|
||||
allBut(unions, [ "(long or Callback)" ]))
|
||||
dates = [ "Date", "Date?" ]
|
||||
|
@ -236,8 +233,8 @@ def WebIDLTest(parser, harness):
|
|||
setDistinguishable("object", nonObjects)
|
||||
setDistinguishable("Callback", nonUserObjects)
|
||||
setDistinguishable("Callback2", nonUserObjects)
|
||||
setDistinguishable("Dict", allBut(nonUserObjects, nullables))
|
||||
setDistinguishable("Dict2", allBut(nonUserObjects, nullables))
|
||||
setDistinguishable("optional Dict", allBut(nonUserObjects, nullables))
|
||||
setDistinguishable("optional Dict2", allBut(nonUserObjects, nullables))
|
||||
setDistinguishable("sequence<long>",
|
||||
allBut(argTypes, sequences + ["object"]))
|
||||
setDistinguishable("sequence<short>",
|
||||
|
@ -257,7 +254,7 @@ def WebIDLTest(parser, harness):
|
|||
setDistinguishable("SharedArrayBuffer", allBut(argTypes, ["SharedArrayBuffer", "object"]))
|
||||
setDistinguishable("(long or Callback)",
|
||||
allBut(nonUserObjects, numerics))
|
||||
setDistinguishable("(long or Dict)",
|
||||
setDistinguishable("optional (long or Dict)",
|
||||
allBut(nonUserObjects, numerics + nullables))
|
||||
|
||||
def areDistinguishable(type1, type2):
|
||||
|
@ -276,10 +273,8 @@ def WebIDLTest(parser, harness):
|
|||
callback interface CallbackInterface2 {};
|
||||
callback Callback = any();
|
||||
callback Callback2 = long(short arg);
|
||||
// Give our dictionaries required members so we don't need to
|
||||
// mess with optional and default values.
|
||||
dictionary Dict { required long member; };
|
||||
dictionary Dict2 { required long member; };
|
||||
dictionary Dict {};
|
||||
dictionary Dict2 {};
|
||||
interface TestInterface {%s
|
||||
};
|
||||
"""
|
||||
|
|
|
@ -635,8 +635,8 @@ interface TestInterface {
|
|||
void passUnion7((object or DOMString or long) arg);
|
||||
void passUnion8((object or DOMString or boolean) arg);
|
||||
void passUnion9((object or DOMString or long or boolean) arg);
|
||||
void passUnion10(optional (EventInit or long) arg = {});
|
||||
void passUnion11(optional (CustomEventInit or long) arg = {});
|
||||
void passUnion10(optional (EventInit or long) arg);
|
||||
void passUnion11(optional (CustomEventInit or long) arg);
|
||||
void passUnion12(optional (EventInit or long) arg = 5);
|
||||
void passUnion13(optional (object or long?) arg = null);
|
||||
void passUnion14(optional (object or long?) arg = 5);
|
||||
|
@ -652,8 +652,8 @@ interface TestInterface {
|
|||
void passUnion24((sequence<ImageData?> or long) arg);
|
||||
void passUnion25((sequence<sequence<ImageData>> or long) arg);
|
||||
void passUnion26((sequence<sequence<ImageData?>> or long) arg);
|
||||
void passUnion27(optional (sequence<DOMString> or EventInit) arg = {});
|
||||
void passUnion28(optional (EventInit or sequence<DOMString>) arg = {});
|
||||
void passUnion27(optional (sequence<DOMString> or EventInit) arg);
|
||||
void passUnion28(optional (EventInit or sequence<DOMString>) arg);
|
||||
void passUnionWithCallback((EventHandler or long) arg);
|
||||
void passUnionWithByteString((ByteString or long) arg);
|
||||
void passUnionWithRecord((record<DOMString, DOMString> or DOMString) arg);
|
||||
|
@ -780,7 +780,7 @@ interface TestInterface {
|
|||
[BinaryName="otherAttributeRenamedTo"]
|
||||
attribute byte otherAttributeRenamedFrom;
|
||||
|
||||
void passDictionary(optional Dict x = {});
|
||||
void passDictionary(optional Dict x);
|
||||
void passDictionary2(Dict x);
|
||||
[Cached, Pure]
|
||||
readonly attribute Dict readonlyDictionary;
|
||||
|
@ -796,16 +796,16 @@ interface TestInterface {
|
|||
attribute Dict writableFrozenDictionary;
|
||||
Dict receiveDictionary();
|
||||
Dict? receiveNullableDictionary();
|
||||
void passOtherDictionary(optional GrandparentDict x = {});
|
||||
void passOtherDictionary(optional GrandparentDict x);
|
||||
void passSequenceOfDictionaries(sequence<Dict> x);
|
||||
void passRecordOfDictionaries(record<DOMString, GrandparentDict> x);
|
||||
// No support for nullable dictionaries inside a sequence (nor should there be)
|
||||
// void passSequenceOfNullableDictionaries(sequence<Dict?> x);
|
||||
void passDictionaryOrLong(optional Dict x = {});
|
||||
void passDictionaryOrLong(optional Dict x);
|
||||
void passDictionaryOrLong(long x);
|
||||
|
||||
void passDictContainingDict(optional DictContainingDict arg = {});
|
||||
void passDictContainingSequence(optional DictContainingSequence arg = {});
|
||||
void passDictContainingDict(optional DictContainingDict arg);
|
||||
void passDictContainingSequence(optional DictContainingSequence arg);
|
||||
DictContainingSequence receiveDictContainingSequence();
|
||||
void passVariadicDictionary(Dict... arg);
|
||||
|
||||
|
@ -851,7 +851,7 @@ interface TestInterface {
|
|||
boolean overload1(TestInterface arg);
|
||||
TestInterface overload1(DOMString strs, TestInterface arg);
|
||||
void overload2(TestInterface arg);
|
||||
void overload2(optional Dict arg = {});
|
||||
void overload2(optional Dict arg);
|
||||
void overload2(boolean arg);
|
||||
void overload2(DOMString arg);
|
||||
void overload2(Date arg);
|
||||
|
@ -891,8 +891,8 @@ interface TestInterface {
|
|||
void overload18(record<DOMString, DOMString> arg);
|
||||
void overload18(sequence<DOMString> arg);
|
||||
void overload19(sequence<long> arg);
|
||||
void overload19(optional Dict arg = {});
|
||||
void overload20(optional Dict arg = {});
|
||||
void overload19(optional Dict arg);
|
||||
void overload20(optional Dict arg);
|
||||
void overload20(sequence<long> arg);
|
||||
|
||||
// Variadic handling
|
||||
|
@ -990,7 +990,7 @@ interface TestInterface {
|
|||
legacycaller short(unsigned long arg1, TestInterface arg2);
|
||||
void passArgsWithDefaults(optional long arg1,
|
||||
optional TestInterface? arg2 = null,
|
||||
optional Dict arg3 = {}, optional double arg4 = 5.0,
|
||||
optional Dict arg3, optional double arg4 = 5.0,
|
||||
optional float arg5);
|
||||
|
||||
attribute any toJSONShouldSkipThis;
|
||||
|
@ -1124,8 +1124,8 @@ dictionary Dict : ParentDict {
|
|||
// CustomEventInit is useful to test because it needs rooting.
|
||||
(CustomEventInit or long) eventInitOrLong2;
|
||||
(CustomEventInit or long)? nullableEventInitOrLong2;
|
||||
(EventInit or long) eventInitOrLongWithDefaultValue = {};
|
||||
(CustomEventInit or long) eventInitOrLongWithDefaultValue2 = {};
|
||||
(EventInit or long) eventInitOrLongWithDefaultValue = null;
|
||||
(CustomEventInit or long) eventInitOrLongWithDefaultValue2 = null;
|
||||
(EventInit or long) eventInitOrLongWithDefaultValue3 = 5;
|
||||
(CustomEventInit or long) eventInitOrLongWithDefaultValue4 = 5;
|
||||
(EventInit or long)? nullableEventInitOrLongWithDefaultValue = null;
|
||||
|
|
|
@ -444,8 +444,8 @@ interface TestExampleInterface {
|
|||
void passUnion7((object or DOMString or long) arg);
|
||||
void passUnion8((object or DOMString or boolean) arg);
|
||||
void passUnion9((object or DOMString or long or boolean) arg);
|
||||
void passUnion10(optional (EventInit or long) arg = {});
|
||||
void passUnion11(optional (CustomEventInit or long) arg = {});
|
||||
void passUnion10(optional (EventInit or long) arg);
|
||||
void passUnion11(optional (CustomEventInit or long) arg);
|
||||
void passUnion12(optional (EventInit or long) arg = 5);
|
||||
void passUnion13(optional (object or long?) arg = null);
|
||||
void passUnion14(optional (object or long?) arg = 5);
|
||||
|
@ -461,8 +461,8 @@ interface TestExampleInterface {
|
|||
void passUnion24((sequence<ImageData?> or long) arg);
|
||||
void passUnion25((sequence<sequence<ImageData>> or long) arg);
|
||||
void passUnion26((sequence<sequence<ImageData?>> or long) arg);
|
||||
void passUnion27(optional (sequence<DOMString> or EventInit) arg = {});
|
||||
void passUnion28(optional (EventInit or sequence<DOMString>) arg = {});
|
||||
void passUnion27(optional (sequence<DOMString> or EventInit) arg);
|
||||
void passUnion28(optional (EventInit or sequence<DOMString>) arg);
|
||||
void passUnionWithCallback((EventHandler or long) arg);
|
||||
void passUnionWithByteString((ByteString or long) arg);
|
||||
void passUnionWithRecord((record<DOMString, DOMString> or DOMString) arg);
|
||||
|
@ -589,7 +589,7 @@ interface TestExampleInterface {
|
|||
[BinaryName="otherAttributeRenamedTo"]
|
||||
attribute byte otherAttributeRenamedFrom;
|
||||
|
||||
void passDictionary(optional Dict x = {});
|
||||
void passDictionary(optional Dict x);
|
||||
void passDictionary2(Dict x);
|
||||
[Cached, Pure]
|
||||
readonly attribute Dict readonlyDictionary;
|
||||
|
@ -605,16 +605,16 @@ interface TestExampleInterface {
|
|||
attribute Dict writableFrozenDictionary;
|
||||
Dict receiveDictionary();
|
||||
Dict? receiveNullableDictionary();
|
||||
void passOtherDictionary(optional GrandparentDict x = {});
|
||||
void passOtherDictionary(optional GrandparentDict x);
|
||||
void passSequenceOfDictionaries(sequence<Dict> x);
|
||||
void passRecordOfDictionaries(record<DOMString, GrandparentDict> x);
|
||||
// No support for nullable dictionaries inside a sequence (nor should there be)
|
||||
// void passSequenceOfNullableDictionaries(sequence<Dict?> x);
|
||||
void passDictionaryOrLong(optional Dict x = {});
|
||||
void passDictionaryOrLong(optional Dict x);
|
||||
void passDictionaryOrLong(long x);
|
||||
|
||||
void passDictContainingDict(optional DictContainingDict arg = {});
|
||||
void passDictContainingSequence(optional DictContainingSequence arg = {});
|
||||
void passDictContainingDict(optional DictContainingDict arg);
|
||||
void passDictContainingSequence(optional DictContainingSequence arg);
|
||||
DictContainingSequence receiveDictContainingSequence();
|
||||
void passVariadicDictionary(Dict... arg);
|
||||
|
||||
|
@ -657,7 +657,7 @@ interface TestExampleInterface {
|
|||
boolean overload1(TestInterface arg);
|
||||
TestInterface overload1(DOMString strs, TestInterface arg);
|
||||
void overload2(TestInterface arg);
|
||||
void overload2(optional Dict arg = {});
|
||||
void overload2(optional Dict arg);
|
||||
void overload2(boolean arg);
|
||||
void overload2(DOMString arg);
|
||||
void overload2(Date arg);
|
||||
|
@ -697,8 +697,8 @@ interface TestExampleInterface {
|
|||
void overload18(record<DOMString, DOMString> arg);
|
||||
void overload18(sequence<DOMString> arg);
|
||||
void overload19(sequence<long> arg);
|
||||
void overload19(optional Dict arg = {});
|
||||
void overload20(optional Dict arg = {});
|
||||
void overload19(optional Dict arg);
|
||||
void overload20(optional Dict arg);
|
||||
void overload20(sequence<long> arg);
|
||||
|
||||
// Variadic handling
|
||||
|
@ -794,7 +794,7 @@ interface TestExampleInterface {
|
|||
legacycaller short(unsigned long arg1, TestInterface arg2);
|
||||
void passArgsWithDefaults(optional long arg1,
|
||||
optional TestInterface? arg2 = null,
|
||||
optional Dict arg3 = {}, optional double arg4 = 5.0,
|
||||
optional Dict arg3, optional double arg4 = 5.0,
|
||||
optional float arg5);
|
||||
attribute any toJSONShouldSkipThis;
|
||||
attribute TestParentInterface toJSONShouldSkipThis2;
|
||||
|
|
|
@ -458,8 +458,8 @@ interface TestJSImplInterface {
|
|||
void passUnion7((object or DOMString or long) arg);
|
||||
void passUnion8((object or DOMString or boolean) arg);
|
||||
void passUnion9((object or DOMString or long or boolean) arg);
|
||||
void passUnion10(optional (EventInit or long) arg = {});
|
||||
void passUnion11(optional (CustomEventInit or long) arg = {});
|
||||
void passUnion10(optional (EventInit or long) arg);
|
||||
void passUnion11(optional (CustomEventInit or long) arg);
|
||||
void passUnion12(optional (EventInit or long) arg = 5);
|
||||
void passUnion13(optional (object or long?) arg = null);
|
||||
void passUnion14(optional (object or long?) arg = 5);
|
||||
|
@ -475,8 +475,8 @@ interface TestJSImplInterface {
|
|||
void passUnion24((sequence<ImageData?> or long) arg);
|
||||
void passUnion25((sequence<sequence<ImageData>> or long) arg);
|
||||
void passUnion26((sequence<sequence<ImageData?>> or long) arg);
|
||||
void passUnion27(optional (sequence<DOMString> or EventInit) arg = {});
|
||||
void passUnion28(optional (EventInit or sequence<DOMString>) arg = {});
|
||||
void passUnion27(optional (sequence<DOMString> or EventInit) arg);
|
||||
void passUnion28(optional (EventInit or sequence<DOMString>) arg);
|
||||
void passUnionWithCallback((EventHandler or long) arg);
|
||||
void passUnionWithByteString((ByteString or long) arg);
|
||||
void passUnionWithRecord((record<DOMString, DOMString> or DOMString) arg);
|
||||
|
@ -603,7 +603,7 @@ interface TestJSImplInterface {
|
|||
[BinaryName="otherAttributeRenamedTo"]
|
||||
attribute byte otherAttributeRenamedFrom;
|
||||
|
||||
void passDictionary(optional Dict x = {});
|
||||
void passDictionary(optional Dict x);
|
||||
void passDictionary2(Dict x);
|
||||
// [Cached] is not supported in JS-implemented WebIDL.
|
||||
//[Cached, Pure]
|
||||
|
@ -620,16 +620,16 @@ interface TestJSImplInterface {
|
|||
//attribute Dict writableFrozenDictionary;
|
||||
Dict receiveDictionary();
|
||||
Dict? receiveNullableDictionary();
|
||||
void passOtherDictionary(optional GrandparentDict x = {});
|
||||
void passOtherDictionary(optional GrandparentDict x);
|
||||
void passSequenceOfDictionaries(sequence<Dict> x);
|
||||
void passRecordOfDictionaries(record<DOMString, GrandparentDict> x);
|
||||
// No support for nullable dictionaries inside a sequence (nor should there be)
|
||||
// void passSequenceOfNullableDictionaries(sequence<Dict?> x);
|
||||
void passDictionaryOrLong(optional Dict x = {});
|
||||
void passDictionaryOrLong(optional Dict x);
|
||||
void passDictionaryOrLong(long x);
|
||||
|
||||
void passDictContainingDict(optional DictContainingDict arg = {});
|
||||
void passDictContainingSequence(optional DictContainingSequence arg = {});
|
||||
void passDictContainingDict(optional DictContainingDict arg);
|
||||
void passDictContainingSequence(optional DictContainingSequence arg);
|
||||
DictContainingSequence receiveDictContainingSequence();
|
||||
void passVariadicDictionary(Dict... arg);
|
||||
|
||||
|
@ -675,7 +675,7 @@ interface TestJSImplInterface {
|
|||
boolean overload1(TestJSImplInterface arg);
|
||||
TestJSImplInterface overload1(DOMString strs, TestJSImplInterface arg);
|
||||
void overload2(TestJSImplInterface arg);
|
||||
void overload2(optional Dict arg = {});
|
||||
void overload2(optional Dict arg);
|
||||
void overload2(boolean arg);
|
||||
void overload2(DOMString arg);
|
||||
void overload2(Date arg);
|
||||
|
@ -715,8 +715,8 @@ interface TestJSImplInterface {
|
|||
void overload18(record<DOMString, DOMString> arg);
|
||||
void overload18(sequence<DOMString> arg);
|
||||
void overload19(sequence<long> arg);
|
||||
void overload19(optional Dict arg = {});
|
||||
void overload20(optional Dict arg = {});
|
||||
void overload19(optional Dict arg);
|
||||
void overload20(optional Dict arg);
|
||||
void overload20(sequence<long> arg);
|
||||
|
||||
// Variadic handling
|
||||
|
@ -816,7 +816,7 @@ interface TestJSImplInterface {
|
|||
// legacycaller short(unsigned long arg1, TestInterface arg2);
|
||||
void passArgsWithDefaults(optional long arg1,
|
||||
optional TestInterface? arg2 = null,
|
||||
optional Dict arg3 = {}, optional double arg4 = 5.0,
|
||||
optional Dict arg3, optional double arg4 = 5.0,
|
||||
optional float arg5);
|
||||
attribute any toJSONShouldSkipThis;
|
||||
attribute TestParentInterface toJSONShouldSkipThis2;
|
||||
|
|
|
@ -149,9 +149,9 @@ interface ChannelWrapper : EventTarget {
|
|||
* Returns true if the request matches the given request filter, and the
|
||||
* given extension has permission to access it.
|
||||
*/
|
||||
boolean matches(optional MozRequestFilter filter = {},
|
||||
boolean matches(optional MozRequestFilter filter,
|
||||
optional WebExtensionPolicy? extension = null,
|
||||
optional MozRequestMatchOptions options = {});
|
||||
optional MozRequestMatchOptions options);
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -39,7 +39,7 @@ namespace ChromeUtils {
|
|||
* `\d+(\-\d+)?\.fxsnapshot`.
|
||||
*/
|
||||
[Throws]
|
||||
DOMString saveHeapSnapshot(optional HeapSnapshotBoundaries boundaries = {});
|
||||
DOMString saveHeapSnapshot(optional HeapSnapshotBoundaries boundaries);
|
||||
|
||||
/**
|
||||
* This is the same as saveHeapSnapshot, but with a different return value.
|
||||
|
@ -49,7 +49,7 @@ namespace ChromeUtils {
|
|||
* `.fxsnapshot`.
|
||||
*/
|
||||
[Throws]
|
||||
DOMString saveHeapSnapshotGetId(optional HeapSnapshotBoundaries boundaries = {});
|
||||
DOMString saveHeapSnapshotGetId(optional HeapSnapshotBoundaries boundaries);
|
||||
|
||||
/**
|
||||
* Deserialize a core dump into a HeapSnapshot.
|
||||
|
@ -168,7 +168,7 @@ partial namespace ChromeUtils {
|
|||
* @param originAttrs The originAttributes from the caller.
|
||||
*/
|
||||
ByteString
|
||||
originAttributesToSuffix(optional OriginAttributesDictionary originAttrs = {});
|
||||
originAttributesToSuffix(optional OriginAttributesDictionary originAttrs);
|
||||
|
||||
/**
|
||||
* Returns true if the members of |originAttrs| match the provided members
|
||||
|
@ -178,8 +178,8 @@ partial namespace ChromeUtils {
|
|||
* @param pattern The pattern to use for matching.
|
||||
*/
|
||||
boolean
|
||||
originAttributesMatchPattern(optional OriginAttributesDictionary originAttrs = {},
|
||||
optional OriginAttributesPatternDictionary pattern = {});
|
||||
originAttributesMatchPattern(optional OriginAttributesDictionary originAttrs,
|
||||
optional OriginAttributesPatternDictionary pattern);
|
||||
|
||||
/**
|
||||
* Returns an OriginAttributesDictionary with values from the |origin| suffix
|
||||
|
@ -204,14 +204,14 @@ partial namespace ChromeUtils {
|
|||
* default values.
|
||||
*/
|
||||
OriginAttributesDictionary
|
||||
fillNonDefaultOriginAttributes(optional OriginAttributesDictionary originAttrs = {});
|
||||
fillNonDefaultOriginAttributes(optional OriginAttributesDictionary originAttrs);
|
||||
|
||||
/**
|
||||
* Returns true if the 2 OriginAttributes are equal.
|
||||
*/
|
||||
boolean
|
||||
isOriginAttributesEqual(optional OriginAttributesDictionary aA = {},
|
||||
optional OriginAttributesDictionary aB = {});
|
||||
isOriginAttributesEqual(optional OriginAttributesDictionary aA,
|
||||
optional OriginAttributesDictionary aB);
|
||||
|
||||
/**
|
||||
* Loads and compiles the script at the given URL and returns an object
|
||||
|
@ -220,7 +220,7 @@ partial namespace ChromeUtils {
|
|||
*/
|
||||
[NewObject]
|
||||
Promise<PrecompiledScript>
|
||||
compileScript(DOMString url, optional CompileScriptOptionsDictionary options = {});
|
||||
compileScript(DOMString url, optional CompileScriptOptionsDictionary options);
|
||||
|
||||
/**
|
||||
* Returns an optimized QueryInterface method which, when called from
|
||||
|
@ -275,7 +275,7 @@ partial namespace ChromeUtils {
|
|||
*/
|
||||
[Throws]
|
||||
void idleDispatch(IdleRequestCallback callback,
|
||||
optional IdleRequestOptions options = {});
|
||||
optional IdleRequestOptions options);
|
||||
|
||||
/**
|
||||
* Synchronously loads and evaluates the js file located at
|
||||
|
@ -419,7 +419,7 @@ partial namespace ChromeUtils {
|
|||
* See JSWindowActor.webidl for WindowActorOptions fields documentation.
|
||||
*/
|
||||
[ChromeOnly, Throws]
|
||||
void registerWindowActor(DOMString aName, optional WindowActorOptions aOptions = {});
|
||||
void registerWindowActor(DOMString aName, optional WindowActorOptions aOptions);
|
||||
|
||||
[ChromeOnly]
|
||||
void unregisterWindowActor(DOMString aName);
|
||||
|
|
|
@ -31,7 +31,7 @@ namespace InspectorUtils {
|
|||
unsigned long selectorIndex,
|
||||
optional [TreatNullAs=EmptyString] DOMString pseudo = "");
|
||||
boolean isInheritedProperty(DOMString property);
|
||||
sequence<DOMString> getCSSPropertyNames(optional PropertyNamesOptions options = {});
|
||||
sequence<DOMString> getCSSPropertyNames(optional PropertyNamesOptions options);
|
||||
sequence<PropertyPref> getCSSPropertyPrefs();
|
||||
[Throws] sequence<DOMString> getCSSValuesForProperty(DOMString property);
|
||||
[Throws] DOMString rgbToColorName(octet r, octet g, octet b);
|
||||
|
|
|
@ -128,8 +128,8 @@ dictionary WindowActorOptions {
|
|||
sequence<DOMString> remoteTypes;
|
||||
|
||||
/** This fields are used for configuring individual sides of the actor. */
|
||||
WindowActorSidedOptions parent = {};
|
||||
WindowActorChildOptions child = {};
|
||||
WindowActorSidedOptions parent = null;
|
||||
WindowActorChildOptions child = null;
|
||||
};
|
||||
|
||||
dictionary WindowActorSidedOptions {
|
||||
|
@ -161,4 +161,4 @@ dictionary WindowActorChildOptions : WindowActorSidedOptions {
|
|||
* file a bug for that.
|
||||
**/
|
||||
sequence<ByteString> observers;
|
||||
};
|
||||
};
|
|
@ -17,5 +17,5 @@ namespace L10nOverlays {
|
|||
const unsigned short ERROR_NAMED_ELEMENT_TYPE_MISMATCH = 3;
|
||||
const unsigned short ERROR_UNKNOWN = 4;
|
||||
|
||||
sequence<L10nOverlaysError>? translateElement(Element element, optional L10nMessage translation = {});
|
||||
};
|
||||
sequence<L10nOverlaysError>? translateElement(Element element, optional L10nMessage translation);
|
||||
};
|
|
@ -29,7 +29,7 @@ interface URI;
|
|||
* the path, and will match any string of characters. If no "*" appears,
|
||||
* the URL path must exactly match the pattern path.
|
||||
*/
|
||||
[Constructor(DOMString pattern, optional MatchPatternOptions options = {}),
|
||||
[Constructor(DOMString pattern, optional MatchPatternOptions options),
|
||||
ChromeOnly, Exposed=Window]
|
||||
interface MatchPattern {
|
||||
/**
|
||||
|
@ -79,7 +79,7 @@ interface MatchPattern {
|
|||
* A set of MatchPattern objects, which implements the MatchPattern API and
|
||||
* matches when any of its sub-patterns matches.
|
||||
*/
|
||||
[Constructor(sequence<(DOMString or MatchPattern)> patterns, optional MatchPatternOptions options = {}),
|
||||
[Constructor(sequence<(DOMString or MatchPattern)> patterns, optional MatchPatternOptions options),
|
||||
ChromeOnly, Exposed=Window]
|
||||
interface MatchPatternSet {
|
||||
/**
|
||||
|
|
|
@ -217,7 +217,7 @@ callback interface MessageListener
|
|||
* listener's return value is sent back as an array. |undefined|
|
||||
* return values show up as undefined values in the array.
|
||||
*/
|
||||
any receiveMessage(ReceiveMessageArgument argument);
|
||||
any receiveMessage(optional ReceiveMessageArgument argument);
|
||||
};
|
||||
|
||||
[ChromeOnly]
|
||||
|
|
|
@ -85,7 +85,7 @@ namespace SessionStoreUtils {
|
|||
* @param frame (DOMWindow)
|
||||
* @param value (object, see collectScrollPosition())
|
||||
*/
|
||||
void restoreScrollPosition(Window frame, optional CollectedData data = {});
|
||||
void restoreScrollPosition(Window frame, optional CollectedData data);
|
||||
|
||||
/**
|
||||
* Collect form data for a given |frame| *not* including any subframes.
|
||||
|
@ -110,7 +110,7 @@ namespace SessionStoreUtils {
|
|||
*/
|
||||
CollectedData? collectFormData(WindowProxy window);
|
||||
|
||||
boolean restoreFormData(Document document, optional CollectedData data = {});
|
||||
boolean restoreFormData(Document document, optional CollectedData data);
|
||||
|
||||
/**
|
||||
* Updates all sessionStorage "super cookies"
|
||||
|
|
|
@ -30,7 +30,7 @@ namespace TelemetryStopwatch {
|
|||
* order to avoid measurements errors.
|
||||
*/
|
||||
boolean start(HistogramID histogram, optional object? obj = null,
|
||||
optional TelemetryStopwatchOptions options = {});
|
||||
optional TelemetryStopwatchOptions options);
|
||||
|
||||
/**
|
||||
* Returns whether a timer associated with a telemetry histogram is currently
|
||||
|
@ -140,7 +140,7 @@ namespace TelemetryStopwatch {
|
|||
*/
|
||||
boolean startKeyed(HistogramID histogram, HistogramKey key,
|
||||
optional object? obj = null,
|
||||
optional TelemetryStopwatchOptions options = {});
|
||||
optional TelemetryStopwatchOptions options);
|
||||
|
||||
/**
|
||||
* Returns whether a timer associated with a telemetry histogram is currently
|
||||
|
|
|
@ -76,7 +76,7 @@ interface AddonManager : EventTarget {
|
|||
* Only one supported option: 'url', the URL of the addon to install.
|
||||
* @return A promise that resolves to an instance of AddonInstall.
|
||||
*/
|
||||
Promise<AddonInstall> createInstall(optional addonInstallOptions options = {});
|
||||
Promise<AddonInstall> createInstall(optional addonInstallOptions options);
|
||||
|
||||
// Indicator to content whether permissions prompts are enabled
|
||||
readonly attribute boolean permissionPromptsEnabled;
|
||||
|
|
|
@ -18,7 +18,7 @@ dictionary AnalyserOptions : AudioNodeOptions {
|
|||
};
|
||||
|
||||
[Pref="dom.webaudio.enabled",
|
||||
Constructor(BaseAudioContext context, optional AnalyserOptions options = {})]
|
||||
Constructor(BaseAudioContext context, optional AnalyserOptions options)]
|
||||
interface AnalyserNode : AudioNode {
|
||||
|
||||
// Real-time frequency-domain data
|
||||
|
|
|
@ -22,7 +22,7 @@ dictionary GetAnimationsOptions {
|
|||
interface Animatable {
|
||||
[Throws]
|
||||
Animation animate(object? keyframes,
|
||||
optional UnrestrictedDoubleOrKeyframeAnimationOptions options = {});
|
||||
optional UnrestrictedDoubleOrKeyframeAnimationOptions options);
|
||||
[Func="Document::IsWebAnimationsGetAnimationsEnabled"]
|
||||
sequence<Animation> getAnimations(optional GetAnimationsOptions options = {});
|
||||
sequence<Animation> getAnimations(optional GetAnimationsOptions options);
|
||||
};
|
||||
|
|
|
@ -61,5 +61,5 @@ interface AnimationEffect {
|
|||
[BinaryName="getComputedTimingAsDict"]
|
||||
ComputedEffectTiming getComputedTiming();
|
||||
[Throws]
|
||||
void updateTiming(optional OptionalEffectTiming timing = {});
|
||||
void updateTiming(optional OptionalEffectTiming timing);
|
||||
};
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
* liability, trademark and document use rules apply.
|
||||
*/
|
||||
|
||||
[Constructor(DOMString type, optional AnimationEventInit eventInitDict = {})]
|
||||
[Constructor(DOMString type, optional AnimationEventInit eventInitDict)]
|
||||
interface AnimationEvent : Event {
|
||||
readonly attribute DOMString animationName;
|
||||
readonly attribute float elapsedTime;
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
[Func="Document::IsWebAnimationsEnabled",
|
||||
Constructor(DOMString type,
|
||||
optional AnimationPlaybackEventInit eventInitDict = {})]
|
||||
optional AnimationPlaybackEventInit eventInitDict)]
|
||||
interface AnimationPlaybackEvent : Event {
|
||||
readonly attribute double? currentTime;
|
||||
readonly attribute double? timelineTime;
|
||||
|
|
|
@ -66,7 +66,7 @@ interface AnonymousContent {
|
|||
Animation setAnimationForElement(DOMString elementId,
|
||||
object? keyframes,
|
||||
optional UnrestrictedDoubleOrKeyframeAnimationOptions
|
||||
options = {});
|
||||
options);
|
||||
|
||||
/**
|
||||
* Accepts a list of (possibly overlapping) DOMRects which describe a shape
|
||||
|
|
|
@ -15,5 +15,5 @@ dictionary AppNotificationServiceOptions {
|
|||
DOMString lang = "";
|
||||
DOMString tag = "";
|
||||
DOMString data = "";
|
||||
NotificationBehavior mozbehavior = {};
|
||||
NotificationBehavior mozbehavior = null;
|
||||
};
|
||||
|
|
|
@ -20,7 +20,7 @@ dictionary AudioBufferSourceOptions {
|
|||
};
|
||||
|
||||
[Pref="dom.webaudio.enabled",
|
||||
Constructor(BaseAudioContext context, optional AudioBufferSourceOptions options = {})]
|
||||
Constructor(BaseAudioContext context, optional AudioBufferSourceOptions options)]
|
||||
interface AudioBufferSourceNode : AudioScheduledSourceNode {
|
||||
|
||||
attribute AudioBuffer? buffer;
|
||||
|
|
|
@ -15,7 +15,7 @@ dictionary AudioContextOptions {
|
|||
};
|
||||
|
||||
[Pref="dom.webaudio.enabled",
|
||||
Constructor(optional AudioContextOptions contextOptions = {})]
|
||||
Constructor(optional AudioContextOptions contextOptions)]
|
||||
interface AudioContext : BaseAudioContext {
|
||||
|
||||
// Bug 1324545: readonly attribute double outputLatency;
|
||||
|
|
|
@ -19,7 +19,7 @@ dictionary AudioWorkletNodeOptions : AudioNodeOptions {
|
|||
};
|
||||
|
||||
[SecureContext, Pref="dom.audioworklet.enabled",
|
||||
Constructor (BaseAudioContext context, DOMString name, optional AudioWorkletNodeOptions options = {})]
|
||||
Constructor (BaseAudioContext context, DOMString name, optional AudioWorkletNodeOptions options)]
|
||||
interface AudioWorkletNode : AudioNode {
|
||||
[Throws]
|
||||
readonly attribute AudioParamMap parameters;
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
*/
|
||||
|
||||
[Exposed=AudioWorklet,
|
||||
Constructor (optional AudioWorkletNodeOptions options = {})]
|
||||
Constructor (optional AudioWorkletNodeOptions options)]
|
||||
interface AudioWorkletProcessor {
|
||||
[Throws]
|
||||
readonly attribute MessagePort port;
|
||||
|
|
|
@ -98,5 +98,5 @@ interface BaseAudioContext : EventTarget {
|
|||
[NewObject, Throws]
|
||||
PeriodicWave createPeriodicWave(Float32Array real,
|
||||
Float32Array imag,
|
||||
optional PeriodicWaveConstraints constraints = {});
|
||||
optional PeriodicWaveConstraints constraints);
|
||||
};
|
||||
|
|
|
@ -30,7 +30,7 @@ dictionary BiquadFilterOptions : AudioNodeOptions {
|
|||
};
|
||||
|
||||
[Pref="dom.webaudio.enabled",
|
||||
Constructor(BaseAudioContext context, optional BiquadFilterOptions options = {})]
|
||||
Constructor(BaseAudioContext context, optional BiquadFilterOptions options)]
|
||||
interface BiquadFilterNode : AudioNode {
|
||||
|
||||
attribute BiquadFilterType type;
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
typedef (BufferSource or Blob or USVString) BlobPart;
|
||||
|
||||
[Constructor(optional sequence<BlobPart> blobParts,
|
||||
optional BlobPropertyBag options = {}),
|
||||
optional BlobPropertyBag options),
|
||||
Exposed=(Window,Worker)]
|
||||
interface Blob {
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
[Constructor(DOMString type, optional BlobEventInit eventInitDict = {})]
|
||||
[Constructor(DOMString type, optional BlobEventInit eventInitDict)]
|
||||
interface BlobEvent : Event
|
||||
{
|
||||
readonly attribute Blob? data;
|
||||
|
|
|
@ -22,5 +22,5 @@ dictionary CSPReportProperties {
|
|||
dictionary CSPReport {
|
||||
// We always want to have a "csp-report" property, so just pre-initialize it
|
||||
// to an empty dictionary..
|
||||
CSPReportProperties csp-report = {};
|
||||
CSPReportProperties csp-report = null;
|
||||
};
|
||||
|
|
|
@ -14,9 +14,9 @@
|
|||
Pref="dom.caches.enabled"]
|
||||
interface Cache {
|
||||
[NewObject]
|
||||
Promise<Response> match(RequestInfo request, optional CacheQueryOptions options = {});
|
||||
Promise<Response> match(RequestInfo request, optional CacheQueryOptions options);
|
||||
[NewObject]
|
||||
Promise<sequence<Response>> matchAll(optional RequestInfo request, optional CacheQueryOptions options = {});
|
||||
Promise<sequence<Response>> matchAll(optional RequestInfo request, optional CacheQueryOptions options);
|
||||
[NewObject, NeedsCallerType]
|
||||
Promise<void> add(RequestInfo request);
|
||||
[NewObject, NeedsCallerType]
|
||||
|
@ -24,9 +24,9 @@ interface Cache {
|
|||
[NewObject]
|
||||
Promise<void> put(RequestInfo request, Response response);
|
||||
[NewObject]
|
||||
Promise<boolean> delete(RequestInfo request, optional CacheQueryOptions options = {});
|
||||
Promise<boolean> delete(RequestInfo request, optional CacheQueryOptions options);
|
||||
[NewObject]
|
||||
Promise<sequence<Request>> keys(optional RequestInfo request, optional CacheQueryOptions options = {});
|
||||
Promise<sequence<Request>> keys(optional RequestInfo request, optional CacheQueryOptions options);
|
||||
};
|
||||
|
||||
dictionary CacheQueryOptions {
|
||||
|
|
|
@ -17,7 +17,7 @@ interface Principal;
|
|||
Pref="dom.caches.enabled"]
|
||||
interface CacheStorage {
|
||||
[NewObject]
|
||||
Promise<Response> match(RequestInfo request, optional CacheQueryOptions options = {});
|
||||
Promise<Response> match(RequestInfo request, optional CacheQueryOptions options);
|
||||
[NewObject]
|
||||
Promise<boolean> has(DOMString cacheName);
|
||||
[NewObject]
|
||||
|
|
|
@ -340,7 +340,7 @@ interface CanvasPathMethods {
|
|||
[NoInterfaceObject]
|
||||
interface CanvasHitRegions {
|
||||
// hit regions
|
||||
[Pref="canvas.hitregions.enabled", Throws] void addHitRegion(optional HitRegionOptions options = {});
|
||||
[Pref="canvas.hitregions.enabled", Throws] void addHitRegion(optional HitRegionOptions options);
|
||||
[Pref="canvas.hitregions.enabled"] void removeHitRegion(DOMString id);
|
||||
[Pref="canvas.hitregions.enabled"] void clearHitRegions();
|
||||
};
|
||||
|
|
|
@ -25,7 +25,7 @@ dictionary CaretStateChangedEventInit : EventInit {
|
|||
DOMString selectedTextContent = "";
|
||||
};
|
||||
|
||||
[Constructor(DOMString type, optional CaretStateChangedEventInit eventInit = {}),
|
||||
[Constructor(DOMString type, optional CaretStateChangedEventInit eventInit),
|
||||
ChromeOnly]
|
||||
interface CaretStateChangedEvent : Event {
|
||||
readonly attribute boolean collapsed;
|
||||
|
|
|
@ -15,6 +15,6 @@ dictionary ChannelMergerOptions : AudioNodeOptions {
|
|||
};
|
||||
|
||||
[Pref="dom.webaudio.enabled",
|
||||
Constructor(BaseAudioContext context, optional ChannelMergerOptions options = {})]
|
||||
Constructor(BaseAudioContext context, optional ChannelMergerOptions options)]
|
||||
interface ChannelMergerNode : AudioNode {
|
||||
};
|
||||
|
|
|
@ -15,7 +15,7 @@ dictionary ChannelSplitterOptions : AudioNodeOptions {
|
|||
};
|
||||
|
||||
[Pref="dom.webaudio.enabled",
|
||||
Constructor(BaseAudioContext context, optional ChannelSplitterOptions options = {})]
|
||||
Constructor(BaseAudioContext context, optional ChannelSplitterOptions options)]
|
||||
interface ChannelSplitterNode : AudioNode {
|
||||
|
||||
};
|
||||
|
|
|
@ -25,7 +25,7 @@ interface Client {
|
|||
[Throws]
|
||||
void postMessage(any message, sequence<object> transfer);
|
||||
[Throws]
|
||||
void postMessage(any message, optional PostMessageOptions aOptions = {});
|
||||
void postMessage(any message, optional PostMessageOptions aOptions);
|
||||
};
|
||||
|
||||
[Exposed=ServiceWorker]
|
||||
|
|
|
@ -14,7 +14,7 @@ interface Clients {
|
|||
[NewObject]
|
||||
Promise<any> get(DOMString id);
|
||||
[NewObject]
|
||||
Promise<sequence<Client>> matchAll(optional ClientQueryOptions options = {});
|
||||
Promise<sequence<Client>> matchAll(optional ClientQueryOptions options);
|
||||
[NewObject]
|
||||
Promise<WindowClient?> openWindow(USVString url);
|
||||
[NewObject]
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
* liability, trademark and document use rules apply.
|
||||
*/
|
||||
|
||||
[Constructor(DOMString type, optional ClipboardEventInit eventInitDict = {})]
|
||||
[Constructor(DOMString type, optional ClipboardEventInit eventInitDict)]
|
||||
interface ClipboardEvent : Event
|
||||
{
|
||||
readonly attribute DataTransfer? clipboardData;
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
* http://www.whatwg.org/specs/web-apps/current-work/multipage/network.html#closeevent
|
||||
*/
|
||||
|
||||
[Constructor(DOMString type, optional CloseEventInit eventInitDict = {}),LegacyEventInit,
|
||||
[Constructor(DOMString type, optional CloseEventInit eventInitDict),LegacyEventInit,
|
||||
Exposed=(Window,Worker)]
|
||||
interface CloseEvent : Event
|
||||
{
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
* liability, trademark and document use rules apply.
|
||||
*/
|
||||
|
||||
[Constructor(DOMString type, optional CompositionEventInit eventInitDict = {})]
|
||||
[Constructor(DOMString type, optional CompositionEventInit eventInitDict)]
|
||||
interface CompositionEvent : UIEvent
|
||||
{
|
||||
readonly attribute DOMString? data;
|
||||
|
|
|
@ -76,7 +76,7 @@ namespace console {
|
|||
const boolean IS_NATIVE_CONSOLE = true;
|
||||
|
||||
[ChromeOnly, NewObject]
|
||||
ConsoleInstance createInstance(optional ConsoleInstanceOptions options = {});
|
||||
ConsoleInstance createInstance(optional ConsoleInstanceOptions options);
|
||||
};
|
||||
|
||||
// This is used to propagate console events to the observers.
|
||||
|
|
|
@ -15,7 +15,7 @@ dictionary ConstantSourceOptions {
|
|||
};
|
||||
|
||||
[Pref="dom.webaudio.enabled",
|
||||
Constructor(BaseAudioContext context, optional ConstantSourceOptions options = {})]
|
||||
Constructor(BaseAudioContext context, optional ConstantSourceOptions options)]
|
||||
interface ConstantSourceNode : AudioScheduledSourceNode {
|
||||
readonly attribute AudioParam offset;
|
||||
};
|
||||
|
|
|
@ -16,7 +16,7 @@ dictionary ConvolverOptions : AudioNodeOptions {
|
|||
};
|
||||
|
||||
[Pref="dom.webaudio.enabled",
|
||||
Constructor(BaseAudioContext context, optional ConvolverOptions options = {})]
|
||||
Constructor(BaseAudioContext context, optional ConvolverOptions options)]
|
||||
interface ConvolverNode : AudioNode {
|
||||
|
||||
[SetterThrows]
|
||||
|
|
|
@ -16,9 +16,9 @@ interface Credential {
|
|||
[Exposed=Window, SecureContext, Pref="security.webauth.webauthn"]
|
||||
interface CredentialsContainer {
|
||||
[Throws]
|
||||
Promise<Credential?> get(optional CredentialRequestOptions options = {});
|
||||
Promise<Credential?> get(optional CredentialRequestOptions options);
|
||||
[Throws]
|
||||
Promise<Credential?> create(optional CredentialCreationOptions options = {});
|
||||
Promise<Credential?> create(optional CredentialCreationOptions options);
|
||||
[Throws]
|
||||
Promise<Credential> store(Credential credential);
|
||||
[Throws]
|
||||
|
@ -26,13 +26,13 @@ interface CredentialsContainer {
|
|||
};
|
||||
|
||||
dictionary CredentialRequestOptions {
|
||||
// FIXME: bug 1493860: should this "= {}" be here?
|
||||
PublicKeyCredentialRequestOptions publicKey = {};
|
||||
// FIXME: bug 1493860: should this "= null" be here?
|
||||
PublicKeyCredentialRequestOptions publicKey = null;
|
||||
AbortSignal signal;
|
||||
};
|
||||
|
||||
dictionary CredentialCreationOptions {
|
||||
// FIXME: bug 1493860: should this "= {}" be here?
|
||||
PublicKeyCredentialCreationOptions publicKey = {};
|
||||
// FIXME: bug 1493860: should this "= null" be here?
|
||||
PublicKeyCredentialCreationOptions publicKey = null;
|
||||
AbortSignal signal;
|
||||
};
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
interface CustomElementRegistry {
|
||||
[CEReactions, Throws, UseCounter]
|
||||
void define(DOMString name, CustomElementConstructor functionConstructor,
|
||||
optional ElementDefinitionOptions options = {});
|
||||
optional ElementDefinitionOptions options);
|
||||
[ChromeOnly, Throws]
|
||||
void setElementCreationCallback(DOMString name, CustomElementCreationCallback callback);
|
||||
any get(DOMString name);
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
* liability, trademark and document use rules apply.
|
||||
*/
|
||||
|
||||
[Constructor(DOMString type, optional CustomEventInit eventInitDict = {}),
|
||||
[Constructor(DOMString type, optional CustomEventInit eventInitDict),
|
||||
Exposed=(Window, Worker)]
|
||||
interface CustomEvent : Event
|
||||
{
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
Exposed=(Window,Worker),
|
||||
Serializable]
|
||||
interface DOMMatrixReadOnly {
|
||||
[NewObject, Throws] static DOMMatrixReadOnly fromMatrix(optional DOMMatrixInit other = {});
|
||||
[NewObject, Throws] static DOMMatrixReadOnly fromMatrix(optional DOMMatrixInit other);
|
||||
[NewObject, Throws] static DOMMatrixReadOnly fromFloat32Array(Float32Array array32);
|
||||
[NewObject, Throws] static DOMMatrixReadOnly fromFloat64Array(Float64Array array64);
|
||||
|
||||
|
@ -72,7 +72,7 @@ interface DOMMatrixReadOnly {
|
|||
optional unrestricted double angle = 0);
|
||||
DOMMatrix skewX(optional unrestricted double sx = 0);
|
||||
DOMMatrix skewY(optional unrestricted double sy = 0);
|
||||
[NewObject, Throws] DOMMatrix multiply(optional DOMMatrixInit other = {});
|
||||
[NewObject, Throws] DOMMatrix multiply(optional DOMMatrixInit other);
|
||||
DOMMatrix flipX();
|
||||
DOMMatrix flipY();
|
||||
DOMMatrix inverse();
|
||||
|
@ -80,7 +80,7 @@ interface DOMMatrixReadOnly {
|
|||
// Helper methods
|
||||
readonly attribute boolean is2D;
|
||||
readonly attribute boolean isIdentity;
|
||||
DOMPoint transformPoint(optional DOMPointInit point = {});
|
||||
DOMPoint transformPoint(optional DOMPointInit point);
|
||||
[Throws] Float32Array toFloat32Array();
|
||||
[Throws] Float64Array toFloat64Array();
|
||||
[Exposed=Window] stringifier;
|
||||
|
@ -97,7 +97,7 @@ interface DOMMatrixReadOnly {
|
|||
Exposed=(Window,Worker),
|
||||
Serializable]
|
||||
interface DOMMatrix : DOMMatrixReadOnly {
|
||||
[NewObject, Throws] static DOMMatrix fromMatrix(optional DOMMatrixInit other = {});
|
||||
[NewObject, Throws] static DOMMatrix fromMatrix(optional DOMMatrixInit other);
|
||||
[NewObject, Throws] static DOMMatrixReadOnly fromFloat32Array(Float32Array array32);
|
||||
[NewObject, Throws] static DOMMatrixReadOnly fromFloat64Array(Float64Array array64);
|
||||
|
||||
|
@ -128,8 +128,8 @@ interface DOMMatrix : DOMMatrixReadOnly {
|
|||
inherit attribute unrestricted double m44;
|
||||
|
||||
// Mutable transform methods
|
||||
[Throws] DOMMatrix multiplySelf(optional DOMMatrixInit other = {});
|
||||
[Throws] DOMMatrix preMultiplySelf(optional DOMMatrixInit other = {});
|
||||
[Throws] DOMMatrix multiplySelf(optional DOMMatrixInit other);
|
||||
[Throws] DOMMatrix preMultiplySelf(optional DOMMatrixInit other);
|
||||
DOMMatrix translateSelf(optional unrestricted double tx = 0,
|
||||
optional unrestricted double ty = 0,
|
||||
optional unrestricted double tz = 0);
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
Exposed=(Window,Worker),
|
||||
Serializable]
|
||||
interface DOMPointReadOnly {
|
||||
[NewObject] static DOMPointReadOnly fromPoint(optional DOMPointInit other = {});
|
||||
[NewObject] static DOMPointReadOnly fromPoint(optional DOMPointInit other);
|
||||
|
||||
readonly attribute unrestricted double x;
|
||||
readonly attribute unrestricted double y;
|
||||
|
@ -32,7 +32,7 @@ interface DOMPointReadOnly {
|
|||
Exposed=(Window,Worker),
|
||||
Serializable]
|
||||
interface DOMPoint : DOMPointReadOnly {
|
||||
[NewObject] static DOMPoint fromPoint(optional DOMPointInit other = {});
|
||||
[NewObject] static DOMPoint fromPoint(optional DOMPointInit other);
|
||||
|
||||
inherit attribute unrestricted double x;
|
||||
inherit attribute unrestricted double y;
|
||||
|
|
|
@ -11,14 +11,14 @@
|
|||
*/
|
||||
|
||||
[Pref="layout.css.DOMQuad.enabled",
|
||||
Constructor(optional DOMPointInit p1 = {}, optional DOMPointInit p2 = {},
|
||||
optional DOMPointInit p3 = {}, optional DOMPointInit p4 = {}),
|
||||
Constructor(optional DOMPointInit p1, optional DOMPointInit p2,
|
||||
optional DOMPointInit p3, optional DOMPointInit p4),
|
||||
Constructor(DOMRectReadOnly rect),
|
||||
Exposed=(Window,Worker),
|
||||
Serializable]
|
||||
interface DOMQuad {
|
||||
[NewObject] static DOMQuad fromRect(optional DOMRectInit other = {});
|
||||
[NewObject] static DOMQuad fromQuad(optional DOMQuadInit other = {});
|
||||
[NewObject] static DOMQuad fromRect(optional DOMRectInit other);
|
||||
[NewObject] static DOMQuad fromQuad(optional DOMQuadInit other);
|
||||
|
||||
[SameObject] readonly attribute DOMPoint p1;
|
||||
[SameObject] readonly attribute DOMPoint p2;
|
||||
|
@ -30,8 +30,8 @@ interface DOMQuad {
|
|||
};
|
||||
|
||||
dictionary DOMQuadInit {
|
||||
DOMPointInit p1 = {};
|
||||
DOMPointInit p2 = {};
|
||||
DOMPointInit p3 = {};
|
||||
DOMPointInit p4 = {};
|
||||
DOMPointInit p1 = null;
|
||||
DOMPointInit p2 = null;
|
||||
DOMPointInit p3 = null;
|
||||
DOMPointInit p4 = null;
|
||||
};
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
Exposed=(Window,Worker),
|
||||
Serializable]
|
||||
interface DOMRect : DOMRectReadOnly {
|
||||
[NewObject] static DOMRect fromRect(optional DOMRectInit other = {});
|
||||
[NewObject] static DOMRect fromRect(optional DOMRectInit other);
|
||||
|
||||
inherit attribute unrestricted double x;
|
||||
inherit attribute unrestricted double y;
|
||||
|
@ -29,7 +29,7 @@ interface DOMRect : DOMRectReadOnly {
|
|||
Exposed=(Window,Worker),
|
||||
Serializable]
|
||||
interface DOMRectReadOnly {
|
||||
[NewObject] static DOMRectReadOnly fromRect(optional DOMRectInit other = {});
|
||||
[NewObject] static DOMRectReadOnly fromRect(optional DOMRectInit other);
|
||||
|
||||
readonly attribute unrestricted double x;
|
||||
readonly attribute unrestricted double y;
|
||||
|
|
|
@ -21,7 +21,7 @@ interface DedicatedWorkerGlobalScope : WorkerGlobalScope {
|
|||
[Throws]
|
||||
void postMessage(any message, sequence<object> transfer);
|
||||
[Throws]
|
||||
void postMessage(any message, optional PostMessageOptions options = {});
|
||||
void postMessage(any message, optional PostMessageOptions options);
|
||||
|
||||
void close();
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ dictionary DelayOptions : AudioNodeOptions {
|
|||
};
|
||||
|
||||
[Pref="dom.webaudio.enabled",
|
||||
Constructor(BaseAudioContext context, optional DelayOptions options = {})]
|
||||
Constructor(BaseAudioContext context, optional DelayOptions options)]
|
||||
interface DelayNode : AudioNode {
|
||||
|
||||
readonly attribute AudioParam delayTime;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
[Pref="device.sensors.ambientLight.enabled", Func="nsGlobalWindowInner::DeviceSensorsEnabled", Constructor(DOMString type, optional DeviceLightEventInit eventInitDict = {})]
|
||||
[Pref="device.sensors.ambientLight.enabled", Func="nsGlobalWindowInner::DeviceSensorsEnabled", Constructor(DOMString type, optional DeviceLightEventInit eventInitDict)]
|
||||
interface DeviceLightEvent : Event
|
||||
{
|
||||
readonly attribute unrestricted double value;
|
||||
|
|
|
@ -20,7 +20,7 @@ interface DeviceRotationRate {
|
|||
readonly attribute double? gamma;
|
||||
};
|
||||
|
||||
[Pref="device.sensors.motion.enabled", Func="nsGlobalWindowInner::DeviceSensorsEnabled", Constructor(DOMString type, optional DeviceMotionEventInit eventInitDict = {})]
|
||||
[Pref="device.sensors.motion.enabled", Func="nsGlobalWindowInner::DeviceSensorsEnabled", Constructor(DOMString type, optional DeviceMotionEventInit eventInitDict)]
|
||||
interface DeviceMotionEvent : Event {
|
||||
readonly attribute DeviceAcceleration? acceleration;
|
||||
readonly attribute DeviceAcceleration? accelerationIncludingGravity;
|
||||
|
@ -41,12 +41,12 @@ dictionary DeviceRotationRateInit {
|
|||
};
|
||||
|
||||
dictionary DeviceMotionEventInit : EventInit {
|
||||
// FIXME: bug 1493860: should this "= {}" be here?
|
||||
DeviceAccelerationInit acceleration = {};
|
||||
// FIXME: bug 1493860: should this "= {}" be here?
|
||||
DeviceAccelerationInit accelerationIncludingGravity = {};
|
||||
// FIXME: bug 1493860: should this "= {}" be here?
|
||||
DeviceRotationRateInit rotationRate = {};
|
||||
// FIXME: bug 1493860: should this "= null" be here?
|
||||
DeviceAccelerationInit acceleration = null;
|
||||
// FIXME: bug 1493860: should this "= null" be here?
|
||||
DeviceAccelerationInit accelerationIncludingGravity = null;
|
||||
// FIXME: bug 1493860: should this "= null" be here?
|
||||
DeviceRotationRateInit rotationRate = null;
|
||||
double? interval = null;
|
||||
};
|
||||
|
||||
|
@ -55,8 +55,8 @@ partial interface DeviceMotionEvent {
|
|||
void initDeviceMotionEvent(DOMString type,
|
||||
optional boolean canBubble = false,
|
||||
optional boolean cancelable = false,
|
||||
optional DeviceAccelerationInit acceleration = {},
|
||||
optional DeviceAccelerationInit accelerationIncludingGravity = {},
|
||||
optional DeviceRotationRateInit rotationRate = {},
|
||||
optional DeviceAccelerationInit acceleration,
|
||||
optional DeviceAccelerationInit accelerationIncludingGravity,
|
||||
optional DeviceRotationRateInit rotationRate,
|
||||
optional double? interval = null);
|
||||
};
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
[Pref="device.sensors.orientation.enabled", Func="nsGlobalWindowInner::DeviceSensorsEnabled", Constructor(DOMString type, optional DeviceOrientationEventInit eventInitDict = {}), LegacyEventInit]
|
||||
[Pref="device.sensors.orientation.enabled", Func="nsGlobalWindowInner::DeviceSensorsEnabled", Constructor(DOMString type, optional DeviceOrientationEventInit eventInitDict), LegacyEventInit]
|
||||
interface DeviceOrientationEvent : Event
|
||||
{
|
||||
readonly attribute double? alpha;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
[Pref="device.sensors.proximity.enabled", Func="nsGlobalWindowInner::DeviceSensorsEnabled", Constructor(DOMString type, optional DeviceProximityEventInit eventInitDict = {})]
|
||||
[Pref="device.sensors.proximity.enabled", Func="nsGlobalWindowInner::DeviceSensorsEnabled", Constructor(DOMString type, optional DeviceProximityEventInit eventInitDict)]
|
||||
interface DeviceProximityEvent : Event
|
||||
{
|
||||
readonly attribute double value;
|
||||
|
|
|
@ -71,9 +71,9 @@ interface Document : Node {
|
|||
// because the DOM element reflectors will be in the content scope,
|
||||
// instead of the desired UA Widget scope.
|
||||
[CEReactions, NewObject, Throws, Func="IsNotUAWidget"]
|
||||
Element createElement(DOMString localName, optional (ElementCreationOptions or DOMString) options = {});
|
||||
Element createElement(DOMString localName, optional (ElementCreationOptions or DOMString) options);
|
||||
[CEReactions, NewObject, Throws, Func="IsNotUAWidget"]
|
||||
Element createElementNS(DOMString? namespace, DOMString qualifiedName, optional (ElementCreationOptions or DOMString) options = {});
|
||||
Element createElementNS(DOMString? namespace, DOMString qualifiedName, optional (ElementCreationOptions or DOMString) options);
|
||||
[NewObject]
|
||||
DocumentFragment createDocumentFragment();
|
||||
[NewObject, Func="IsNotUAWidget"]
|
||||
|
@ -380,7 +380,7 @@ partial interface Document {
|
|||
void loadBindingDocument(DOMString documentURL);
|
||||
// Creates a new XUL element regardless of the document's default type.
|
||||
[CEReactions, NewObject, Throws, Func="IsChromeOrXBL"]
|
||||
Element createXULElement(DOMString localName, optional (ElementCreationOptions or DOMString) options = {});
|
||||
Element createXULElement(DOMString localName, optional (ElementCreationOptions or DOMString) options);
|
||||
// Wether the document was loaded using a nsXULPrototypeDocument.
|
||||
[ChromeOnly]
|
||||
readonly attribute boolean loadedFromPrototype;
|
||||
|
@ -430,7 +430,7 @@ partial interface Document {
|
|||
// Blocks the initial document parser until the given promise is settled.
|
||||
[ChromeOnly, Throws]
|
||||
Promise<any> blockParsing(Promise<any> promise,
|
||||
optional BlockParsingOptions options = {});
|
||||
optional BlockParsingOptions options);
|
||||
|
||||
// like documentURI, except that for error pages, it returns the URI we were
|
||||
// trying to load when we hit an error, rather than the error page's own URI.
|
||||
|
|
|
@ -15,6 +15,6 @@ dictionary DocumentTimelineOptions {
|
|||
};
|
||||
|
||||
[Func="Document::AreWebAnimationsTimelinesEnabled",
|
||||
Constructor(optional DocumentTimelineOptions options = {})]
|
||||
Constructor(optional DocumentTimelineOptions options)]
|
||||
interface DocumentTimeline : AnimationTimeline {
|
||||
};
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
[Constructor(DOMString type, optional DragEventInit eventInitDict = {})]
|
||||
[Constructor(DOMString type, optional DragEventInit eventInitDict)]
|
||||
interface DragEvent : MouseEvent
|
||||
{
|
||||
readonly attribute DataTransfer? dataTransfer;
|
||||
|
|
|
@ -19,7 +19,7 @@ dictionary DynamicsCompressorOptions : AudioNodeOptions {
|
|||
};
|
||||
|
||||
[Pref="dom.webaudio.enabled",
|
||||
Constructor(BaseAudioContext context, optional DynamicsCompressorOptions options = {})]
|
||||
Constructor(BaseAudioContext context, optional DynamicsCompressorOptions options)]
|
||||
interface DynamicsCompressorNode : AudioNode {
|
||||
|
||||
readonly attribute AudioParam threshold; // in Decibels
|
||||
|
|
|
@ -164,7 +164,7 @@ dictionary FocusOptions {
|
|||
// is fixed, mixin should be used.
|
||||
[NoInterfaceObject] interface HTMLOrSVGOrXULElementMixin {
|
||||
[Throws]
|
||||
void focus(optional FocusOptions options = {});
|
||||
void focus(optional FocusOptions options);
|
||||
};
|
||||
|
||||
// http://dev.w3.org/csswg/cssom-view/
|
||||
|
@ -180,7 +180,7 @@ partial interface Element {
|
|||
DOMRect getBoundingClientRect();
|
||||
|
||||
// scrolling
|
||||
void scrollIntoView(optional (boolean or ScrollIntoViewOptions) arg = {});
|
||||
void scrollIntoView(optional (boolean or ScrollIntoViewOptions) arg);
|
||||
// None of the CSSOM attributes are [Pure], because they flush
|
||||
attribute long scrollTop; // scroll on setting
|
||||
attribute long scrollLeft; // scroll on setting
|
||||
|
@ -188,11 +188,11 @@ partial interface Element {
|
|||
readonly attribute long scrollHeight;
|
||||
|
||||
void scroll(unrestricted double x, unrestricted double y);
|
||||
void scroll(optional ScrollToOptions options = {});
|
||||
void scroll(optional ScrollToOptions options);
|
||||
void scrollTo(unrestricted double x, unrestricted double y);
|
||||
void scrollTo(optional ScrollToOptions options = {});
|
||||
void scrollTo(optional ScrollToOptions options);
|
||||
void scrollBy(unrestricted double x, unrestricted double y);
|
||||
void scrollBy(optional ScrollToOptions options = {});
|
||||
void scrollBy(optional ScrollToOptions options);
|
||||
// mozScrollSnap is used by chrome to perform scroll snapping after the
|
||||
// user performs actions that may affect scroll position
|
||||
// mozScrollSnap is deprecated, to be replaced by a web accessible API, such
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
[Constructor(DOMString type, optional ErrorEventInit eventInitDict = {}),
|
||||
[Constructor(DOMString type, optional ErrorEventInit eventInitDict),
|
||||
Exposed=(Window,Worker)]
|
||||
interface ErrorEvent : Event
|
||||
{
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
* liability, trademark and document use rules apply.
|
||||
*/
|
||||
|
||||
[Constructor(DOMString type, optional EventInit eventInitDict = {}),
|
||||
[Constructor(DOMString type, optional EventInit eventInitDict),
|
||||
Exposed=(Window,Worker), ProbablyShortLivingWrapper]
|
||||
interface Event {
|
||||
[Pure]
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
*/
|
||||
|
||||
[Exposed=(Window,DedicatedWorker,SharedWorker),
|
||||
Constructor(USVString url, optional EventSourceInit eventSourceInitDict = {})]
|
||||
Constructor(USVString url, optional EventSourceInit eventSourceInitDict)]
|
||||
interface EventSource : EventTarget {
|
||||
[Constant]
|
||||
readonly attribute DOMString url;
|
||||
|
|
|
@ -35,12 +35,12 @@ interface EventTarget {
|
|||
[Throws]
|
||||
void addEventListener(DOMString type,
|
||||
EventListener? listener,
|
||||
optional (AddEventListenerOptions or boolean) options = {},
|
||||
optional (AddEventListenerOptions or boolean) options,
|
||||
optional boolean? wantsUntrusted = null);
|
||||
[Throws]
|
||||
void removeEventListener(DOMString type,
|
||||
EventListener? listener,
|
||||
optional (EventListenerOptions or boolean) options = {});
|
||||
optional (EventListenerOptions or boolean) options);
|
||||
[Throws, NeedsCallerType]
|
||||
boolean dispatchEvent(Event event);
|
||||
};
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
* http://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html
|
||||
*/
|
||||
|
||||
[Constructor(DOMString type, optional ExtendableEventInit eventInitDict = {}),
|
||||
[Constructor(DOMString type, optional ExtendableEventInit eventInitDict),
|
||||
Exposed=ServiceWorker]
|
||||
interface ExtendableEvent : Event {
|
||||
// https://github.com/slightlyoff/ServiceWorker/issues/261
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
* https://w3c.github.io/ServiceWorker/#extendablemessage-event-section
|
||||
*/
|
||||
|
||||
[Constructor(DOMString type, optional ExtendableMessageEventInit eventInitDict = {}),
|
||||
[Constructor(DOMString type, optional ExtendableMessageEventInit eventInitDict),
|
||||
Exposed=(ServiceWorker)]
|
||||
interface ExtendableMessageEvent : ExtendableEvent {
|
||||
/**
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
interface nsIFile;
|
||||
|
||||
[Constructor(sequence<BlobPart> fileBits,
|
||||
USVString fileName, optional FilePropertyBag options = {}),
|
||||
USVString fileName, optional FilePropertyBag options),
|
||||
Exposed=(Window,Worker)]
|
||||
interface File : Blob {
|
||||
readonly attribute DOMString name;
|
||||
|
@ -50,9 +50,9 @@ partial interface File {
|
|||
partial interface File {
|
||||
[ChromeOnly, Throws, NeedsCallerType]
|
||||
static Promise<File> createFromNsIFile(nsIFile file,
|
||||
optional ChromeFilePropertyBag options = {});
|
||||
optional ChromeFilePropertyBag options);
|
||||
|
||||
[ChromeOnly, Throws, NeedsCallerType]
|
||||
static Promise<File> createFromFileName(USVString fileName,
|
||||
optional ChromeFilePropertyBag options = {});
|
||||
optional ChromeFilePropertyBag options);
|
||||
};
|
||||
|
|
|
@ -10,12 +10,12 @@ interface FileSystemDirectoryEntry : FileSystemEntry {
|
|||
FileSystemDirectoryReader createReader();
|
||||
|
||||
void getFile(optional USVString? path,
|
||||
optional FileSystemFlags options = {},
|
||||
optional FileSystemFlags options,
|
||||
optional FileSystemEntryCallback successCallback,
|
||||
optional ErrorCallback errorCallback);
|
||||
|
||||
void getDirectory(optional USVString? path,
|
||||
optional FileSystemFlags options = {},
|
||||
optional FileSystemFlags options,
|
||||
optional FileSystemEntryCallback successCallback,
|
||||
optional ErrorCallback errorCallback);
|
||||
};
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
* liability, trademark and document use rules apply.
|
||||
*/
|
||||
|
||||
[Constructor(DOMString typeArg, optional FocusEventInit focusEventInitDict = {})]
|
||||
[Constructor(DOMString typeArg, optional FocusEventInit focusEventInitDict)]
|
||||
interface FocusEvent : UIEvent {
|
||||
// Introduced in DOM Level 3:
|
||||
readonly attribute EventTarget? relatedTarget;
|
||||
|
|
|
@ -29,7 +29,7 @@ enum FontFaceLoadStatus { "unloaded", "loading", "loaded", "error" };
|
|||
// [Exposed=(Window,Worker)]
|
||||
[Constructor(DOMString family,
|
||||
(DOMString or BinaryData) source,
|
||||
optional FontFaceDescriptors descriptors = {}),
|
||||
optional FontFaceDescriptors descriptors),
|
||||
Pref="layout.css.font-loading-api.enabled"]
|
||||
interface FontFace {
|
||||
[SetterThrows] attribute DOMString family;
|
||||
|
|
|
@ -14,7 +14,7 @@ dictionary FontFaceSetLoadEventInit : EventInit {
|
|||
sequence<FontFace> fontfaces = [];
|
||||
};
|
||||
|
||||
[Constructor(DOMString type, optional FontFaceSetLoadEventInit eventInitDict = {}),
|
||||
[Constructor(DOMString type, optional FontFaceSetLoadEventInit eventInitDict),
|
||||
Pref="layout.css.font-loading-api.enabled"]
|
||||
interface FontFaceSetLoadEvent : Event {
|
||||
[Cached, Constant, Frozen] readonly attribute sequence<FontFace> fontfaces;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
[Constructor(DOMString type, optional FrameCrashedEventInit eventInitDict = {}), ChromeOnly]
|
||||
[Constructor(DOMString type, optional FrameCrashedEventInit eventInitDict), ChromeOnly]
|
||||
interface FrameCrashedEvent : Event
|
||||
{
|
||||
/**
|
||||
|
|
|
@ -108,5 +108,5 @@ interface FuzzingFunctions {
|
|||
*/
|
||||
[Throws]
|
||||
static void synthesizeKeyboardEvents(DOMString aKeyValue,
|
||||
optional KeyboardEventInit aDictionary = {});
|
||||
optional KeyboardEventInit aDictionary);
|
||||
};
|
||||
|
|
|
@ -15,7 +15,7 @@ dictionary GainOptions : AudioNodeOptions {
|
|||
};
|
||||
|
||||
[Pref="dom.webaudio.enabled",
|
||||
Constructor(BaseAudioContext context, optional GainOptions options = {})]
|
||||
Constructor(BaseAudioContext context, optional GainOptions options)]
|
||||
interface GainNode : AudioNode {
|
||||
|
||||
readonly attribute AudioParam gain;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
[Pref="dom.gamepad.non_standard_events.enabled",
|
||||
Constructor(DOMString type, optional GamepadAxisMoveEventInit eventInitDict = {})]
|
||||
Constructor(DOMString type, optional GamepadAxisMoveEventInit eventInitDict)]
|
||||
interface GamepadAxisMoveEvent : GamepadEvent
|
||||
{
|
||||
readonly attribute unsigned long axis;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
[Pref="dom.gamepad.non_standard_events.enabled",
|
||||
Constructor(DOMString type, optional GamepadButtonEventInit eventInitDict = {})]
|
||||
Constructor(DOMString type, optional GamepadButtonEventInit eventInitDict)]
|
||||
interface GamepadButtonEvent : GamepadEvent
|
||||
{
|
||||
readonly attribute unsigned long button;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
[Pref="dom.gamepad.enabled",
|
||||
Constructor(DOMString type, optional GamepadEventInit eventInitDict = {})]
|
||||
Constructor(DOMString type, optional GamepadEventInit eventInitDict)]
|
||||
interface GamepadEvent : Event
|
||||
{
|
||||
readonly attribute Gamepad? gamepad;
|
||||
|
|
|
@ -21,12 +21,12 @@ interface Geolocation {
|
|||
[Throws, NeedsCallerType]
|
||||
void getCurrentPosition(PositionCallback successCallback,
|
||||
optional PositionErrorCallback? errorCallback = null,
|
||||
optional PositionOptions options = {});
|
||||
optional PositionOptions options);
|
||||
|
||||
[Throws, NeedsCallerType]
|
||||
long watchPosition(PositionCallback successCallback,
|
||||
optional PositionErrorCallback? errorCallback = null,
|
||||
optional PositionOptions options = {});
|
||||
optional PositionOptions options);
|
||||
|
||||
void clearWatch(long watchId);
|
||||
};
|
||||
|
|
|
@ -24,13 +24,13 @@ dictionary ConvertCoordinateOptions {
|
|||
[NoInterfaceObject]
|
||||
interface GeometryUtils {
|
||||
[Throws, Func="nsINode::HasBoxQuadsSupport", NeedsCallerType]
|
||||
sequence<DOMQuad> getBoxQuads(optional BoxQuadOptions options = {});
|
||||
sequence<DOMQuad> getBoxQuads(optional BoxQuadOptions options);
|
||||
[Throws, Pref="layout.css.convertFromNode.enabled", NeedsCallerType]
|
||||
DOMQuad convertQuadFromNode(DOMQuad quad, GeometryNode from, optional ConvertCoordinateOptions options = {});
|
||||
DOMQuad convertQuadFromNode(DOMQuad quad, GeometryNode from, optional ConvertCoordinateOptions options);
|
||||
[Throws, Pref="layout.css.convertFromNode.enabled", NeedsCallerType]
|
||||
DOMQuad convertRectFromNode(DOMRectReadOnly rect, GeometryNode from, optional ConvertCoordinateOptions options = {});
|
||||
DOMQuad convertRectFromNode(DOMRectReadOnly rect, GeometryNode from, optional ConvertCoordinateOptions options);
|
||||
[Throws, Pref="layout.css.convertFromNode.enabled", NeedsCallerType]
|
||||
DOMPoint convertPointFromNode(DOMPointInit point, GeometryNode from, optional ConvertCoordinateOptions options = {});
|
||||
DOMPoint convertPointFromNode(DOMPointInit point, GeometryNode from, optional ConvertCoordinateOptions options);
|
||||
};
|
||||
|
||||
// PseudoElement implements GeometryUtils;
|
||||
|
|
|
@ -266,10 +266,10 @@ partial interface HTMLInputElement {
|
|||
double getMaximum();
|
||||
|
||||
[Pref="dom.forms.datetime", Func="IsChromeOrXBLOrUAWidget"]
|
||||
void openDateTimePicker(optional DateTimeValue initialValue = {});
|
||||
void openDateTimePicker(optional DateTimeValue initialValue);
|
||||
|
||||
[Pref="dom.forms.datetime", Func="IsChromeOrXBLOrUAWidget"]
|
||||
void updateDateTimePicker(optional DateTimeValue value = {});
|
||||
void updateDateTimePicker(optional DateTimeValue value);
|
||||
|
||||
[Pref="dom.forms.datetime", Func="IsChromeOrXBLOrUAWidget"]
|
||||
void closeDateTimePicker();
|
||||
|
|
|
@ -14,8 +14,8 @@
|
|||
[Exposed=Window, HTMLConstructor]
|
||||
interface HTMLSlotElement : HTMLElement {
|
||||
[CEReactions, SetterThrows] attribute DOMString name;
|
||||
sequence<Node> assignedNodes(optional AssignedNodesOptions options = {});
|
||||
sequence<Element> assignedElements(optional AssignedNodesOptions options = {});
|
||||
sequence<Node> assignedNodes(optional AssignedNodesOptions options);
|
||||
sequence<Element> assignedElements(optional AssignedNodesOptions options);
|
||||
};
|
||||
|
||||
dictionary AssignedNodesOptions {
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
[Constructor(DOMString type, optional HashChangeEventInit eventInitDict = {}), LegacyEventInit]
|
||||
[Constructor(DOMString type, optional HashChangeEventInit eventInitDict), LegacyEventInit]
|
||||
interface HashChangeEvent : Event
|
||||
{
|
||||
readonly attribute DOMString oldURL;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
interface PluginTag;
|
||||
|
||||
[Constructor(DOMString type, optional HiddenPluginEventInit eventInit = {}), ChromeOnly]
|
||||
[Constructor(DOMString type, optional HiddenPluginEventInit eventInit), ChromeOnly]
|
||||
interface HiddenPluginEvent : Event
|
||||
{
|
||||
readonly attribute PluginTag? tag;
|
||||
|
|
|
@ -18,7 +18,7 @@ interface IDBDatabase : EventTarget {
|
|||
readonly attribute DOMStringList objectStoreNames;
|
||||
|
||||
[Throws]
|
||||
IDBObjectStore createObjectStore (DOMString name, optional IDBObjectStoreParameters optionalParameters = {});
|
||||
IDBObjectStore createObjectStore (DOMString name, optional IDBObjectStoreParameters optionalParameters);
|
||||
|
||||
[Throws]
|
||||
void deleteObjectStore (DOMString name);
|
||||
|
|
|
@ -33,12 +33,12 @@ interface IDBFactory {
|
|||
[Throws, NeedsCallerType]
|
||||
IDBOpenDBRequest
|
||||
open(DOMString name,
|
||||
optional IDBOpenDBOptions options = {});
|
||||
optional IDBOpenDBOptions options);
|
||||
|
||||
[Throws, NeedsCallerType]
|
||||
IDBOpenDBRequest
|
||||
deleteDatabase(DOMString name,
|
||||
optional IDBOpenDBOptions options = {});
|
||||
optional IDBOpenDBOptions options);
|
||||
|
||||
[Throws]
|
||||
short
|
||||
|
@ -55,11 +55,11 @@ interface IDBFactory {
|
|||
IDBOpenDBRequest
|
||||
openForPrincipal(Principal principal,
|
||||
DOMString name,
|
||||
optional IDBOpenDBOptions options = {});
|
||||
optional IDBOpenDBOptions options);
|
||||
|
||||
[Throws, ChromeOnly, NeedsCallerType]
|
||||
IDBOpenDBRequest
|
||||
deleteForPrincipal(Principal principal,
|
||||
DOMString name,
|
||||
optional IDBOpenDBOptions options = {});
|
||||
optional IDBOpenDBOptions options);
|
||||
};
|
||||
|
|
|
@ -19,7 +19,7 @@ interface IDBFileHandle : EventTarget
|
|||
attribute unsigned long long? location;
|
||||
|
||||
[Throws]
|
||||
IDBFileRequest? getMetadata(optional IDBFileMetadataParameters parameters = {});
|
||||
IDBFileRequest? getMetadata(optional IDBFileMetadataParameters parameters);
|
||||
[Throws]
|
||||
IDBFileRequest? readAsArrayBuffer(unsigned long long size);
|
||||
[Throws]
|
||||
|
|
|
@ -46,7 +46,7 @@ interface IDBObjectStore {
|
|||
IDBRequest openCursor (optional any range, optional IDBCursorDirection direction = "next");
|
||||
|
||||
[Throws]
|
||||
IDBIndex createIndex (DOMString name, (DOMString or sequence<DOMString>) keyPath, optional IDBIndexParameters optionalParameters = {});
|
||||
IDBIndex createIndex (DOMString name, (DOMString or sequence<DOMString>) keyPath, optional IDBIndexParameters optionalParameters);
|
||||
|
||||
[Throws]
|
||||
IDBIndex index (DOMString name);
|
||||
|
|
|
@ -15,7 +15,7 @@ dictionary IDBVersionChangeEventInit : EventInit {
|
|||
unsigned long long? newVersion = null;
|
||||
};
|
||||
|
||||
[Constructor(DOMString type, optional IDBVersionChangeEventInit eventInitDict = {}),
|
||||
[Constructor(DOMString type, optional IDBVersionChangeEventInit eventInitDict),
|
||||
Exposed=(Window,Worker)]
|
||||
interface IDBVersionChangeEvent : Event {
|
||||
readonly attribute unsigned long long oldVersion;
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
*/
|
||||
|
||||
[Pref="dom.imagecapture.enabled",
|
||||
Constructor(DOMString type, optional ImageCaptureErrorEventInit imageCaptureErrorInitDict = {})]
|
||||
Constructor(DOMString type, optional ImageCaptureErrorEventInit imageCaptureErrorInitDict)]
|
||||
interface ImageCaptureErrorEvent : Event {
|
||||
readonly attribute ImageCaptureError? imageCaptureError;
|
||||
};
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
[Constructor(DOMString type, optional InputEventInit eventInitDict = {})]
|
||||
[Constructor(DOMString type, optional InputEventInit eventInitDict)]
|
||||
interface InputEvent : UIEvent
|
||||
{
|
||||
readonly attribute boolean isComposing;
|
||||
|
|
|
@ -26,7 +26,7 @@ interface IntersectionObserverEntry {
|
|||
};
|
||||
|
||||
[Constructor(IntersectionCallback intersectionCallback,
|
||||
optional IntersectionObserverInit options = {}),
|
||||
optional IntersectionObserverInit options),
|
||||
Pref="dom.IntersectionObserver.enabled"]
|
||||
interface IntersectionObserver {
|
||||
[Constant]
|
||||
|
|
|
@ -51,7 +51,7 @@ interface IntlUtils {
|
|||
*/
|
||||
[Throws]
|
||||
DisplayNameResult getDisplayNames(sequence<DOMString> locales,
|
||||
optional DisplayNameOptions options = {});
|
||||
optional DisplayNameOptions options);
|
||||
|
||||
/**
|
||||
* Helper function to retrieve useful information about a locale.
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
[Constructor(DOMString typeArg, optional KeyboardEventInit keyboardEventInitDict= {})]
|
||||
[Constructor(DOMString typeArg, optional KeyboardEventInit keyboardEventInitDict)]
|
||||
interface KeyboardEvent : UIEvent
|
||||
{
|
||||
[NeedsCallerType]
|
||||
|
|
|
@ -26,7 +26,7 @@ dictionary KeyframeEffectOptions : EffectTiming {
|
|||
RunConstructorInCallerCompartment,
|
||||
Constructor((Element or CSSPseudoElement)? target,
|
||||
object? keyframes,
|
||||
optional (unrestricted double or KeyframeEffectOptions) options = {}),
|
||||
optional (unrestricted double or KeyframeEffectOptions) options),
|
||||
Constructor(KeyframeEffect source)]
|
||||
interface KeyframeEffect : AnimationEffect {
|
||||
attribute (Element or CSSPseudoElement)? target;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
* https://webaudio.github.io/web-midi-api/
|
||||
*/
|
||||
|
||||
[Constructor(DOMString type, optional MIDIConnectionEventInit eventInitDict = {}),
|
||||
[Constructor(DOMString type, optional MIDIConnectionEventInit eventInitDict),
|
||||
SecureContext,
|
||||
Pref="dom.webmidi.enabled"]
|
||||
interface MIDIConnectionEvent : Event
|
||||
|
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче