mirror of
https://github.com/servo/servo.git
synced 2025-08-04 13:10:20 +01:00
Update WebIDL.py to 4166cae81546
https://hg.mozilla.org/integration/autoland/rev/4166cae81546f54accae807413f806d20bf30920 Pulls in changes from https://bugzilla.mozilla.org/show_bug.cgi?id=1359269
This commit is contained in:
parent
5fa80a8be0
commit
7b48df53a1
21 changed files with 917 additions and 621 deletions
|
@ -573,9 +573,6 @@ def getJSToNativeConversionInfo(type, descriptorProvider, failureCode=None,
|
||||||
isAutoRooted=False,
|
isAutoRooted=False,
|
||||||
invalidEnumValueFatal=True,
|
invalidEnumValueFatal=True,
|
||||||
defaultValue=None,
|
defaultValue=None,
|
||||||
treatNullAs="Default",
|
|
||||||
isEnforceRange=False,
|
|
||||||
isClamp=False,
|
|
||||||
exceptionCode=None,
|
exceptionCode=None,
|
||||||
allowTreatNonObjectAsNull=False,
|
allowTreatNonObjectAsNull=False,
|
||||||
isCallbackReturnValue=False,
|
isCallbackReturnValue=False,
|
||||||
|
@ -603,12 +600,6 @@ def getJSToNativeConversionInfo(type, descriptorProvider, failureCode=None,
|
||||||
|
|
||||||
If defaultValue is not None, it's the IDL default value for this conversion
|
If defaultValue is not None, it's the IDL default value for this conversion
|
||||||
|
|
||||||
If isEnforceRange is true, we're converting an integer and throwing if the
|
|
||||||
value is out of range.
|
|
||||||
|
|
||||||
If isClamp is true, we're converting an integer and clamping if the
|
|
||||||
value is out of range.
|
|
||||||
|
|
||||||
If allowTreatNonObjectAsNull is true, then [TreatNonObjectAsNull]
|
If allowTreatNonObjectAsNull is true, then [TreatNonObjectAsNull]
|
||||||
extended attributes on nullable callback functions will be honored.
|
extended attributes on nullable callback functions will be honored.
|
||||||
|
|
||||||
|
@ -631,6 +622,13 @@ def getJSToNativeConversionInfo(type, descriptorProvider, failureCode=None,
|
||||||
# We should not have a defaultValue if we know we're an object
|
# We should not have a defaultValue if we know we're an object
|
||||||
assert not isDefinitelyObject or defaultValue is None
|
assert not isDefinitelyObject or defaultValue is None
|
||||||
|
|
||||||
|
isEnforceRange = type.enforceRange
|
||||||
|
isClamp = type.clamp
|
||||||
|
if type.treatNullAsEmpty:
|
||||||
|
treatNullAs = "EmptyString"
|
||||||
|
else:
|
||||||
|
treatNullAs = "Default"
|
||||||
|
|
||||||
# If exceptionCode is not set, we'll just rethrow the exception we got.
|
# If exceptionCode is not set, we'll just rethrow the exception we got.
|
||||||
# Note that we can't just set failureCode to exceptionCode, because setting
|
# Note that we can't just set failureCode to exceptionCode, because setting
|
||||||
# failureCode will prevent pending exceptions from being set in cases when
|
# failureCode will prevent pending exceptions from being set in cases when
|
||||||
|
@ -1301,9 +1299,6 @@ class CGArgumentConverter(CGThing):
|
||||||
descriptorProvider,
|
descriptorProvider,
|
||||||
invalidEnumValueFatal=invalidEnumValueFatal,
|
invalidEnumValueFatal=invalidEnumValueFatal,
|
||||||
defaultValue=argument.defaultValue,
|
defaultValue=argument.defaultValue,
|
||||||
treatNullAs=argument.treatNullAs,
|
|
||||||
isEnforceRange=argument.enforceRange,
|
|
||||||
isClamp=argument.clamp,
|
|
||||||
isMember="Variadic" if argument.variadic else False,
|
isMember="Variadic" if argument.variadic else False,
|
||||||
isAutoRooted=type_needs_auto_root(argument.type),
|
isAutoRooted=type_needs_auto_root(argument.type),
|
||||||
allowTreatNonObjectAsNull=argument.allowTreatNonCallableAsNull())
|
allowTreatNonObjectAsNull=argument.allowTreatNonCallableAsNull())
|
||||||
|
@ -3508,9 +3503,6 @@ class FakeArgument():
|
||||||
self.variadic = False
|
self.variadic = False
|
||||||
self.defaultValue = None
|
self.defaultValue = None
|
||||||
self._allowTreatNonObjectAsNull = allowTreatNonObjectAsNull
|
self._allowTreatNonObjectAsNull = allowTreatNonObjectAsNull
|
||||||
self.treatNullAs = interfaceMember.treatNullAs
|
|
||||||
self.enforceRange = False
|
|
||||||
self.clamp = False
|
|
||||||
|
|
||||||
def allowTreatNonCallableAsNull(self):
|
def allowTreatNonCallableAsNull(self):
|
||||||
return self._allowTreatNonObjectAsNull
|
return self._allowTreatNonObjectAsNull
|
||||||
|
@ -4874,7 +4866,7 @@ class CGProxySpecialOperation(CGPerSignatureCall):
|
||||||
# arguments[0] is the index or name of the item that we're setting.
|
# arguments[0] is the index or name of the item that we're setting.
|
||||||
argument = arguments[1]
|
argument = arguments[1]
|
||||||
info = getJSToNativeConversionInfo(
|
info = getJSToNativeConversionInfo(
|
||||||
argument.type, descriptor, treatNullAs=argument.treatNullAs,
|
argument.type, descriptor,
|
||||||
exceptionCode="return false;")
|
exceptionCode="return false;")
|
||||||
template = info.template
|
template = info.template
|
||||||
declType = info.declType
|
declType = info.declType
|
||||||
|
@ -6886,7 +6878,7 @@ class CGCallbackInterface(CGCallback):
|
||||||
|
|
||||||
class FakeMember():
|
class FakeMember():
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.treatNullAs = "Default"
|
pass
|
||||||
|
|
||||||
def isStatic(self):
|
def isStatic(self):
|
||||||
return False
|
return False
|
||||||
|
|
|
@ -420,48 +420,11 @@ class IDLObjectWithIdentifier(IDLObject):
|
||||||
if parentScope:
|
if parentScope:
|
||||||
self.resolve(parentScope)
|
self.resolve(parentScope)
|
||||||
|
|
||||||
self.treatNullAs = "Default"
|
|
||||||
|
|
||||||
def resolve(self, parentScope):
|
def resolve(self, parentScope):
|
||||||
assert isinstance(parentScope, IDLScope)
|
assert isinstance(parentScope, IDLScope)
|
||||||
assert isinstance(self.identifier, IDLUnresolvedIdentifier)
|
assert isinstance(self.identifier, IDLUnresolvedIdentifier)
|
||||||
self.identifier.resolve(parentScope, self)
|
self.identifier.resolve(parentScope, self)
|
||||||
|
|
||||||
def checkForStringHandlingExtendedAttributes(self, attrs,
|
|
||||||
isDictionaryMember=False,
|
|
||||||
isOptional=False):
|
|
||||||
"""
|
|
||||||
A helper function to deal with TreatNullAs. Returns the list
|
|
||||||
of attrs it didn't handle itself.
|
|
||||||
"""
|
|
||||||
assert isinstance(self, IDLArgument) or isinstance(self, IDLAttribute)
|
|
||||||
unhandledAttrs = list()
|
|
||||||
for attr in attrs:
|
|
||||||
if not attr.hasValue():
|
|
||||||
unhandledAttrs.append(attr)
|
|
||||||
continue
|
|
||||||
|
|
||||||
identifier = attr.identifier()
|
|
||||||
value = attr.value()
|
|
||||||
if identifier == "TreatNullAs":
|
|
||||||
if not self.type.isDOMString() or self.type.nullable():
|
|
||||||
raise WebIDLError("[TreatNullAs] is only allowed on "
|
|
||||||
"arguments or attributes whose type is "
|
|
||||||
"DOMString",
|
|
||||||
[self.location])
|
|
||||||
if isDictionaryMember:
|
|
||||||
raise WebIDLError("[TreatNullAs] is not allowed for "
|
|
||||||
"dictionary members", [self.location])
|
|
||||||
if value != 'EmptyString':
|
|
||||||
raise WebIDLError("[TreatNullAs] must take the identifier "
|
|
||||||
"'EmptyString', not '%s'" % value,
|
|
||||||
[self.location])
|
|
||||||
self.treatNullAs = value
|
|
||||||
else:
|
|
||||||
unhandledAttrs.append(attr)
|
|
||||||
|
|
||||||
return unhandledAttrs
|
|
||||||
|
|
||||||
|
|
||||||
class IDLObjectWithScope(IDLObjectWithIdentifier, IDLScope):
|
class IDLObjectWithScope(IDLObjectWithIdentifier, IDLScope):
|
||||||
def __init__(self, location, parentScope, identifier):
|
def __init__(self, location, parentScope, identifier):
|
||||||
|
@ -2090,9 +2053,15 @@ class IDLType(IDLObject):
|
||||||
IDLObject.__init__(self, location)
|
IDLObject.__init__(self, location)
|
||||||
self.name = name
|
self.name = name
|
||||||
self.builtin = False
|
self.builtin = False
|
||||||
|
self.clamp = False
|
||||||
|
self.treatNullAsEmpty = False
|
||||||
|
self.enforceRange = False
|
||||||
|
self._extendedAttrDict = {}
|
||||||
|
|
||||||
def __eq__(self, other):
|
def __eq__(self, other):
|
||||||
return other and self.builtin == other.builtin and self.name == other.name
|
return (other and self.builtin == other.builtin and self.name == other.name and
|
||||||
|
self.clamp == other.clamp and self.enforceRange == other.enforceRange and
|
||||||
|
self.treatNullAsEmpty == other.treatNullAsEmpty)
|
||||||
|
|
||||||
def __ne__(self, other):
|
def __ne__(self, other):
|
||||||
return not self == other
|
return not self == other
|
||||||
|
@ -2218,12 +2187,14 @@ class IDLType(IDLObject):
|
||||||
assert self.tag() == IDLType.Tags.callback
|
assert self.tag() == IDLType.Tags.callback
|
||||||
return self.nullable() and self.inner.callback._treatNonObjectAsNull
|
return self.nullable() and self.inner.callback._treatNonObjectAsNull
|
||||||
|
|
||||||
def addExtendedAttributes(self, attrs):
|
def withExtendedAttributes(self, attrs):
|
||||||
if len(attrs) != 0:
|
if len(attrs) > 0:
|
||||||
raise WebIDLError("There are no extended attributes that are "
|
raise WebIDLError("Extended attributes on types only supported for builtins",
|
||||||
"allowed on types, for now (but this is "
|
|
||||||
"changing; see bug 1359269)",
|
|
||||||
[attrs[0].location, self.location])
|
[attrs[0].location, self.location])
|
||||||
|
return self
|
||||||
|
|
||||||
|
def getExtendedAttribute(self, name):
|
||||||
|
return self._extendedAttrDict.get(name, None)
|
||||||
|
|
||||||
def resolveType(self, parentScope):
|
def resolveType(self, parentScope):
|
||||||
pass
|
pass
|
||||||
|
@ -2244,8 +2215,9 @@ class IDLUnresolvedType(IDLType):
|
||||||
Unresolved types are interface types
|
Unresolved types are interface types
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, location, name):
|
def __init__(self, location, name, attrs=[]):
|
||||||
IDLType.__init__(self, location, name)
|
IDLType.__init__(self, location, name)
|
||||||
|
self.extraTypeAttributes = attrs
|
||||||
|
|
||||||
def isComplete(self):
|
def isComplete(self):
|
||||||
return False
|
return False
|
||||||
|
@ -2267,7 +2239,7 @@ class IDLUnresolvedType(IDLType):
|
||||||
typedefType = IDLTypedefType(self.location, obj.innerType,
|
typedefType = IDLTypedefType(self.location, obj.innerType,
|
||||||
obj.identifier)
|
obj.identifier)
|
||||||
assert not typedefType.isComplete()
|
assert not typedefType.isComplete()
|
||||||
return typedefType.complete(scope)
|
return typedefType.complete(scope).withExtendedAttributes(self.extraTypeAttributes)
|
||||||
elif obj.isCallback() and not obj.isInterface():
|
elif obj.isCallback() and not obj.isInterface():
|
||||||
assert self.name.name == obj.identifier.name
|
assert self.name.name == obj.identifier.name
|
||||||
return IDLCallbackType(obj.location, obj)
|
return IDLCallbackType(obj.location, obj)
|
||||||
|
@ -2275,6 +2247,9 @@ class IDLUnresolvedType(IDLType):
|
||||||
name = self.name.resolve(scope, None)
|
name = self.name.resolve(scope, None)
|
||||||
return IDLWrapperType(self.location, obj)
|
return IDLWrapperType(self.location, obj)
|
||||||
|
|
||||||
|
def withExtendedAttributes(self, attrs):
|
||||||
|
return IDLUnresolvedType(self.location, self.name, attrs)
|
||||||
|
|
||||||
def isDistinguishableFrom(self, other):
|
def isDistinguishableFrom(self, other):
|
||||||
raise TypeError("Can't tell whether an unresolved type is or is not "
|
raise TypeError("Can't tell whether an unresolved type is or is not "
|
||||||
"distinguishable from other things")
|
"distinguishable from other things")
|
||||||
|
@ -2790,12 +2765,17 @@ class IDLTypedefType(IDLType):
|
||||||
def _getDependentObjects(self):
|
def _getDependentObjects(self):
|
||||||
return self.inner._getDependentObjects()
|
return self.inner._getDependentObjects()
|
||||||
|
|
||||||
|
def withExtendedAttributes(self, attrs):
|
||||||
|
return IDLTypedefType(self.location, self.inner.withExtendedAttributes(attrs), self.name)
|
||||||
|
|
||||||
|
|
||||||
class IDLTypedef(IDLObjectWithIdentifier):
|
class IDLTypedef(IDLObjectWithIdentifier):
|
||||||
def __init__(self, location, parentScope, innerType, name):
|
def __init__(self, location, parentScope, innerType, name):
|
||||||
|
# Set self.innerType first, because IDLObjectWithIdentifier.__init__
|
||||||
|
# will call our __str__, which wants to use it.
|
||||||
|
self.innerType = innerType
|
||||||
identifier = IDLUnresolvedIdentifier(location, name)
|
identifier = IDLUnresolvedIdentifier(location, name)
|
||||||
IDLObjectWithIdentifier.__init__(self, location, parentScope, identifier)
|
IDLObjectWithIdentifier.__init__(self, location, parentScope, identifier)
|
||||||
self.innerType = innerType
|
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "Typedef %s %s" % (self.identifier.name, self.innerType)
|
return "Typedef %s %s" % (self.identifier.name, self.innerType)
|
||||||
|
@ -3107,10 +3087,59 @@ class IDLBuiltinType(IDLType):
|
||||||
Types.ReadableStream: IDLType.Tags.interface,
|
Types.ReadableStream: IDLType.Tags.interface,
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self, location, name, type):
|
def __init__(self, location, name, type, clamp=False, enforceRange=False, treatNullAsEmpty=False,
|
||||||
|
attrLocation=[]):
|
||||||
|
"""
|
||||||
|
The mutually exclusive clamp/enforceRange/treatNullAsEmpty arguments are used to create instances
|
||||||
|
of this type with the appropriate attributes attached. Use .clamped(), .rangeEnforced(), and .treatNullAs().
|
||||||
|
|
||||||
|
attrLocation is an array of source locations of these attributes for error reporting.
|
||||||
|
"""
|
||||||
IDLType.__init__(self, location, name)
|
IDLType.__init__(self, location, name)
|
||||||
self.builtin = True
|
self.builtin = True
|
||||||
self._typeTag = type
|
self._typeTag = type
|
||||||
|
self._clamped = None
|
||||||
|
self._rangeEnforced = None
|
||||||
|
self._withTreatNullAs = None
|
||||||
|
if self.isNumeric():
|
||||||
|
if clamp:
|
||||||
|
self.clamp = True
|
||||||
|
self.name = "Clamped" + self.name
|
||||||
|
self._extendedAttrDict["Clamp"] = True
|
||||||
|
elif enforceRange:
|
||||||
|
self.enforceRange = True
|
||||||
|
self.name = "RangeEnforced" + self.name
|
||||||
|
self._extendedAttrDict["EnforceRange"] = True
|
||||||
|
elif clamp or enforceRange:
|
||||||
|
raise WebIDLError("Non-numeric types cannot be [Clamp] or [EnforceRange]", attrLocation)
|
||||||
|
if self.isDOMString():
|
||||||
|
if treatNullAsEmpty:
|
||||||
|
self.treatNullAsEmpty = True
|
||||||
|
self.name = "NullIsEmpty" + self.name
|
||||||
|
self._extendedAttrDict["TreatNullAs"] = ["EmptyString"]
|
||||||
|
elif treatNullAsEmpty:
|
||||||
|
raise WebIDLError("Non-string types cannot be [TreatNullAs]", attrLocation)
|
||||||
|
|
||||||
|
def clamped(self, attrLocation):
|
||||||
|
if not self._clamped:
|
||||||
|
self._clamped = IDLBuiltinType(self.location, self.name,
|
||||||
|
self._typeTag, clamp=True,
|
||||||
|
attrLocation=attrLocation)
|
||||||
|
return self._clamped
|
||||||
|
|
||||||
|
def rangeEnforced(self, attrLocation):
|
||||||
|
if not self._rangeEnforced:
|
||||||
|
self._rangeEnforced = IDLBuiltinType(self.location, self.name,
|
||||||
|
self._typeTag, enforceRange=True,
|
||||||
|
attrLocation=attrLocation)
|
||||||
|
return self._rangeEnforced
|
||||||
|
|
||||||
|
def withTreatNullAs(self, attrLocation):
|
||||||
|
if not self._withTreatNullAs:
|
||||||
|
self._withTreatNullAs = IDLBuiltinType(self.location, self.name,
|
||||||
|
self._typeTag, treatNullAsEmpty=True,
|
||||||
|
attrLocation=attrLocation)
|
||||||
|
return self._withTreatNullAs
|
||||||
|
|
||||||
def isPrimitive(self):
|
def isPrimitive(self):
|
||||||
return self._typeTag <= IDLBuiltinType.Types.double
|
return self._typeTag <= IDLBuiltinType.Types.double
|
||||||
|
@ -3246,6 +3275,45 @@ class IDLBuiltinType(IDLType):
|
||||||
def _getDependentObjects(self):
|
def _getDependentObjects(self):
|
||||||
return set()
|
return set()
|
||||||
|
|
||||||
|
def withExtendedAttributes(self, attrs):
|
||||||
|
ret = self
|
||||||
|
for attribute in attrs:
|
||||||
|
identifier = attribute.identifier()
|
||||||
|
if identifier == "Clamp":
|
||||||
|
if not attribute.noArguments():
|
||||||
|
raise WebIDLError("[Clamp] must take no arguments",
|
||||||
|
[attribute.location])
|
||||||
|
if ret.enforceRange or self.enforceRange:
|
||||||
|
raise WebIDLError("[EnforceRange] and [Clamp] are mutually exclusive",
|
||||||
|
[self.location, attribute.location])
|
||||||
|
ret = self.clamped([self.location, attribute.location])
|
||||||
|
elif identifier == "EnforceRange":
|
||||||
|
if not attribute.noArguments():
|
||||||
|
raise WebIDLError("[EnforceRange] must take no arguments",
|
||||||
|
[attribute.location])
|
||||||
|
if ret.clamp or self.clamp:
|
||||||
|
raise WebIDLError("[EnforceRange] and [Clamp] are mutually exclusive",
|
||||||
|
[self.location, attribute.location])
|
||||||
|
ret = self.rangeEnforced([self.location, attribute.location])
|
||||||
|
elif identifier == "TreatNullAs":
|
||||||
|
if not self.isDOMString():
|
||||||
|
raise WebIDLError("[TreatNullAs] only allowed on DOMStrings",
|
||||||
|
[self.location, attribute.location])
|
||||||
|
assert not self.nullable()
|
||||||
|
if not attribute.hasValue():
|
||||||
|
raise WebIDLError("[TreatNullAs] must take an identifier argument"
|
||||||
|
[attribute.location])
|
||||||
|
value = attribute.value()
|
||||||
|
if value != 'EmptyString':
|
||||||
|
raise WebIDLError("[TreatNullAs] must take the identifier "
|
||||||
|
"'EmptyString', not '%s'" % value,
|
||||||
|
[attribute.location])
|
||||||
|
ret = self.withTreatNullAs([self.location, attribute.location])
|
||||||
|
else:
|
||||||
|
raise WebIDLError("Unhandled extended attribute on type",
|
||||||
|
[self.location, attribute.location])
|
||||||
|
return ret
|
||||||
|
|
||||||
BuiltinTypes = {
|
BuiltinTypes = {
|
||||||
IDLBuiltinType.Types.byte:
|
IDLBuiltinType.Types.byte:
|
||||||
IDLBuiltinType(BuiltinLocation("<builtin type>"), "Byte",
|
IDLBuiltinType(BuiltinLocation("<builtin type>"), "Byte",
|
||||||
|
@ -3460,6 +3528,10 @@ class IDLValue(IDLObject):
|
||||||
# extra normalization step.
|
# extra normalization step.
|
||||||
assert self.type.isDOMString()
|
assert self.type.isDOMString()
|
||||||
return self
|
return self
|
||||||
|
elif self.type.isDOMString() and type.treatNullAsEmpty:
|
||||||
|
# TreatNullAsEmpty is a different type for resolution reasons,
|
||||||
|
# however once you have a value it doesn't matter
|
||||||
|
return self
|
||||||
elif self.type.isString() and type.isByteString():
|
elif self.type.isString() and type.isByteString():
|
||||||
# Allow ByteStrings to use a default value like DOMString.
|
# Allow ByteStrings to use a default value like DOMString.
|
||||||
# No coercion is required as Codegen.py will handle the
|
# No coercion is required as Codegen.py will handle the
|
||||||
|
@ -4096,8 +4168,6 @@ class IDLAttribute(IDLInterfaceMember):
|
||||||
self.lenientThis = False
|
self.lenientThis = False
|
||||||
self._unforgeable = False
|
self._unforgeable = False
|
||||||
self.stringifier = stringifier
|
self.stringifier = stringifier
|
||||||
self.enforceRange = False
|
|
||||||
self.clamp = False
|
|
||||||
self.slotIndices = None
|
self.slotIndices = None
|
||||||
assert maplikeOrSetlike is None or isinstance(maplikeOrSetlike, IDLMaplikeOrSetlike)
|
assert maplikeOrSetlike is None or isinstance(maplikeOrSetlike, IDLMaplikeOrSetlike)
|
||||||
self.maplikeOrSetlike = maplikeOrSetlike
|
self.maplikeOrSetlike = maplikeOrSetlike
|
||||||
|
@ -4134,6 +4204,9 @@ class IDLAttribute(IDLInterfaceMember):
|
||||||
assert not isinstance(t.name, IDLUnresolvedIdentifier)
|
assert not isinstance(t.name, IDLUnresolvedIdentifier)
|
||||||
self.type = t
|
self.type = t
|
||||||
|
|
||||||
|
if self.readonly and (self.type.clamp or self.type.enforceRange or self.type.treatNullAsEmpty):
|
||||||
|
raise WebIDLError("A readonly attribute cannot be [Clamp] or [EnforceRange]",
|
||||||
|
[self.location])
|
||||||
if self.type.isDictionary() and not self.getExtendedAttribute("Cached"):
|
if self.type.isDictionary() and not self.getExtendedAttribute("Cached"):
|
||||||
raise WebIDLError("An attribute cannot be of a dictionary type",
|
raise WebIDLError("An attribute cannot be of a dictionary type",
|
||||||
[self.location])
|
[self.location])
|
||||||
|
@ -4357,16 +4430,6 @@ class IDLAttribute(IDLInterfaceMember):
|
||||||
raise WebIDLError("[LenientFloat] used on an attribute with a "
|
raise WebIDLError("[LenientFloat] used on an attribute with a "
|
||||||
"non-restricted-float type",
|
"non-restricted-float type",
|
||||||
[attr.location, self.location])
|
[attr.location, self.location])
|
||||||
elif identifier == "EnforceRange":
|
|
||||||
if self.readonly:
|
|
||||||
raise WebIDLError("[EnforceRange] used on a readonly attribute",
|
|
||||||
[attr.location, self.location])
|
|
||||||
self.enforceRange = True
|
|
||||||
elif identifier == "Clamp":
|
|
||||||
if self.readonly:
|
|
||||||
raise WebIDLError("[Clamp] used on a readonly attribute",
|
|
||||||
[attr.location, self.location])
|
|
||||||
self.clamp = True
|
|
||||||
elif identifier == "StoreInSlot":
|
elif identifier == "StoreInSlot":
|
||||||
if self.getExtendedAttribute("Cached"):
|
if self.getExtendedAttribute("Cached"):
|
||||||
raise WebIDLError("[StoreInSlot] and [Cached] must not be "
|
raise WebIDLError("[StoreInSlot] and [Cached] must not be "
|
||||||
|
@ -4468,10 +4531,6 @@ class IDLAttribute(IDLInterfaceMember):
|
||||||
self.type.resolveType(parentScope)
|
self.type.resolveType(parentScope)
|
||||||
IDLObjectWithIdentifier.resolve(self, parentScope)
|
IDLObjectWithIdentifier.resolve(self, parentScope)
|
||||||
|
|
||||||
def addExtendedAttributes(self, attrs):
|
|
||||||
attrs = self.checkForStringHandlingExtendedAttributes(attrs)
|
|
||||||
IDLInterfaceMember.addExtendedAttributes(self, attrs)
|
|
||||||
|
|
||||||
def hasLenientThis(self):
|
def hasLenientThis(self):
|
||||||
return self.lenientThis
|
return self.lenientThis
|
||||||
|
|
||||||
|
@ -4491,7 +4550,7 @@ class IDLAttribute(IDLInterfaceMember):
|
||||||
|
|
||||||
|
|
||||||
class IDLArgument(IDLObjectWithIdentifier):
|
class IDLArgument(IDLObjectWithIdentifier):
|
||||||
def __init__(self, location, identifier, type, optional=False, defaultValue=None, variadic=False, dictionaryMember=False):
|
def __init__(self, location, identifier, type, optional=False, defaultValue=None, variadic=False, dictionaryMember=False, allowTypeAttributes=False):
|
||||||
IDLObjectWithIdentifier.__init__(self, location, None, identifier)
|
IDLObjectWithIdentifier.__init__(self, location, None, identifier)
|
||||||
|
|
||||||
assert isinstance(type, IDLType)
|
assert isinstance(type, IDLType)
|
||||||
|
@ -4502,37 +4561,19 @@ class IDLArgument(IDLObjectWithIdentifier):
|
||||||
self.variadic = variadic
|
self.variadic = variadic
|
||||||
self.dictionaryMember = dictionaryMember
|
self.dictionaryMember = dictionaryMember
|
||||||
self._isComplete = False
|
self._isComplete = False
|
||||||
self.enforceRange = False
|
|
||||||
self.clamp = False
|
|
||||||
self._allowTreatNonCallableAsNull = False
|
self._allowTreatNonCallableAsNull = False
|
||||||
self._extendedAttrDict = {}
|
self._extendedAttrDict = {}
|
||||||
|
self.allowTypeAttributes = allowTypeAttributes
|
||||||
|
|
||||||
assert not variadic or optional
|
assert not variadic or optional
|
||||||
assert not variadic or not defaultValue
|
assert not variadic or not defaultValue
|
||||||
|
|
||||||
def addExtendedAttributes(self, attrs):
|
def addExtendedAttributes(self, attrs):
|
||||||
attrs = self.checkForStringHandlingExtendedAttributes(
|
|
||||||
attrs,
|
|
||||||
isDictionaryMember=self.dictionaryMember,
|
|
||||||
isOptional=self.optional)
|
|
||||||
for attribute in attrs:
|
for attribute in attrs:
|
||||||
identifier = attribute.identifier()
|
identifier = attribute.identifier()
|
||||||
if identifier == "Clamp":
|
if self.allowTypeAttributes and (identifier == "EnforceRange" or identifier == "Clamp" or
|
||||||
if not attribute.noArguments():
|
identifier == "TreatNullAs"):
|
||||||
raise WebIDLError("[Clamp] must take no arguments",
|
self.type = self.type.withExtendedAttributes([attribute])
|
||||||
[attribute.location])
|
|
||||||
if self.enforceRange:
|
|
||||||
raise WebIDLError("[EnforceRange] and [Clamp] are mutually exclusive",
|
|
||||||
[self.location])
|
|
||||||
self.clamp = True
|
|
||||||
elif identifier == "EnforceRange":
|
|
||||||
if not attribute.noArguments():
|
|
||||||
raise WebIDLError("[EnforceRange] must take no arguments",
|
|
||||||
[attribute.location])
|
|
||||||
if self.clamp:
|
|
||||||
raise WebIDLError("[EnforceRange] and [Clamp] are mutually exclusive",
|
|
||||||
[self.location])
|
|
||||||
self.enforceRange = True
|
|
||||||
elif identifier == "TreatNonCallableAsNull":
|
elif identifier == "TreatNonCallableAsNull":
|
||||||
self._allowTreatNonCallableAsNull = True
|
self._allowTreatNonCallableAsNull = True
|
||||||
elif (self.dictionaryMember and
|
elif (self.dictionaryMember and
|
||||||
|
@ -4583,6 +4624,8 @@ class IDLArgument(IDLObjectWithIdentifier):
|
||||||
# codegen doesn't have to special-case this.
|
# codegen doesn't have to special-case this.
|
||||||
self.defaultValue = IDLUndefinedValue(self.location)
|
self.defaultValue = IDLUndefinedValue(self.location)
|
||||||
|
|
||||||
|
if self.dictionaryMember and self.type.treatNullAsEmpty:
|
||||||
|
raise WebIDLError("Dictionary members cannot be [TreatNullAs]", [self.location])
|
||||||
# Now do the coercing thing; this needs to happen after the
|
# Now do the coercing thing; this needs to happen after the
|
||||||
# above creation of a default value.
|
# above creation of a default value.
|
||||||
if self.defaultValue:
|
if self.defaultValue:
|
||||||
|
@ -5811,31 +5854,42 @@ class Parser(Tokenizer):
|
||||||
# We're at the end of the list
|
# We're at the end of the list
|
||||||
p[0] = []
|
p[0] = []
|
||||||
return
|
return
|
||||||
# Add our extended attributes
|
|
||||||
p[2].addExtendedAttributes(p[1])
|
p[2].addExtendedAttributes(p[1])
|
||||||
p[0] = [p[2]]
|
p[0] = [p[2]]
|
||||||
p[0].extend(p[3])
|
p[0].extend(p[3])
|
||||||
|
|
||||||
def p_DictionaryMember(self, p):
|
def p_DictionaryMemberRequired(self, p):
|
||||||
"""
|
"""
|
||||||
DictionaryMember : Required Type IDENTIFIER Default SEMICOLON
|
DictionaryMember : REQUIRED TypeWithExtendedAttributes IDENTIFIER SEMICOLON
|
||||||
"""
|
"""
|
||||||
# These quack a lot like optional arguments, so just treat them that way.
|
# These quack a lot like required arguments, so just treat them that way.
|
||||||
t = p[2]
|
t = p[2]
|
||||||
assert isinstance(t, IDLType)
|
assert isinstance(t, IDLType)
|
||||||
identifier = IDLUnresolvedIdentifier(self.getLocation(p, 3), p[3])
|
identifier = IDLUnresolvedIdentifier(self.getLocation(p, 3), p[3])
|
||||||
defaultValue = p[4]
|
|
||||||
optional = not p[1]
|
|
||||||
|
|
||||||
if not optional and defaultValue:
|
|
||||||
raise WebIDLError("Required dictionary members can't have a default value.",
|
|
||||||
[self.getLocation(p, 4)])
|
|
||||||
|
|
||||||
p[0] = IDLArgument(self.getLocation(p, 3), identifier, t,
|
p[0] = IDLArgument(self.getLocation(p, 3), identifier, t,
|
||||||
optional=optional,
|
optional=False,
|
||||||
defaultValue=defaultValue, variadic=False,
|
defaultValue=None, variadic=False,
|
||||||
dictionaryMember=True)
|
dictionaryMember=True)
|
||||||
|
|
||||||
|
def p_DictionaryMember(self, p):
|
||||||
|
"""
|
||||||
|
DictionaryMember : Type IDENTIFIER Default SEMICOLON
|
||||||
|
"""
|
||||||
|
# These quack a lot like optional arguments, so just treat them that way.
|
||||||
|
t = p[1]
|
||||||
|
assert isinstance(t, IDLType)
|
||||||
|
identifier = IDLUnresolvedIdentifier(self.getLocation(p, 2), p[2])
|
||||||
|
defaultValue = p[3]
|
||||||
|
|
||||||
|
# Any attributes that precede this may apply to the type, so
|
||||||
|
# we configure the argument to forward type attributes down instead of producing
|
||||||
|
# a parse error
|
||||||
|
p[0] = IDLArgument(self.getLocation(p, 2), identifier, t,
|
||||||
|
optional=True,
|
||||||
|
defaultValue=defaultValue, variadic=False,
|
||||||
|
dictionaryMember=True, allowTypeAttributes=True)
|
||||||
|
|
||||||
def p_Default(self, p):
|
def p_Default(self, p):
|
||||||
"""
|
"""
|
||||||
Default : EQUALS DefaultValue
|
Default : EQUALS DefaultValue
|
||||||
|
@ -5923,7 +5977,7 @@ class Parser(Tokenizer):
|
||||||
|
|
||||||
def p_Typedef(self, p):
|
def p_Typedef(self, p):
|
||||||
"""
|
"""
|
||||||
Typedef : TYPEDEF Type IDENTIFIER SEMICOLON
|
Typedef : TYPEDEF TypeWithExtendedAttributes IDENTIFIER SEMICOLON
|
||||||
"""
|
"""
|
||||||
typedef = IDLTypedef(self.getLocation(p, 1), self.globalScope(),
|
typedef = IDLTypedef(self.getLocation(p, 1), self.globalScope(),
|
||||||
p[2], p[3])
|
p[2], p[3])
|
||||||
|
@ -6016,8 +6070,8 @@ class Parser(Tokenizer):
|
||||||
|
|
||||||
def p_Iterable(self, p):
|
def p_Iterable(self, p):
|
||||||
"""
|
"""
|
||||||
Iterable : ITERABLE LT Type GT SEMICOLON
|
Iterable : ITERABLE LT TypeWithExtendedAttributes GT SEMICOLON
|
||||||
| ITERABLE LT Type COMMA Type GT SEMICOLON
|
| ITERABLE LT TypeWithExtendedAttributes COMMA TypeWithExtendedAttributes GT SEMICOLON
|
||||||
"""
|
"""
|
||||||
location = self.getLocation(p, 2)
|
location = self.getLocation(p, 2)
|
||||||
identifier = IDLUnresolvedIdentifier(location, "__iterable",
|
identifier = IDLUnresolvedIdentifier(location, "__iterable",
|
||||||
|
@ -6033,7 +6087,7 @@ class Parser(Tokenizer):
|
||||||
|
|
||||||
def p_Setlike(self, p):
|
def p_Setlike(self, p):
|
||||||
"""
|
"""
|
||||||
Setlike : ReadOnly SETLIKE LT Type GT SEMICOLON
|
Setlike : ReadOnly SETLIKE LT TypeWithExtendedAttributes GT SEMICOLON
|
||||||
"""
|
"""
|
||||||
readonly = p[1]
|
readonly = p[1]
|
||||||
maplikeOrSetlikeType = p[2]
|
maplikeOrSetlikeType = p[2]
|
||||||
|
@ -6047,7 +6101,7 @@ class Parser(Tokenizer):
|
||||||
|
|
||||||
def p_Maplike(self, p):
|
def p_Maplike(self, p):
|
||||||
"""
|
"""
|
||||||
Maplike : ReadOnly MAPLIKE LT Type COMMA Type GT SEMICOLON
|
Maplike : ReadOnly MAPLIKE LT TypeWithExtendedAttributes COMMA TypeWithExtendedAttributes GT SEMICOLON
|
||||||
"""
|
"""
|
||||||
readonly = p[1]
|
readonly = p[1]
|
||||||
maplikeOrSetlikeType = p[2]
|
maplikeOrSetlikeType = p[2]
|
||||||
|
@ -6085,7 +6139,7 @@ class Parser(Tokenizer):
|
||||||
|
|
||||||
def p_AttributeRest(self, p):
|
def p_AttributeRest(self, p):
|
||||||
"""
|
"""
|
||||||
AttributeRest : ReadOnly ATTRIBUTE Type AttributeName SEMICOLON
|
AttributeRest : ReadOnly ATTRIBUTE TypeWithExtendedAttributes AttributeName SEMICOLON
|
||||||
"""
|
"""
|
||||||
location = self.getLocation(p, 2)
|
location = self.getLocation(p, 2)
|
||||||
readonly = p[1]
|
readonly = p[1]
|
||||||
|
@ -6339,32 +6393,47 @@ class Parser(Tokenizer):
|
||||||
|
|
||||||
def p_Argument(self, p):
|
def p_Argument(self, p):
|
||||||
"""
|
"""
|
||||||
Argument : ExtendedAttributeList Optional Type Ellipsis ArgumentName Default
|
Argument : ExtendedAttributeList ArgumentRest
|
||||||
"""
|
"""
|
||||||
t = p[3]
|
p[0] = p[2]
|
||||||
|
p[0].addExtendedAttributes(p[1])
|
||||||
|
|
||||||
|
def p_ArgumentRestOptional(self, p):
|
||||||
|
"""
|
||||||
|
ArgumentRest : OPTIONAL TypeWithExtendedAttributes ArgumentName Default
|
||||||
|
"""
|
||||||
|
t = p[2]
|
||||||
assert isinstance(t, IDLType)
|
assert isinstance(t, IDLType)
|
||||||
identifier = IDLUnresolvedIdentifier(self.getLocation(p, 5), p[5])
|
identifier = IDLUnresolvedIdentifier(self.getLocation(p, 3), p[3])
|
||||||
|
|
||||||
optional = p[2]
|
defaultValue = p[4]
|
||||||
variadic = p[4]
|
|
||||||
defaultValue = p[6]
|
|
||||||
|
|
||||||
if not optional and defaultValue:
|
|
||||||
raise WebIDLError("Mandatory arguments can't have a default value.",
|
|
||||||
[self.getLocation(p, 6)])
|
|
||||||
|
|
||||||
# We can't test t.isAny() here and give it a default value as needed,
|
# We can't test t.isAny() here and give it a default value as needed,
|
||||||
# since at this point t is not a fully resolved type yet (e.g. it might
|
# since at this point t is not a fully resolved type yet (e.g. it might
|
||||||
# be a typedef). We'll handle the 'any' case in IDLArgument.complete.
|
# be a typedef). We'll handle the 'any' case in IDLArgument.complete.
|
||||||
|
|
||||||
if variadic:
|
p[0] = IDLArgument(self.getLocation(p, 3), identifier, t, True, defaultValue, False)
|
||||||
if optional:
|
|
||||||
raise WebIDLError("Variadic arguments should not be marked optional.",
|
|
||||||
[self.getLocation(p, 2)])
|
|
||||||
optional = variadic
|
|
||||||
|
|
||||||
p[0] = IDLArgument(self.getLocation(p, 5), identifier, t, optional, defaultValue, variadic)
|
def p_ArgumentRest(self, p):
|
||||||
p[0].addExtendedAttributes(p[1])
|
"""
|
||||||
|
ArgumentRest : Type Ellipsis ArgumentName
|
||||||
|
"""
|
||||||
|
t = p[1]
|
||||||
|
assert isinstance(t, IDLType)
|
||||||
|
identifier = IDLUnresolvedIdentifier(self.getLocation(p, 3), p[3])
|
||||||
|
|
||||||
|
variadic = p[2]
|
||||||
|
|
||||||
|
# We can't test t.isAny() here and give it a default value as needed,
|
||||||
|
# since at this point t is not a fully resolved type yet (e.g. it might
|
||||||
|
# be a typedef). We'll handle the 'any' case in IDLArgument.complete.
|
||||||
|
|
||||||
|
# variadic implies optional
|
||||||
|
# Any attributes that precede this may apply to the type, so
|
||||||
|
# we configure the argument to forward type attributes down instead of producing
|
||||||
|
# a parse error
|
||||||
|
p[0] = IDLArgument(self.getLocation(p, 3), identifier, t, variadic, None, variadic, allowTypeAttributes=True)
|
||||||
|
|
||||||
def p_ArgumentName(self, p):
|
def p_ArgumentName(self, p):
|
||||||
"""
|
"""
|
||||||
|
@ -6403,30 +6472,6 @@ class Parser(Tokenizer):
|
||||||
"""
|
"""
|
||||||
p[0] = p[1]
|
p[0] = p[1]
|
||||||
|
|
||||||
def p_Optional(self, p):
|
|
||||||
"""
|
|
||||||
Optional : OPTIONAL
|
|
||||||
"""
|
|
||||||
p[0] = True
|
|
||||||
|
|
||||||
def p_OptionalEmpty(self, p):
|
|
||||||
"""
|
|
||||||
Optional :
|
|
||||||
"""
|
|
||||||
p[0] = False
|
|
||||||
|
|
||||||
def p_Required(self, p):
|
|
||||||
"""
|
|
||||||
Required : REQUIRED
|
|
||||||
"""
|
|
||||||
p[0] = True
|
|
||||||
|
|
||||||
def p_RequiredEmpty(self, p):
|
|
||||||
"""
|
|
||||||
Required :
|
|
||||||
"""
|
|
||||||
p[0] = False
|
|
||||||
|
|
||||||
def p_Ellipsis(self, p):
|
def p_Ellipsis(self, p):
|
||||||
"""
|
"""
|
||||||
Ellipsis : ELLIPSIS
|
Ellipsis : ELLIPSIS
|
||||||
|
@ -6567,6 +6612,12 @@ class Parser(Tokenizer):
|
||||||
"""
|
"""
|
||||||
p[0] = self.handleNullable(p[1], p[2])
|
p[0] = self.handleNullable(p[1], p[2])
|
||||||
|
|
||||||
|
def p_TypeWithExtendedAttributes(self, p):
|
||||||
|
"""
|
||||||
|
TypeWithExtendedAttributes : ExtendedAttributeList Type
|
||||||
|
"""
|
||||||
|
p[0] = p[2].withExtendedAttributes(p[1])
|
||||||
|
|
||||||
def p_SingleTypeNonAnyType(self, p):
|
def p_SingleTypeNonAnyType(self, p):
|
||||||
"""
|
"""
|
||||||
SingleType : NonAnyType
|
SingleType : NonAnyType
|
||||||
|
@ -6589,9 +6640,9 @@ class Parser(Tokenizer):
|
||||||
|
|
||||||
def p_UnionMemberTypeNonAnyType(self, p):
|
def p_UnionMemberTypeNonAnyType(self, p):
|
||||||
"""
|
"""
|
||||||
UnionMemberType : NonAnyType
|
UnionMemberType : ExtendedAttributeList NonAnyType
|
||||||
"""
|
"""
|
||||||
p[0] = p[1]
|
p[0] = p[2].withExtendedAttributes(p[1])
|
||||||
|
|
||||||
def p_UnionMemberType(self, p):
|
def p_UnionMemberType(self, p):
|
||||||
"""
|
"""
|
||||||
|
@ -6641,7 +6692,7 @@ class Parser(Tokenizer):
|
||||||
|
|
||||||
def p_NonAnyTypeSequenceType(self, p):
|
def p_NonAnyTypeSequenceType(self, p):
|
||||||
"""
|
"""
|
||||||
NonAnyType : SEQUENCE LT Type GT Null
|
NonAnyType : SEQUENCE LT TypeWithExtendedAttributes GT Null
|
||||||
"""
|
"""
|
||||||
innerType = p[3]
|
innerType = p[3]
|
||||||
type = IDLSequenceType(self.getLocation(p, 1), innerType)
|
type = IDLSequenceType(self.getLocation(p, 1), innerType)
|
||||||
|
@ -6657,7 +6708,7 @@ class Parser(Tokenizer):
|
||||||
|
|
||||||
def p_NonAnyTypeRecordType(self, p):
|
def p_NonAnyTypeRecordType(self, p):
|
||||||
"""
|
"""
|
||||||
NonAnyType : RECORD LT StringType COMMA Type GT Null
|
NonAnyType : RECORD LT StringType COMMA TypeWithExtendedAttributes GT Null
|
||||||
"""
|
"""
|
||||||
keyType = p[3]
|
keyType = p[3]
|
||||||
valueType = p[5]
|
valueType = p[5]
|
||||||
|
|
|
@ -0,0 +1,238 @@
|
||||||
|
# Import the WebIDL module, so we can do isinstance checks and whatnot
|
||||||
|
import WebIDL
|
||||||
|
|
||||||
|
def WebIDLTest(parser, harness):
|
||||||
|
# Basic functionality
|
||||||
|
threw = False
|
||||||
|
try:
|
||||||
|
parser.parse("""
|
||||||
|
typedef [EnforceRange] long Foo;
|
||||||
|
typedef [Clamp] long Bar;
|
||||||
|
typedef [TreatNullAs=EmptyString] DOMString Baz;
|
||||||
|
dictionary A {
|
||||||
|
required [EnforceRange] long a;
|
||||||
|
required [Clamp] long b;
|
||||||
|
[ChromeOnly, EnforceRange] long c;
|
||||||
|
Foo d;
|
||||||
|
};
|
||||||
|
interface B {
|
||||||
|
attribute Foo typedefFoo;
|
||||||
|
attribute [EnforceRange] long foo;
|
||||||
|
attribute [Clamp] long bar;
|
||||||
|
attribute [TreatNullAs=EmptyString] DOMString baz;
|
||||||
|
void method([EnforceRange] long foo, [Clamp] long bar,
|
||||||
|
[TreatNullAs=EmptyString] DOMString baz);
|
||||||
|
void method2(optional [EnforceRange] long foo, optional [Clamp] long bar,
|
||||||
|
optional [TreatNullAs=EmptyString] DOMString baz);
|
||||||
|
};
|
||||||
|
interface Setlike {
|
||||||
|
setlike<[Clamp] long>;
|
||||||
|
};
|
||||||
|
interface Maplike {
|
||||||
|
maplike<[Clamp] long, [EnforceRange] long>;
|
||||||
|
};
|
||||||
|
interface Iterable {
|
||||||
|
iterable<[Clamp] long, [EnforceRange] long>;
|
||||||
|
};
|
||||||
|
""")
|
||||||
|
results = parser.finish()
|
||||||
|
except:
|
||||||
|
threw = True
|
||||||
|
|
||||||
|
harness.ok(not threw, "Should not have thrown on parsing normal")
|
||||||
|
if not threw:
|
||||||
|
harness.check(results[0].innerType.enforceRange, True, "Foo is [EnforceRange]")
|
||||||
|
harness.check(results[1].innerType.clamp, True, "Bar is [Clamp]")
|
||||||
|
harness.check(results[2].innerType.treatNullAsEmpty, True, "Baz is [TreatNullAs=EmptyString]")
|
||||||
|
A = results[3]
|
||||||
|
harness.check(A.members[0].type.enforceRange, True, "A.a is [EnforceRange]")
|
||||||
|
harness.check(A.members[1].type.clamp, True, "A.b is [Clamp]")
|
||||||
|
harness.check(A.members[2].type.enforceRange, True, "A.c is [EnforceRange]")
|
||||||
|
harness.check(A.members[3].type.enforceRange, True, "A.d is [EnforceRange]")
|
||||||
|
B = results[4]
|
||||||
|
harness.check(B.members[0].type.enforceRange, True, "B.typedefFoo is [EnforceRange]")
|
||||||
|
harness.check(B.members[1].type.enforceRange, True, "B.foo is [EnforceRange]")
|
||||||
|
harness.check(B.members[2].type.clamp, True, "B.bar is [Clamp]")
|
||||||
|
harness.check(B.members[3].type.treatNullAsEmpty, True, "B.baz is [TreatNullAs=EmptyString]")
|
||||||
|
method = B.members[4].signatures()[0][1]
|
||||||
|
harness.check(method[0].type.enforceRange, True, "foo argument of method is [EnforceRange]")
|
||||||
|
harness.check(method[1].type.clamp, True, "bar argument of method is [Clamp]")
|
||||||
|
harness.check(method[2].type.treatNullAsEmpty, True, "baz argument of method is [TreatNullAs=EmptyString]")
|
||||||
|
method2 = B.members[5].signatures()[0][1]
|
||||||
|
harness.check(method[0].type.enforceRange, True, "foo argument of method2 is [EnforceRange]")
|
||||||
|
harness.check(method[1].type.clamp, True, "bar argument of method2 is [Clamp]")
|
||||||
|
harness.check(method[2].type.treatNullAsEmpty, True, "baz argument of method2 is [TreatNullAs=EmptyString]")
|
||||||
|
|
||||||
|
ATTRIBUTES = [("[Clamp]", "long"), ("[EnforceRange]", "long"), ("[TreatNullAs=EmptyString]", "DOMString")]
|
||||||
|
TEMPLATES = [
|
||||||
|
("required dictionary members", """
|
||||||
|
dictionary Foo {
|
||||||
|
%s required %s foo;
|
||||||
|
};
|
||||||
|
"""),
|
||||||
|
("optional arguments", """
|
||||||
|
interface Foo {
|
||||||
|
void foo(%s optional %s foo);
|
||||||
|
};
|
||||||
|
"""),
|
||||||
|
("typedefs", """
|
||||||
|
%s typedef %s foo;
|
||||||
|
"""),
|
||||||
|
("attributes", """
|
||||||
|
interface Foo {
|
||||||
|
%s attribute %s foo;
|
||||||
|
};
|
||||||
|
"""),
|
||||||
|
("readonly attributes", """
|
||||||
|
interface Foo {
|
||||||
|
readonly attribute %s %s foo;
|
||||||
|
};
|
||||||
|
"""),
|
||||||
|
("readonly unresolved attributes", """
|
||||||
|
interface Foo {
|
||||||
|
readonly attribute Bar baz;
|
||||||
|
};
|
||||||
|
typedef %s %s Bar;
|
||||||
|
""")
|
||||||
|
];
|
||||||
|
|
||||||
|
for (name, template) in TEMPLATES:
|
||||||
|
parser = parser.reset()
|
||||||
|
threw = False
|
||||||
|
try:
|
||||||
|
parser.parse(template % ("", "long"))
|
||||||
|
parser.finish()
|
||||||
|
except:
|
||||||
|
threw = True
|
||||||
|
harness.ok(not threw, "Template for %s parses without attributes" % name)
|
||||||
|
for (attribute, type) in ATTRIBUTES:
|
||||||
|
parser = parser.reset()
|
||||||
|
threw = False
|
||||||
|
try:
|
||||||
|
parser.parse(template % (attribute, type))
|
||||||
|
parser.finish()
|
||||||
|
except:
|
||||||
|
threw = True
|
||||||
|
harness.ok(threw,
|
||||||
|
"Should not allow %s on %s" % (attribute, name))
|
||||||
|
|
||||||
|
parser = parser.reset()
|
||||||
|
threw = False
|
||||||
|
try:
|
||||||
|
parser.parse("""
|
||||||
|
typedef [Clamp, EnforceRange] long Foo;
|
||||||
|
""")
|
||||||
|
parser.finish()
|
||||||
|
except:
|
||||||
|
threw = True
|
||||||
|
|
||||||
|
harness.ok(threw, "Should not allow mixing [Clamp] and [EnforceRange]")
|
||||||
|
|
||||||
|
parser = parser.reset()
|
||||||
|
threw = False
|
||||||
|
try:
|
||||||
|
parser.parse("""
|
||||||
|
typedef [EnforceRange, Clamp] long Foo;
|
||||||
|
""")
|
||||||
|
parser.finish()
|
||||||
|
except:
|
||||||
|
threw = True
|
||||||
|
|
||||||
|
harness.ok(threw, "Should not allow mixing [Clamp] and [EnforceRange]")
|
||||||
|
|
||||||
|
|
||||||
|
parser = parser.reset()
|
||||||
|
threw = False
|
||||||
|
try:
|
||||||
|
parser.parse("""
|
||||||
|
typedef [Clamp] long Foo;
|
||||||
|
typedef [EnforceRange] Foo bar;
|
||||||
|
""")
|
||||||
|
parser.finish()
|
||||||
|
except:
|
||||||
|
threw = True
|
||||||
|
|
||||||
|
harness.ok(threw, "Should not allow mixing [Clamp] and [EnforceRange] via typedefs")
|
||||||
|
|
||||||
|
parser = parser.reset()
|
||||||
|
threw = False
|
||||||
|
try:
|
||||||
|
parser.parse("""
|
||||||
|
typedef [EnforceRange] long Foo;
|
||||||
|
typedef [Clamp] Foo bar;
|
||||||
|
""")
|
||||||
|
parser.finish()
|
||||||
|
except:
|
||||||
|
threw = True
|
||||||
|
|
||||||
|
harness.ok(threw, "Should not allow mixing [Clamp] and [EnforceRange] via typedefs")
|
||||||
|
|
||||||
|
parser = parser.reset()
|
||||||
|
threw = False
|
||||||
|
try:
|
||||||
|
parser.parse("""
|
||||||
|
typedef [Clamp] DOMString Foo;
|
||||||
|
""")
|
||||||
|
parser.finish()
|
||||||
|
except:
|
||||||
|
threw = True
|
||||||
|
|
||||||
|
harness.ok(threw, "Should not allow [Clamp] on DOMString")
|
||||||
|
|
||||||
|
|
||||||
|
parser = parser.reset()
|
||||||
|
threw = False
|
||||||
|
try:
|
||||||
|
parser.parse("""
|
||||||
|
typedef [EnforceRange] DOMString Foo;
|
||||||
|
""")
|
||||||
|
parser.finish()
|
||||||
|
except:
|
||||||
|
threw = True
|
||||||
|
|
||||||
|
harness.ok(threw, "Should not allow [EnforceRange] on DOMString")
|
||||||
|
|
||||||
|
|
||||||
|
parser = parser.reset()
|
||||||
|
threw = False
|
||||||
|
try:
|
||||||
|
parser.parse("""
|
||||||
|
typedef [TreatNullAs=EmptyString] long Foo;
|
||||||
|
""")
|
||||||
|
parser.finish()
|
||||||
|
except:
|
||||||
|
threw = True
|
||||||
|
|
||||||
|
harness.ok(threw, "Should not allow [TreatNullAs] on long")
|
||||||
|
|
||||||
|
parser = parser.reset()
|
||||||
|
threw = False
|
||||||
|
try:
|
||||||
|
parser.parse("""
|
||||||
|
interface Foo {
|
||||||
|
void foo([Clamp] Bar arg);
|
||||||
|
};
|
||||||
|
typedef long Bar;
|
||||||
|
""")
|
||||||
|
results = parser.finish()
|
||||||
|
except:
|
||||||
|
threw = True
|
||||||
|
harness.ok(not threw, "Should allow type attributes on unresolved types")
|
||||||
|
harness.check(results[0].members[0].signatures()[0][1][0].type.clamp, True,
|
||||||
|
"Unresolved types with type attributes should correctly resolve with attributes")
|
||||||
|
|
||||||
|
parser = parser.reset()
|
||||||
|
threw = False
|
||||||
|
try:
|
||||||
|
parser.parse("""
|
||||||
|
interface Foo {
|
||||||
|
void foo(Bar arg);
|
||||||
|
};
|
||||||
|
typedef [Clamp] long Bar;
|
||||||
|
""")
|
||||||
|
results = parser.finish()
|
||||||
|
except:
|
||||||
|
threw = True
|
||||||
|
harness.ok(not threw, "Should allow type attributes on typedefs")
|
||||||
|
harness.check(results[0].members[0].signatures()[0][1][0].type.clamp, True,
|
||||||
|
"Unresolved types that resolve to typedefs with attributes should correctly resolve with attributes")
|
|
@ -56,9 +56,9 @@ def WebIDLTest(parser, harness):
|
||||||
results = parser.finish()
|
results = parser.finish()
|
||||||
# Pull out the first argument out of the arglist of the first (and
|
# Pull out the first argument out of the arglist of the first (and
|
||||||
# only) signature.
|
# only) signature.
|
||||||
harness.ok(results[0].members[0].signatures()[0][1][0].clamp,
|
harness.ok(results[0].members[0].signatures()[0][1][0].type.clamp,
|
||||||
"Should be clamped")
|
"Should be clamped")
|
||||||
harness.ok(not results[0].members[1].signatures()[0][1][0].clamp,
|
harness.ok(not results[0].members[1].signatures()[0][1][0].type.clamp,
|
||||||
"Should not be clamped")
|
"Should not be clamped")
|
||||||
|
|
||||||
parser = parser.reset()
|
parser = parser.reset()
|
||||||
|
@ -86,9 +86,9 @@ def WebIDLTest(parser, harness):
|
||||||
results = parser.finish()
|
results = parser.finish()
|
||||||
# Pull out the first argument out of the arglist of the first (and
|
# Pull out the first argument out of the arglist of the first (and
|
||||||
# only) signature.
|
# only) signature.
|
||||||
harness.ok(results[0].members[0].signatures()[0][1][0].enforceRange,
|
harness.ok(results[0].members[0].signatures()[0][1][0].type.enforceRange,
|
||||||
"Should be enforceRange")
|
"Should be enforceRange")
|
||||||
harness.ok(not results[0].members[1].signatures()[0][1][0].enforceRange,
|
harness.ok(not results[0].members[1].signatures()[0][1][0].type.enforceRange,
|
||||||
"Should not be enforceRange")
|
"Should not be enforceRange")
|
||||||
|
|
||||||
parser = parser.reset()
|
parser = parser.reset()
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
def WebIDLTest(parser, harness):
|
||||||
|
exception = None
|
||||||
|
try:
|
||||||
|
parser.parse(
|
||||||
|
"""
|
||||||
|
typedef long foo;
|
||||||
|
typedef long foo;
|
||||||
|
""")
|
||||||
|
|
||||||
|
results = parser.finish()
|
||||||
|
except Exception as e:
|
||||||
|
exception = e
|
||||||
|
|
||||||
|
harness.ok(exception, "Should have thrown.")
|
||||||
|
harness.ok("Multiple unresolvable definitions of identifier 'foo'" in str(exception),
|
||||||
|
"Should have a sane exception message")
|
|
@ -13,8 +13,8 @@ interface Blob {
|
||||||
readonly attribute DOMString type;
|
readonly attribute DOMString type;
|
||||||
|
|
||||||
// slice Blob into byte-ranged chunks
|
// slice Blob into byte-ranged chunks
|
||||||
Blob slice([Clamp] optional long long start,
|
Blob slice(optional [Clamp] long long start,
|
||||||
[Clamp] optional long long end,
|
optional [Clamp] long long end,
|
||||||
optional DOMString contentType);
|
optional DOMString contentType);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ interface CSSStyleDeclaration {
|
||||||
DOMString getPropertyPriority(DOMString property);
|
DOMString getPropertyPriority(DOMString property);
|
||||||
[CEReactions, Throws]
|
[CEReactions, Throws]
|
||||||
void setProperty(DOMString property, [TreatNullAs=EmptyString] DOMString value,
|
void setProperty(DOMString property, [TreatNullAs=EmptyString] DOMString value,
|
||||||
[TreatNullAs=EmptyString] optional DOMString priority = "");
|
optional [TreatNullAs=EmptyString] DOMString priority = "");
|
||||||
[CEReactions, Throws]
|
[CEReactions, Throws]
|
||||||
DOMString removeProperty(DOMString property);
|
DOMString removeProperty(DOMString property);
|
||||||
// readonly attribute CSSRule? parentRule;
|
// readonly attribute CSSRule? parentRule;
|
||||||
|
@ -27,471 +27,471 @@ interface CSSStyleDeclaration {
|
||||||
};
|
};
|
||||||
|
|
||||||
partial interface CSSStyleDeclaration {
|
partial interface CSSStyleDeclaration {
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString all;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString all;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString background;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundColor;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString backgroundColor;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-color;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString background-color;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundPosition;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString backgroundPosition;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-position;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString background-position;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundPositionX;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString backgroundPositionX;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-position-x;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString background-position-x;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundPositionY;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString backgroundPositionY;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-position-y;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString background-position-y;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundRepeat;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString backgroundRepeat;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-repeat;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString background-repeat;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundImage;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString backgroundImage;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-image;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString background-image;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundAttachment;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString backgroundAttachment;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-attachment;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString background-attachment;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundSize;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString backgroundSize;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-size;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString background-size;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundOrigin;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString backgroundOrigin;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-origin;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString background-origin;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundClip;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString backgroundClip;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-clip;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString background-clip;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderColor;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderColor;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-color;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-color;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRadius;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderRadius;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-radius;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-radius;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderSpacing;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderSpacing;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-spacing;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-spacing;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderStyle;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderStyle;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-style;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-style;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderWidth;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderWidth;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-width;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-width;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottom;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderBottom;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-bottom;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomColor;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderBottomColor;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom-color;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-bottom-color;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomLeftRadius;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderBottomLeftRadius;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom-left-radius;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-bottom-left-radius;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomRightRadius;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderBottomRightRadius;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom-right-radius;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-bottom-right-radius;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomStyle;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderBottomStyle;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom-style;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-bottom-style;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomWidth;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderBottomWidth;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom-width;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-bottom-width;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderLeft;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderLeft;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-left;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-left;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderLeftColor;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderLeftColor;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-left-color;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-left-color;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderLeftStyle;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderLeftStyle;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-left-style;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-left-style;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderLeftWidth;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderLeftWidth;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-left-width;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-left-width;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRight;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderRight;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-right;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-right;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRightColor;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderRightColor;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-right-color;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-right-color;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRightStyle;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderRightStyle;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-right-style;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-right-style;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRightWidth;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderRightWidth;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-right-width;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-right-width;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTop;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderTop;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-top;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopColor;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderTopColor;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top-color;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-top-color;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopLeftRadius;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderTopLeftRadius;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top-left-radius;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-top-left-radius;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopRightRadius;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderTopRightRadius;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top-right-radius;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-top-right-radius;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopStyle;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderTopStyle;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top-style;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-top-style;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopWidth;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderTopWidth;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top-width;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-top-width;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-image-source;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-image-source;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderImageSource;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderImageSource;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-image-slice;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-image-slice;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderImageSlice;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderImageSlice;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-image-repeat;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-image-repeat;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderImageRepeat;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderImageRepeat;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-image-outset;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-image-outset;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderImageOutset;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderImageOutset;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-image-width;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-image-width;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderImageWidth;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderImageWidth;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-image;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-image;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderImage;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderImage;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-start-color;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-block-start-color;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockStartColor;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderBlockStartColor;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-start-width;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-block-start-width;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockStartWidth;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderBlockStartWidth;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-start-style;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-block-start-style;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockStartStyle;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderBlockStartStyle;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-end-color;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-block-end-color;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockEndColor;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderBlockEndColor;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-end-width;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-block-end-width;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockEndWidth;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderBlockEndWidth;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-end-style;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-block-end-style;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockEndStyle;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderBlockEndStyle;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-color;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-block-color;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockColor;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderBlockColor;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-style;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-block-style;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockStyle;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderBlockStyle;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-width;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-block-width;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockWidth;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderBlockWidth;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-end;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-block-end;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockEnd;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderBlockEnd;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-start;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-block-start;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockStart;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderBlockStart;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-block;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlock;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderBlock;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-start-color;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-inline-start-color;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineStartColor;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderInlineStartColor;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-start-width;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-inline-start-width;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineStartWidth;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderInlineStartWidth;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-start-style;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-inline-start-style;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineStartStyle;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderInlineStartStyle;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-end-color;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-inline-end-color;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineEndColor;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderInlineEndColor;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-end-width;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-inline-end-width;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineEndWidth;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderInlineEndWidth;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-end-style;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-inline-end-style;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineEndStyle;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderInlineEndStyle;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-color;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-inline-color;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineColor;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderInlineColor;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-style;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-inline-style;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineStyle;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderInlineStyle;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-width;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-inline-width;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineWidth;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderInlineWidth;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-start;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-inline-start;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineStart;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderInlineStart;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-end;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-inline-end;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineEnd;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderInlineEnd;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-inline;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInline;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderInline;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString content;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString content;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString color;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString color;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString display;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString display;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString opacity;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString opacity;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString visibility;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString visibility;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString cursor;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString cursor;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString boxSizing;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString boxSizing;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString box-sizing;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString box-sizing;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString boxShadow;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString boxShadow;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString box-shadow;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString box-shadow;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString textShadow;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString textShadow;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-shadow;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString text-shadow;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString _float;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString _float;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString clear;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString clear;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString clip;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString clip;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transform;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString transform;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transformOrigin;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString transformOrigin;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transform-origin;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString transform-origin;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString perspective;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString perspective;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString perspectiveOrigin;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString perspectiveOrigin;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString perspective-origin;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString perspective-origin;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transformStyle;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString transformStyle;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transform-style;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString transform-style;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backfaceVisibility;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString backfaceVisibility;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backface-visibility;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString backface-visibility;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString rotate;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString rotate;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString scale;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString scale;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString translate;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString translate;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString direction;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString direction;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString unicodeBidi;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString unicodeBidi;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString unicode-bidi;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString unicode-bidi;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString filter;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString filter;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString inset;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString inset;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString lineHeight;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString lineHeight;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString line-height;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString line-height;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString mixBlendMode;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString mixBlendMode;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString mix-blend-mode;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString mix-blend-mode;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString verticalAlign;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString verticalAlign;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString vertical-align;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString vertical-align;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString listStyle;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString listStyle;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString list-style;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString list-style;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString listStylePosition;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString listStylePosition;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString list-style-position;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString list-style-position;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString listStyleType;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString listStyleType;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString list-style-type;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString list-style-type;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString listStyleImage;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString listStyleImage;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString list-style-image;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString list-style-image;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString quotes;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString quotes;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString counterIncrement;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString counterIncrement;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString counter-increment;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString counter-increment;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString counterReset;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString counterReset;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString counter-reset;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString counter-reset;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflow;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString overflow;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflowX;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString overflowX;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflow-x;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString overflow-x;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflowY;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString overflowY;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflow-y;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString overflow-y;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflowWrap;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString overflowWrap;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflow-wrap;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString overflow-wrap;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString tableLayout;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString tableLayout;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString table-layout;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString table-layout;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderCollapse;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderCollapse;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-collapse;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-collapse;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString emptyCells;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString emptyCells;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString empty-cells;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString empty-cells;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString captionSide;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString captionSide;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString caption-side;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString caption-side;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString whiteSpace;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString whiteSpace;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString white-space;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString white-space;
|
||||||
|
|
||||||
[Pref="layout.writing-mode.enabled", CEReactions, SetterThrows, TreatNullAs=EmptyString]
|
[Pref="layout.writing-mode.enabled", CEReactions, SetterThrows]
|
||||||
attribute DOMString writingMode;
|
attribute [TreatNullAs=EmptyString] DOMString writingMode;
|
||||||
[Pref="layout.writing-mode.enabled", CEReactions, SetterThrows, TreatNullAs=EmptyString]
|
[Pref="layout.writing-mode.enabled", CEReactions, SetterThrows]
|
||||||
attribute DOMString writing-mode;
|
attribute [TreatNullAs=EmptyString] DOMString writing-mode;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString letterSpacing;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString letterSpacing;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString letter-spacing;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString letter-spacing;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString wordBreak;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString wordBreak;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString word-break;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString word-break;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString wordSpacing;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString wordSpacing;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString word-spacing;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString word-spacing;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString wordWrap;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString wordWrap;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString word-wrap;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString word-wrap;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString textOverflow;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString textOverflow;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-overflow;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString text-overflow;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString textAlign;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString textAlign;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-align;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString text-align;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString textDecoration;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString textDecoration;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-decoration;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString text-decoration;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString textDecorationLine;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString textDecorationLine;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-decoration-line;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString text-decoration-line;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString textIndent;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString textIndent;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-indent;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString text-indent;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString textJustify;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString textJustify;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-justify;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString text-justify;
|
||||||
// [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString textOrientation;
|
// [CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString textOrientation;
|
||||||
// [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-orientation;
|
// [CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString text-orientation;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString textRendering;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString textRendering;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-rendering;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString text-rendering;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString textTransform;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString textTransform;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-transform;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString text-transform;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString font;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString font;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontFamily;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString fontFamily;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-family;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString font-family;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontSize;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString fontSize;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-size;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString font-size;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontStretch;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString fontStretch;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-stretch;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString font-stretch;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontStyle;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString fontStyle;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-style;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString font-style;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontVariant;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString fontVariant;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-variant;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString font-variant;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontVariantCaps;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString fontVariantCaps;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-variant-caps;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString font-variant-caps;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontWeight;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString fontWeight;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-weight;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString font-weight;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString margin;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginBottom;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString marginBottom;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-bottom;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString margin-bottom;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginLeft;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString marginLeft;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-left;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString margin-left;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginRight;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString marginRight;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-right;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString margin-right;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginTop;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString marginTop;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-top;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString margin-top;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-block-start;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString margin-block-start;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginBlockStart;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString marginBlockStart;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-block-end;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString margin-block-end;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginBlockEnd;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString marginBlockEnd;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-block;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString margin-block;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginBlock;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString marginBlock;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-inline-start;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString margin-inline-start;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginInlineStart;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString marginInlineStart;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-inline-end;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString margin-inline-end;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginInlineEnd;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString marginInlineEnd;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-inline;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString margin-inline;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginInline;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString marginInline;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString padding;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingBottom;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString paddingBottom;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-bottom;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString padding-bottom;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingLeft;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString paddingLeft;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-left;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString padding-left;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingRight;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString paddingRight;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-right;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString padding-right;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingTop;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString paddingTop;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-top;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString padding-top;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-block-start;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString padding-block-start;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingBlockStart;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString paddingBlockStart;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-block-end;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString padding-block-end;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingBlockEnd;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString paddingBlockEnd;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-block;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString padding-block;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingBlock;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString paddingBlock;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-inline-start;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString padding-inline-start;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingInlineStart;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString paddingInlineStart;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-inline-end;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString padding-inline-end;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingInlineEnd;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString paddingInlineEnd;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-inline;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString padding-inline;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingInline;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString paddingInline;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString outline;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString outline;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString outlineColor;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString outlineColor;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString outline-color;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString outline-color;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString outlineStyle;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString outlineStyle;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString outline-style;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString outline-style;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString outlineWidth;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString outlineWidth;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString outline-width;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString outline-width;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString outlineOffset;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString outlineOffset;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString outline-offset;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString outline-offset;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString position;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString position;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString pointerEvents;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString pointerEvents;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString pointer-events;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString pointer-events;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString top;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString top;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString right;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString right;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString left;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString left;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString bottom;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString bottom;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString offset-block-start;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString offset-block-start;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString offsetBlockStart;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString offsetBlockStart;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString offset-block-end;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString offset-block-end;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString offsetBlockEnd;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString offsetBlockEnd;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString offset-inline-start;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString offset-inline-start;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString offsetInlineStart;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString offsetInlineStart;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString offset-inline-end;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString offset-inline-end;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString offsetInlineEnd;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString offsetInlineEnd;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString inset-block-start;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString inset-block-start;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString insetBlockStart;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString insetBlockStart;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString inset-block-end;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString inset-block-end;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString insetBlockEnd;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString insetBlockEnd;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString inset-block;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString inset-block;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString insetBlock;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString insetBlock;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString inset-inline-start;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString inset-inline-start;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString insetInlineStart;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString insetInlineStart;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString inset-inline-end;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString inset-inline-end;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString insetInlineEnd;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString insetInlineEnd;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString inset-inline;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString inset-inline;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString insetInline;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString insetInline;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString height;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString height;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString minHeight;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString minHeight;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString min-height;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString min-height;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString maxHeight;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString maxHeight;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString max-height;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString max-height;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString width;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString width;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString minWidth;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString minWidth;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString min-width;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString min-width;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString maxWidth;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString maxWidth;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString max-width;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString max-width;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString block-size;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString block-size;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString blockSize;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString blockSize;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString inline-size;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString inline-size;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString inlineSize;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString inlineSize;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString max-block-size;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString max-block-size;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString maxBlockSize;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString maxBlockSize;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString max-inline-size;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString max-inline-size;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString maxInlineSize;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString maxInlineSize;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString min-block-size;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString min-block-size;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString minBlockSize;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString minBlockSize;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString min-inline-size;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString min-inline-size;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString minInlineSize;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString minInlineSize;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString zIndex;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString zIndex;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString z-index;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString z-index;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString imageRendering;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString imageRendering;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString image-rendering;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString image-rendering;
|
||||||
|
|
||||||
[Pref="layout.columns.enabled", CEReactions, SetterThrows, TreatNullAs=EmptyString]
|
[Pref="layout.columns.enabled", CEReactions, SetterThrows]
|
||||||
attribute DOMString columnCount;
|
attribute [TreatNullAs=EmptyString] DOMString columnCount;
|
||||||
[Pref="layout.columns.enabled", CEReactions, SetterThrows, TreatNullAs=EmptyString]
|
[Pref="layout.columns.enabled", CEReactions, SetterThrows]
|
||||||
attribute DOMString column-count;
|
attribute [TreatNullAs=EmptyString] DOMString column-count;
|
||||||
[Pref="layout.columns.enabled", CEReactions, SetterThrows, TreatNullAs=EmptyString]
|
[Pref="layout.columns.enabled", CEReactions, SetterThrows]
|
||||||
attribute DOMString columnWidth;
|
attribute [TreatNullAs=EmptyString] DOMString columnWidth;
|
||||||
[Pref="layout.columns.enabled", CEReactions, SetterThrows, TreatNullAs=EmptyString]
|
[Pref="layout.columns.enabled", CEReactions, SetterThrows]
|
||||||
attribute DOMString column-width;
|
attribute [TreatNullAs=EmptyString] DOMString column-width;
|
||||||
[Pref="layout.columns.enabled", CEReactions, SetterThrows, TreatNullAs=EmptyString]
|
[Pref="layout.columns.enabled", CEReactions, SetterThrows]
|
||||||
attribute DOMString columns;
|
attribute [TreatNullAs=EmptyString] DOMString columns;
|
||||||
[Pref="layout.columns.enabled", CEReactions, SetterThrows, TreatNullAs=EmptyString]
|
[Pref="layout.columns.enabled", CEReactions, SetterThrows]
|
||||||
attribute DOMString columnGap;
|
attribute [TreatNullAs=EmptyString] DOMString columnGap;
|
||||||
[Pref="layout.columns.enabled", CEReactions, SetterThrows, TreatNullAs=EmptyString]
|
[Pref="layout.columns.enabled", CEReactions, SetterThrows]
|
||||||
attribute DOMString column-gap;
|
attribute [TreatNullAs=EmptyString] DOMString column-gap;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transition;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString transition;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transitionDuration;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString transitionDuration;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transition-duration;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString transition-duration;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transitionTimingFunction;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString transitionTimingFunction;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transition-timing-function;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString transition-timing-function;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transitionProperty;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString transitionProperty;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transition-property;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString transition-property;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transitionDelay;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString transitionDelay;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transition-delay;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString transition-delay;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString flex;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flexFlow;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString flexFlow;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex-flow;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString flex-flow;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flexDirection;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString flexDirection;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex-direction;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString flex-direction;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flexWrap;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString flexWrap;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex-wrap;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString flex-wrap;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString justifyContent;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString justifyContent;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString justify-content;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString justify-content;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString alignItems;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString alignItems;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString align-items;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString align-items;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString alignContent;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString alignContent;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString align-content;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString align-content;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString order;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString order;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flexBasis;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString flexBasis;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex-basis;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString flex-basis;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flexGrow;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString flexGrow;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex-grow;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString flex-grow;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flexShrink;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString flexShrink;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex-shrink;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString flex-shrink;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString alignSelf;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString alignSelf;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString align-self;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString align-self;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString animation;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-name;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString animation-name;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationName;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString animationName;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-duration;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString animation-duration;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationDuration;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString animationDuration;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-timing-function;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString animation-timing-function;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationTimingFunction;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString animationTimingFunction;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-iteration-count;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString animation-iteration-count;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationIterationCount;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString animationIterationCount;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-direction;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString animation-direction;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationDirection;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString animationDirection;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-play-state;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString animation-play-state;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationPlayState;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString animationPlayState;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-fill-mode;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString animation-fill-mode;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationFillMode;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString animationFillMode;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-delay;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString animation-delay;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationDelay;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString animationDelay;
|
||||||
|
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-end-end-radius;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-end-end-radius;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderEndEndRadius;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderEndEndRadius;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-start-end-radius;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-start-end-radius;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderStartEndRadius;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderStartEndRadius;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-start-start-radius;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-start-start-radius;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderStartStartRadius;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderStartStartRadius;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-end-start-radius;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString border-end-start-radius;
|
||||||
[CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderEndStartRadius;
|
[CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString borderEndStartRadius;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
[Abstract]
|
[Abstract]
|
||||||
interface CharacterData : Node {
|
interface CharacterData : Node {
|
||||||
[Pure, TreatNullAs=EmptyString] attribute DOMString data;
|
[Pure] attribute [TreatNullAs=EmptyString] DOMString data;
|
||||||
[Pure] readonly attribute unsigned long length;
|
[Pure] readonly attribute unsigned long length;
|
||||||
[Pure, Throws]
|
[Pure, Throws]
|
||||||
DOMString substringData(unsigned long offset, unsigned long count);
|
DOMString substringData(unsigned long offset, unsigned long count);
|
||||||
|
|
|
@ -152,8 +152,8 @@ Document implements DocumentAndElementEventHandlers;
|
||||||
|
|
||||||
// https://html.spec.whatwg.org/multipage/#Document-partial
|
// https://html.spec.whatwg.org/multipage/#Document-partial
|
||||||
partial interface Document {
|
partial interface Document {
|
||||||
[CEReactions, TreatNullAs=EmptyString]
|
[CEReactions]
|
||||||
attribute DOMString fgColor;
|
attribute [TreatNullAs=EmptyString] DOMString fgColor;
|
||||||
|
|
||||||
// https://github.com/servo/servo/issues/8715
|
// https://github.com/servo/servo/issues/8715
|
||||||
// [CEReactions, TreatNullAs=EmptyString]
|
// [CEReactions, TreatNullAs=EmptyString]
|
||||||
|
@ -167,8 +167,8 @@ partial interface Document {
|
||||||
// [CEReactions, TreatNullAs=EmptyString]
|
// [CEReactions, TreatNullAs=EmptyString]
|
||||||
// attribute DOMString alinkColor;
|
// attribute DOMString alinkColor;
|
||||||
|
|
||||||
[CEReactions, TreatNullAs=EmptyString]
|
[CEReactions]
|
||||||
attribute DOMString bgColor;
|
attribute [TreatNullAs=EmptyString] DOMString bgColor;
|
||||||
|
|
||||||
[SameObject]
|
[SameObject]
|
||||||
readonly attribute HTMLCollection anchors;
|
readonly attribute HTMLCollection anchors;
|
||||||
|
|
|
@ -109,10 +109,10 @@ partial interface Element {
|
||||||
|
|
||||||
// https://w3c.github.io/DOM-Parsing/#extensions-to-the-element-interface
|
// https://w3c.github.io/DOM-Parsing/#extensions-to-the-element-interface
|
||||||
partial interface Element {
|
partial interface Element {
|
||||||
[CEReactions, Throws,TreatNullAs=EmptyString]
|
[CEReactions, Throws]
|
||||||
attribute DOMString innerHTML;
|
attribute [TreatNullAs=EmptyString] DOMString innerHTML;
|
||||||
[CEReactions, Throws,TreatNullAs=EmptyString]
|
[CEReactions, Throws]
|
||||||
attribute DOMString outerHTML;
|
attribute [TreatNullAs=EmptyString] DOMString outerHTML;
|
||||||
};
|
};
|
||||||
|
|
||||||
// https://fullscreen.spec.whatwg.org/#api
|
// https://fullscreen.spec.whatwg.org/#api
|
||||||
|
|
|
@ -11,7 +11,7 @@ HTMLBodyElement implements WindowEventHandlers;
|
||||||
|
|
||||||
// https://html.spec.whatwg.org/multipage/#HTMLBodyElement-partial
|
// https://html.spec.whatwg.org/multipage/#HTMLBodyElement-partial
|
||||||
partial interface HTMLBodyElement {
|
partial interface HTMLBodyElement {
|
||||||
[CEReactions, TreatNullAs=EmptyString] attribute DOMString text;
|
[CEReactions] attribute [TreatNullAs=EmptyString] DOMString text;
|
||||||
|
|
||||||
// https://github.com/servo/servo/issues/8715
|
// https://github.com/servo/servo/issues/8715
|
||||||
//[CEReactions, TreatNullAs=EmptyString] attribute DOMString link;
|
//[CEReactions, TreatNullAs=EmptyString] attribute DOMString link;
|
||||||
|
@ -22,6 +22,6 @@ partial interface HTMLBodyElement {
|
||||||
// https://github.com/servo/servo/issues/8717
|
// https://github.com/servo/servo/issues/8717
|
||||||
//[CEReactions, TreatNullAs=EmptyString] attribute DOMString aLink;
|
//[CEReactions, TreatNullAs=EmptyString] attribute DOMString aLink;
|
||||||
|
|
||||||
[CEReactions, TreatNullAs=EmptyString] attribute DOMString bgColor;
|
[CEReactions] attribute [TreatNullAs=EmptyString] DOMString bgColor;
|
||||||
[CEReactions] attribute DOMString background;
|
[CEReactions] attribute DOMString background;
|
||||||
};
|
};
|
||||||
|
|
|
@ -46,7 +46,7 @@ interface HTMLElement : Element {
|
||||||
// attribute boolean spellcheck;
|
// attribute boolean spellcheck;
|
||||||
// void forceSpellCheck();
|
// void forceSpellCheck();
|
||||||
|
|
||||||
[TreatNullAs=EmptyString] attribute DOMString innerText;
|
attribute [TreatNullAs=EmptyString] DOMString innerText;
|
||||||
|
|
||||||
// command API
|
// command API
|
||||||
// readonly attribute DOMString? commandType;
|
// readonly attribute DOMString? commandType;
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
// https://html.spec.whatwg.org/multipage/#htmlfontelement
|
// https://html.spec.whatwg.org/multipage/#htmlfontelement
|
||||||
[HTMLConstructor]
|
[HTMLConstructor]
|
||||||
interface HTMLFontElement : HTMLElement {
|
interface HTMLFontElement : HTMLElement {
|
||||||
[CEReactions, TreatNullAs=EmptyString]
|
[CEReactions]
|
||||||
attribute DOMString color;
|
attribute [TreatNullAs=EmptyString] DOMString color;
|
||||||
[CEReactions]
|
[CEReactions]
|
||||||
attribute DOMString face;
|
attribute DOMString face;
|
||||||
[CEReactions]
|
[CEReactions]
|
||||||
|
|
|
@ -43,8 +43,8 @@ partial interface HTMLImageElement {
|
||||||
[CEReactions]
|
[CEReactions]
|
||||||
attribute DOMString longDesc;
|
attribute DOMString longDesc;
|
||||||
|
|
||||||
[CEReactions, TreatNullAs=EmptyString]
|
[CEReactions]
|
||||||
attribute DOMString border;
|
attribute [TreatNullAs=EmptyString] DOMString border;
|
||||||
};
|
};
|
||||||
|
|
||||||
// https://drafts.csswg.org/cssom-view/#extensions-to-the-htmlimageelement-interface
|
// https://drafts.csswg.org/cssom-view/#extensions-to-the-htmlimageelement-interface
|
||||||
|
|
|
@ -68,8 +68,8 @@ interface HTMLInputElement : HTMLElement {
|
||||||
attribute DOMString type;
|
attribute DOMString type;
|
||||||
[CEReactions]
|
[CEReactions]
|
||||||
attribute DOMString defaultValue;
|
attribute DOMString defaultValue;
|
||||||
[CEReactions, TreatNullAs=EmptyString, SetterThrows]
|
[CEReactions, SetterThrows]
|
||||||
attribute DOMString value;
|
attribute [TreatNullAs=EmptyString] DOMString value;
|
||||||
// attribute Date? valueAsDate;
|
// attribute Date? valueAsDate;
|
||||||
// attribute unrestricted double valueAsNumber;
|
// attribute unrestricted double valueAsNumber;
|
||||||
// attribute double valueLow;
|
// attribute double valueLow;
|
||||||
|
|
|
@ -40,6 +40,6 @@ partial interface HTMLTableCellElement {
|
||||||
// [CEReactions]
|
// [CEReactions]
|
||||||
// attribute DOMString vAlign;
|
// attribute DOMString vAlign;
|
||||||
|
|
||||||
[CEReactions, TreatNullAs=EmptyString]
|
[CEReactions]
|
||||||
attribute DOMString bgColor;
|
attribute [TreatNullAs=EmptyString] DOMString bgColor;
|
||||||
};
|
};
|
||||||
|
|
|
@ -48,8 +48,8 @@ partial interface HTMLTableElement {
|
||||||
[CEReactions]
|
[CEReactions]
|
||||||
attribute DOMString width;
|
attribute DOMString width;
|
||||||
|
|
||||||
[CEReactions, TreatNullAs=EmptyString]
|
[CEReactions]
|
||||||
attribute DOMString bgColor;
|
attribute [TreatNullAs=EmptyString] DOMString bgColor;
|
||||||
// [CEReactions, TreatNullAs=EmptyString]
|
// [CEReactions, TreatNullAs=EmptyString]
|
||||||
// attribute DOMString cellPadding;
|
// attribute DOMString cellPadding;
|
||||||
// [CEReactions, TreatNullAs=EmptyString]
|
// [CEReactions, TreatNullAs=EmptyString]
|
||||||
|
|
|
@ -27,6 +27,6 @@ partial interface HTMLTableRowElement {
|
||||||
// [CEReactions]
|
// [CEReactions]
|
||||||
// attribute DOMString vAlign;
|
// attribute DOMString vAlign;
|
||||||
|
|
||||||
[CEReactions, TreatNullAs=EmptyString]
|
[CEReactions]
|
||||||
attribute DOMString bgColor;
|
attribute [TreatNullAs=EmptyString] DOMString bgColor;
|
||||||
};
|
};
|
||||||
|
|
|
@ -37,8 +37,7 @@ interface HTMLTextAreaElement : HTMLElement {
|
||||||
readonly attribute DOMString type;
|
readonly attribute DOMString type;
|
||||||
[CEReactions]
|
[CEReactions]
|
||||||
attribute DOMString defaultValue;
|
attribute DOMString defaultValue;
|
||||||
[TreatNullAs=EmptyString]
|
attribute [TreatNullAs=EmptyString] DOMString value;
|
||||||
attribute DOMString value;
|
|
||||||
readonly attribute unsigned long textLength;
|
readonly attribute unsigned long textLength;
|
||||||
|
|
||||||
// readonly attribute boolean willValidate;
|
// readonly attribute boolean willValidate;
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
// https://drafts.csswg.org/cssom/#the-medialist-interface
|
// https://drafts.csswg.org/cssom/#the-medialist-interface
|
||||||
// [LegacyArrayClass]
|
// [LegacyArrayClass]
|
||||||
interface MediaList {
|
interface MediaList {
|
||||||
[TreatNullAs=EmptyString] /* stringifier */ attribute DOMString mediaText;
|
/* stringifier */ attribute [TreatNullAs=EmptyString] DOMString mediaText;
|
||||||
readonly attribute unsigned long length;
|
readonly attribute unsigned long length;
|
||||||
getter DOMString? item(unsigned long index);
|
getter DOMString? item(unsigned long index);
|
||||||
void appendMedium(DOMString medium);
|
void appendMedium(DOMString medium);
|
||||||
|
|
|
@ -23,7 +23,7 @@ interface WebSocket : EventTarget {
|
||||||
attribute EventHandler onclose;
|
attribute EventHandler onclose;
|
||||||
//readonly attribute DOMString extensions;
|
//readonly attribute DOMString extensions;
|
||||||
readonly attribute DOMString protocol;
|
readonly attribute DOMString protocol;
|
||||||
[Throws] void close([Clamp] optional unsigned short code, optional USVString reason);
|
[Throws] void close(optional [Clamp] unsigned short code, optional USVString reason);
|
||||||
|
|
||||||
//messaging
|
//messaging
|
||||||
attribute EventHandler onmessage;
|
attribute EventHandler onmessage;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue