Backed out changeset 8e16f13a88c8 (bug 1562680) for colliding with Bug 1366738 that was backed out. CLOSED TREE

This commit is contained in:
Cosmin Sabou 2019-07-03 10:46:39 +03:00
Родитель 9c4d142e96
Коммит 3ef8d24958
194 изменённых файлов: 383 добавлений и 505 удалений

Просмотреть файл

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

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше