Auto merge of #7432 - jdm:dashedprops, r=nox

Add dashed CSS properties in CSSStyleDeclaration



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7432)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2015-08-30 08:20:57 -06:00
commit 940bcadc13
6 changed files with 144 additions and 13 deletions

View file

@ -1472,6 +1472,7 @@ class AttrDefiner(PropertyDefiner):
def __init__(self, descriptor, name, static): def __init__(self, descriptor, name, static):
PropertyDefiner.__init__(self, descriptor, name) PropertyDefiner.__init__(self, descriptor, name)
self.name = name self.name = name
self.descriptor = descriptor
self.regular = [ self.regular = [
m m
for m in descriptor.interface.members for m in descriptor.interface.members
@ -1488,14 +1489,14 @@ class AttrDefiner(PropertyDefiner):
def getter(attr): def getter(attr):
if self.static: if self.static:
accessor = 'get_' + attr.identifier.name accessor = 'get_' + self.descriptor.internalNameFor(attr.identifier.name)
jitinfo = "0 as *const JSJitInfo" jitinfo = "0 as *const JSJitInfo"
else: else:
if attr.hasLenientThis(): if attr.hasLenientThis():
accessor = "generic_lenient_getter" accessor = "generic_lenient_getter"
else: else:
accessor = "generic_getter" accessor = "generic_getter"
jitinfo = "&%s_getterinfo" % attr.identifier.name jitinfo = "&%s_getterinfo" % self.descriptor.internalNameFor(attr.identifier.name)
return ("JSNativeWrapper { op: Some(%(native)s), info: %(info)s }" return ("JSNativeWrapper { op: Some(%(native)s), info: %(info)s }"
% {"info": jitinfo, % {"info": jitinfo,
@ -1506,14 +1507,14 @@ class AttrDefiner(PropertyDefiner):
return "JSNativeWrapper { op: None, info: 0 as *const JSJitInfo }" return "JSNativeWrapper { op: None, info: 0 as *const JSJitInfo }"
if self.static: if self.static:
accessor = 'set_' + attr.identifier.name accessor = 'set_' + self.descriptor.internalNameFor(attr.identifier.name)
jitinfo = "0 as *const JSJitInfo" jitinfo = "0 as *const JSJitInfo"
else: else:
if attr.hasLenientThis(): if attr.hasLenientThis():
accessor = "generic_lenient_setter" accessor = "generic_lenient_setter"
else: else:
accessor = "generic_setter" accessor = "generic_setter"
jitinfo = "&%s_setterinfo" % attr.identifier.name jitinfo = "&%s_setterinfo" % self.descriptor.internalNameFor(attr.identifier.name)
return ("JSNativeWrapper { op: Some(%(native)s), info: %(info)s }" return ("JSNativeWrapper { op: Some(%(native)s), info: %(info)s }"
% {"info": jitinfo, % {"info": jitinfo,
@ -2835,7 +2836,10 @@ class CGSpecializedMethod(CGAbstractExternMethod):
@staticmethod @staticmethod
def makeNativeName(descriptor, method): def makeNativeName(descriptor, method):
name = method.identifier.name name = method.identifier.name
return MakeNativeName(descriptor.binaryNameFor(name)) nativeName = descriptor.binaryNameFor(name)
if nativeName == name:
nativeName = descriptor.internalNameFor(name)
return MakeNativeName(nativeName)
class CGStaticMethod(CGAbstractStaticBindingMethod): class CGStaticMethod(CGAbstractStaticBindingMethod):
@ -2862,7 +2866,7 @@ class CGSpecializedGetter(CGAbstractExternMethod):
""" """
def __init__(self, descriptor, attr): def __init__(self, descriptor, attr):
self.attr = attr self.attr = attr
name = 'get_' + attr.identifier.name name = 'get_' + descriptor.internalNameFor(attr.identifier.name)
args = [Argument('*mut JSContext', 'cx'), args = [Argument('*mut JSContext', 'cx'),
Argument('HandleObject', '_obj'), Argument('HandleObject', '_obj'),
Argument('*const %s' % descriptor.concreteType, 'this'), Argument('*const %s' % descriptor.concreteType, 'this'),
@ -2880,7 +2884,10 @@ class CGSpecializedGetter(CGAbstractExternMethod):
@staticmethod @staticmethod
def makeNativeName(descriptor, attr): def makeNativeName(descriptor, attr):
name = attr.identifier.name name = attr.identifier.name
nativeName = MakeNativeName(descriptor.binaryNameFor(name)) nativeName = descriptor.binaryNameFor(name)
if nativeName == name:
nativeName = descriptor.internalNameFor(name)
nativeName = MakeNativeName(nativeName)
infallible = ('infallible' in infallible = ('infallible' in
descriptor.getExtendedAttributes(attr, getter=True)) descriptor.getExtendedAttributes(attr, getter=True))
if attr.type.nullable() or not infallible: if attr.type.nullable() or not infallible:
@ -2914,7 +2921,7 @@ class CGSpecializedSetter(CGAbstractExternMethod):
""" """
def __init__(self, descriptor, attr): def __init__(self, descriptor, attr):
self.attr = attr self.attr = attr
name = 'set_' + attr.identifier.name name = 'set_' + descriptor.internalNameFor(attr.identifier.name)
args = [Argument('*mut JSContext', 'cx'), args = [Argument('*mut JSContext', 'cx'),
Argument('HandleObject', 'obj'), Argument('HandleObject', 'obj'),
Argument('*const %s' % descriptor.concreteType, 'this'), Argument('*const %s' % descriptor.concreteType, 'this'),
@ -2931,7 +2938,10 @@ class CGSpecializedSetter(CGAbstractExternMethod):
@staticmethod @staticmethod
def makeNativeName(descriptor, attr): def makeNativeName(descriptor, attr):
name = attr.identifier.name name = attr.identifier.name
return "Set" + MakeNativeName(descriptor.binaryNameFor(name)) nativeName = descriptor.binaryNameFor(name)
if nativeName == name:
nativeName = descriptor.internalNameFor(name)
return "Set" + MakeNativeName(nativeName)
class CGStaticSetter(CGAbstractStaticBindingMethod): class CGStaticSetter(CGAbstractStaticBindingMethod):
@ -3045,8 +3055,9 @@ class CGMemberJITInfo(CGThing):
def define(self): def define(self):
if self.member.isAttr(): if self.member.isAttr():
getterinfo = ("%s_getterinfo" % self.member.identifier.name) internalMemberName = self.descriptor.internalNameFor(self.member.identifier.name)
getter = ("get_%s" % self.member.identifier.name) getterinfo = ("%s_getterinfo" % internalMemberName)
getter = ("get_%s" % internalMemberName)
getterinfal = "infallible" in self.descriptor.getExtendedAttributes(self.member, getter=True) getterinfal = "infallible" in self.descriptor.getExtendedAttributes(self.member, getter=True)
movable = self.mayBeMovable() and getterinfal movable = self.mayBeMovable() and getterinfal
@ -3070,8 +3081,8 @@ class CGMemberJITInfo(CGThing):
slotIndex, slotIndex,
[self.member.type], None) [self.member.type], None)
if (not self.member.readonly or self.member.getExtendedAttribute("PutForwards")): if (not self.member.readonly or self.member.getExtendedAttribute("PutForwards")):
setterinfo = ("%s_setterinfo" % self.member.identifier.name) setterinfo = ("%s_setterinfo" % internalMemberName)
setter = ("set_%s" % self.member.identifier.name) setter = ("set_%s" % internalMemberName)
# Setters are always fallible, since they have to do a typed unwrap. # Setters are always fallible, since they have to do a typed unwrap.
result += self.defineJitInfo(setterinfo, setter, "Setter", result += self.defineJitInfo(setterinfo, setter, "Setter",
False, False, "AliasEverything", False, False, "AliasEverything",

View file

@ -263,6 +263,8 @@ class Descriptor(DescriptorProvider):
self._binaryNames.setdefault('__legacycaller', 'LegacyCall') self._binaryNames.setdefault('__legacycaller', 'LegacyCall')
self._binaryNames.setdefault('__stringifier', 'Stringifier') self._binaryNames.setdefault('__stringifier', 'Stringifier')
self._internalNames = desc.get('internalNames', {})
for member in self.interface.members: for member in self.interface.members:
if not member.isAttr() and not member.isMethod(): if not member.isAttr() and not member.isMethod():
continue continue
@ -272,6 +274,8 @@ class Descriptor(DescriptorProvider):
assert len(binaryName) == 1 assert len(binaryName) == 1
self._binaryNames.setdefault(member.identifier.name, self._binaryNames.setdefault(member.identifier.name,
binaryName[0]) binaryName[0])
self._internalNames.setdefault(member.identifier.name,
member.identifier.name.replace('-', '_'))
# Build the prototype chain. # Build the prototype chain.
self.prototypeChain = [] self.prototypeChain = []
@ -285,6 +289,9 @@ class Descriptor(DescriptorProvider):
def binaryNameFor(self, name): def binaryNameFor(self, name):
return self._binaryNames.get(name, name) return self._binaryNames.get(name, name)
def internalNameFor(self, name):
return self._internalNames.get(name, name)
def getExtendedAttributes(self, member, getter=False, setter=False): def getExtendedAttributes(self, member, getter=False, setter=False):
def maybeAppendInfallibleToAttrs(attrs, throws): def maybeAppendInfallibleToAttrs(attrs, throws):
if throws is None: if throws is None:

View file

@ -120,6 +120,10 @@ impl TestBindingMethods for TestBinding {
fn SetBinaryRenamedAttribute(&self, _: DOMString) {} fn SetBinaryRenamedAttribute(&self, _: DOMString) {}
fn ForwardedAttribute(&self) -> Root<TestBinding> { Root::from_ref(self) } fn ForwardedAttribute(&self) -> Root<TestBinding> { Root::from_ref(self) }
fn BinaryRenamedAttribute(&self) -> DOMString { "".to_owned() } fn BinaryRenamedAttribute(&self) -> DOMString { "".to_owned() }
fn SetBinaryRenamedAttribute2(&self, _: DOMString) {}
fn BinaryRenamedAttribute2(&self) -> DOMString { "".to_owned() }
fn Attr_to_automatically_rename(&self) -> DOMString { "".to_owned() }
fn SetAttr_to_automatically_rename(&self, _: DOMString) {}
fn GetEnumAttributeNullable(&self) -> Option<TestEnum> { Some(_empty) } fn GetEnumAttributeNullable(&self) -> Option<TestEnum> { Some(_empty) }
fn GetInterfaceAttributeNullable(&self) -> Option<Root<Blob>> { fn GetInterfaceAttributeNullable(&self) -> Option<Root<Blob>> {
let global = self.global.root(); let global = self.global.root();

View file

@ -34,40 +34,73 @@ interface CSSStyleDeclaration {
partial interface CSSStyleDeclaration { partial interface CSSStyleDeclaration {
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString background; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString background;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundColor; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundColor;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-color;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundPosition; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundPosition;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-position;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundRepeat; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundRepeat;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-repeat;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundImage; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundImage;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-image;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundAttachment; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundAttachment;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-attachment;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundSize; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundSize;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-size;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundOrigin; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundOrigin;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-origin;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundClip; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundClip;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-clip;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString border;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderColor; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderColor;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-color;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRadius; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRadius;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-radius;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderSpacing; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderSpacing;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-spacing;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderStyle; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderWidth; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottom; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottom;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomColor; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomColor;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom-color;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomLeftRadius; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomLeftRadius;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom-left-radius;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomRightRadius; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomRightRadius;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom-right-radius;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomStyle; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomWidth; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderLeft; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderLeft;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-left;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderLeftColor; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderLeftColor;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-left-color;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderLeftStyle; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderLeftStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-left-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderLeftWidth; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderLeftWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-left-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRight; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRight;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-right;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRightColor; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRightColor;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-right-color;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRightStyle; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRightStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-right-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRightWidth; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRightWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-right-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTop; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTop;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopColor; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopColor;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top-color;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopLeftRadius; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopLeftRadius;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top-left-radius;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopRightRadius; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopRightRadius;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top-right-radius;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopStyle; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopWidth; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString content; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString content;
@ -82,8 +115,11 @@ partial interface CSSStyleDeclaration {
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString cursor; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString cursor;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString boxSizing; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString boxSizing;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString box-sizing;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString boxShadow; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString boxShadow;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString box-shadow;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString textShadow; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString textShadow;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-shadow;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString _float; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString _float;
@ -93,89 +129,143 @@ partial interface CSSStyleDeclaration {
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transform; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString transform;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transformOrigin; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString transformOrigin;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transform-origin;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString perspective; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString perspective;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString perspectiveOrigin; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString perspectiveOrigin;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString perspective-origin;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transformStyle; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString transformStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transform-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backfaceVisibility; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString backfaceVisibility;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backface-visibility;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString direction; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString direction;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString unicodeBidi; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString unicodeBidi;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString unicode-bidi;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString filter; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString filter;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString lineHeight; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString lineHeight;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString line-height;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString mixBlendMode; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString mixBlendMode;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString mix-blend-mode;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString verticalAlign; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString verticalAlign;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString vertical-align;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString listStyle; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString listStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString list-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString listStylePosition; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString listStylePosition;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString list-style-position;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString listStyleType; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString listStyleType;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString list-style-type;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString listStyleImage; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString listStyleImage;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString list-style-image;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString quotes; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString quotes;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString counterIncrement; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString counterIncrement;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString counter-increment;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString counterReset; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString counterReset;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString counter-reset;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflow; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflow;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflowX; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflowX;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflow-x;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflowY; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflowY;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflow-y;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflowWrap; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflowWrap;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflow-wrap;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString tableLayout; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString tableLayout;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString table-layout;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderCollapse; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderCollapse;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-collapse;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString emptyCells; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString emptyCells;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString empty-cells;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString captionSide; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString captionSide;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString caption-side;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString whiteSpace; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString whiteSpace;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString white-space;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString writingMode; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString writingMode;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString writing-mode;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString letterSpacing; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString letterSpacing;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString letter-spacing;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString wordBreak; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString wordBreak;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString word-break;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString wordSpacing; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString wordSpacing;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString word-spacing;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString wordWrap; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString wordWrap;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString word-wrap;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString textOverflow; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString textOverflow;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-overflow;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString textAlign; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString textAlign;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-align;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString textDecoration; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString textDecoration;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-decoration;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString textIndent; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString textIndent;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-indent;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString textJustify; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString textJustify;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-justify;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString textOrientation; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString textOrientation;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-orientation;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString textRendering; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString textRendering;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-rendering;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString textTransform; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString textTransform;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-transform;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString font; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString font;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontFamily; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontFamily;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-family;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontSize; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontSize;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-size;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontStretch; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontStretch;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-stretch;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontStyle; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontVariant; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontVariant;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-variant;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontWeight; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontWeight;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-weight;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginBottom; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginBottom;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-bottom;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginLeft; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginLeft;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-left;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginRight; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginRight;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-right;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginTop; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginTop;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-top;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingBottom; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingBottom;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-bottom;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingLeft; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingLeft;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-left;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingRight; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingRight;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-right;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingTop; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingTop;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-top;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString outline; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString outline;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString outlineColor; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString outlineColor;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString outline-color;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString outlineStyle; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString outlineStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString outline-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString outlineWidth; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString outlineWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString outline-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString outlineOffset; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString outlineOffset;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString outline-offset;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString position; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString position;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString pointerEvents; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString pointerEvents;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString pointer-events;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString top; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString top;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString right; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString right;
@ -184,26 +274,40 @@ partial interface CSSStyleDeclaration {
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString height; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString height;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString minHeight; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString minHeight;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString min-height;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString maxHeight; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString maxHeight;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString max-height;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString width; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString minWidth; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString minWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString min-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString maxWidth; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString maxWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString max-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString zIndex; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString zIndex;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString z-index;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString imageRendering; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString imageRendering;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString image-rendering;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString columnCount; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString columnCount;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString column-count;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString columnWidth; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString columnWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString column-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString columns; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString columns;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString columnGap; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString columnGap;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString column-gap;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transition; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString transition;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transitionDuration; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString transitionDuration;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transition-duration;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transitionTimingFunction; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString transitionTimingFunction;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transition-timing-function;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transitionProperty; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString transitionProperty;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transition-property;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transitionDelay; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString transitionDelay;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transition-delay;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString flexDirection; [SetterThrows, TreatNullAs=EmptyString] attribute DOMString flexDirection;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex-direction;
}; };

View file

@ -115,6 +115,8 @@ interface TestBinding {
attribute (HTMLElement or long)? unionAttributeNullable; attribute (HTMLElement or long)? unionAttributeNullable;
attribute (Event or DOMString)? union2AttributeNullable; attribute (Event or DOMString)? union2AttributeNullable;
[BinaryName="BinaryRenamedAttribute"] attribute DOMString attrToBinaryRename; [BinaryName="BinaryRenamedAttribute"] attribute DOMString attrToBinaryRename;
[BinaryName="BinaryRenamedAttribute2"] attribute DOMString attr-to-binary-rename;
attribute DOMString attr-to-automatically-rename;
[PutForwards=booleanAttribute] [PutForwards=booleanAttribute]
readonly attribute TestBinding forwardedAttribute; readonly attribute TestBinding forwardedAttribute;

View file

@ -6585,6 +6585,9 @@ macro_rules! css_properties_accessors {
$macro_name! { $macro_name! {
% for property in SHORTHANDS + LONGHANDS: % for property in SHORTHANDS + LONGHANDS:
% if property.derived_from is None: % if property.derived_from is None:
% if '-' in property.name:
[${property.ident.capitalize()}, Set${property.ident.capitalize()}, "${property.name}"],
% endif
% if property != LONGHANDS[-1]: % if property != LONGHANDS[-1]:
[${property.camel_case}, Set${property.camel_case}, "${property.name}"], [${property.camel_case}, Set${property.camel_case}, "${property.name}"],
% else: % else: