diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2015-11-27 12:19:29 -0800 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2015-11-27 15:42:34 -0800 |
commit | c02c0576c821a95fa4a68c29d410566e99487dc9 (patch) | |
tree | 463220c6095eafc255f4b2e804fd2c67496afe07 /components/script | |
parent | 3720e4d5ef09d710deaf846c74356ccea8d7afce (diff) | |
download | servo-c02c0576c821a95fa4a68c29d410566e99487dc9.tar.gz servo-c02c0576c821a95fa4a68c29d410566e99487dc9.zip |
Compute attribute name atoms at compile-time.
Diffstat (limited to 'components/script')
25 files changed, 124 insertions, 159 deletions
diff --git a/components/script/dom/htmlanchorelement.rs b/components/script/dom/htmlanchorelement.rs index 0498b7a6388..cd6aa841068 100644 --- a/components/script/dom/htmlanchorelement.rs +++ b/components/script/dom/htmlanchorelement.rs @@ -86,25 +86,25 @@ impl HTMLAnchorElementMethods for HTMLAnchorElement { } // https://html.spec.whatwg.org/multipage/#dom-a-coords - make_getter!(Coords); + make_getter!(Coords, "coords"); // https://html.spec.whatwg.org/multipage/#dom-a-coords make_setter!(SetCoords, "coords"); // https://html.spec.whatwg.org/multipage/#dom-a-name - make_getter!(Name); + make_getter!(Name, "name"); // https://html.spec.whatwg.org/multipage/#dom-a-name make_setter!(SetName, "name"); // https://html.spec.whatwg.org/multipage/#dom-a-rev - make_getter!(Rev); + make_getter!(Rev, "rev"); // https://html.spec.whatwg.org/multipage/#dom-a-rev make_setter!(SetRev, "rev"); // https://html.spec.whatwg.org/multipage/#dom-a-shape - make_getter!(Shape); + make_getter!(Shape, "shape"); // https://html.spec.whatwg.org/multipage/#dom-a-shape make_setter!(SetShape, "shape"); diff --git a/components/script/dom/htmlappletelement.rs b/components/script/dom/htmlappletelement.rs index 9c197308e58..5f435b3c6c8 100644 --- a/components/script/dom/htmlappletelement.rs +++ b/components/script/dom/htmlappletelement.rs @@ -40,7 +40,7 @@ impl HTMLAppletElement { impl HTMLAppletElementMethods for HTMLAppletElement { // https://html.spec.whatwg.org/multipage/#the-applet-element:dom-applet-name - make_getter!(Name); + make_getter!(Name, "name"); // https://html.spec.whatwg.org/multipage/#the-applet-element:dom-applet-name make_atomic_setter!(SetName, "name"); diff --git a/components/script/dom/htmlbodyelement.rs b/components/script/dom/htmlbodyelement.rs index ffc4d0985d6..6c9a9f3be5d 100644 --- a/components/script/dom/htmlbodyelement.rs +++ b/components/script/dom/htmlbodyelement.rs @@ -60,7 +60,7 @@ impl HTMLBodyElementMethods for HTMLBodyElement { make_legacy_color_setter!(SetBgColor, "bgcolor"); // https://html.spec.whatwg.org/multipage/#dom-body-text - make_getter!(Text); + make_getter!(Text, "text"); // https://html.spec.whatwg.org/multipage/#dom-body-text make_legacy_color_setter!(SetText, "text"); diff --git a/components/script/dom/htmlbuttonelement.rs b/components/script/dom/htmlbuttonelement.rs index bd6d990c54c..d2358ad0ee5 100644 --- a/components/script/dom/htmlbuttonelement.rs +++ b/components/script/dom/htmlbuttonelement.rs @@ -71,7 +71,7 @@ impl HTMLButtonElementMethods for HTMLButtonElement { } // https://html.spec.whatwg.org/multipage/#dom-fe-disabled - make_bool_getter!(Disabled); + make_bool_getter!(Disabled, "disabled"); // https://html.spec.whatwg.org/multipage/#dom-fe-disabled make_bool_setter!(SetDisabled, "disabled"); @@ -82,44 +82,46 @@ impl HTMLButtonElementMethods for HTMLButtonElement { } // https://html.spec.whatwg.org/multipage/#dom-button-type - make_enumerated_getter!(Type, "submit", ("reset") | ("button") | ("menu")); + make_enumerated_getter!(Type, "type", "submit", ("reset") | ("button") | ("menu")); // https://html.spec.whatwg.org/multipage/#dom-button-type make_setter!(SetType, "type"); // https://html.spec.whatwg.org/multipage/#dom-fs-formaction - make_url_or_base_getter!(FormAction); + make_url_or_base_getter!(FormAction, "formaction"); // https://html.spec.whatwg.org/multipage/#dom-fs-formaction make_setter!(SetFormAction, "formaction"); // https://html.spec.whatwg.org/multipage/#dom-fs-formenctype - make_enumerated_getter!( - FormEnctype, "application/x-www-form-urlencoded", ("text/plain") | ("multipart/form-data")); + make_enumerated_getter!(FormEnctype, + "formenctype", + "application/x-www-form-urlencoded", + ("text/plain") | ("multipart/form-data")); // https://html.spec.whatwg.org/multipage/#dom-fs-formenctype make_setter!(SetFormEnctype, "formenctype"); // https://html.spec.whatwg.org/multipage/#dom-fs-formmethod - make_enumerated_getter!(FormMethod, "get", ("post") | ("dialog")); + make_enumerated_getter!(FormMethod, "formmethod", "get", ("post") | ("dialog")); // https://html.spec.whatwg.org/multipage/#dom-fs-formmethod make_setter!(SetFormMethod, "formmethod"); // https://html.spec.whatwg.org/multipage/#dom-fs-formtarget - make_getter!(FormTarget); + make_getter!(FormTarget, "formtarget"); // https://html.spec.whatwg.org/multipage/#dom-fs-formtarget make_setter!(SetFormTarget, "formtarget"); // https://html.spec.whatwg.org/multipage/#dom-fe-name - make_getter!(Name); + make_getter!(Name, "name"); // https://html.spec.whatwg.org/multipage/#dom-fe-name make_setter!(SetName, "name"); // https://html.spec.whatwg.org/multipage/#dom-button-value - make_getter!(Value); + make_getter!(Value, "value"); // https://html.spec.whatwg.org/multipage/#dom-button-value make_setter!(SetValue, "value"); diff --git a/components/script/dom/htmldialogelement.rs b/components/script/dom/htmldialogelement.rs index d52d564d74b..108e9cbc4ea 100644 --- a/components/script/dom/htmldialogelement.rs +++ b/components/script/dom/htmldialogelement.rs @@ -39,7 +39,7 @@ impl HTMLDialogElement { impl HTMLDialogElementMethods for HTMLDialogElement { // https://html.spec.whatwg.org/multipage/#dom-dialog-open - make_bool_getter!(Open); + make_bool_getter!(Open, "open"); // https://html.spec.whatwg.org/multipage/#dom-dialog-open make_bool_setter!(SetOpen, "open"); diff --git a/components/script/dom/htmldivelement.rs b/components/script/dom/htmldivelement.rs index 22ebca4b893..6d682317e65 100644 --- a/components/script/dom/htmldivelement.rs +++ b/components/script/dom/htmldivelement.rs @@ -34,7 +34,7 @@ impl HTMLDivElement { impl HTMLDivElementMethods for HTMLDivElement { // https://html.spec.whatwg.org/multipage/#dom-div-align - make_getter!(Align); + make_getter!(Align, "align"); // https://html.spec.whatwg.org/multipage/#dom-div-align make_setter!(SetAlign, "align"); diff --git a/components/script/dom/htmlelement.rs b/components/script/dom/htmlelement.rs index 8fcd4fe7905..c40b4477e5a 100644 --- a/components/script/dom/htmlelement.rs +++ b/components/script/dom/htmlelement.rs @@ -129,17 +129,17 @@ impl HTMLElementMethods for HTMLElement { } // https://html.spec.whatwg.org/multipage/#attr-title - make_getter!(Title); + make_getter!(Title, "title"); // https://html.spec.whatwg.org/multipage/#attr-title make_setter!(SetTitle, "title"); // https://html.spec.whatwg.org/multipage/#attr-lang - make_getter!(Lang); + make_getter!(Lang, "lang"); // https://html.spec.whatwg.org/multipage/#attr-lang make_setter!(SetLang, "lang"); // https://html.spec.whatwg.org/multipage/#dom-hidden - make_bool_getter!(Hidden); + make_bool_getter!(Hidden, "hidden"); // https://html.spec.whatwg.org/multipage/#dom-hidden make_bool_setter!(SetHidden, "hidden"); diff --git a/components/script/dom/htmlfieldsetelement.rs b/components/script/dom/htmlfieldsetelement.rs index 9a2c3a611d7..a2c45a1b46c 100644 --- a/components/script/dom/htmlfieldsetelement.rs +++ b/components/script/dom/htmlfieldsetelement.rs @@ -68,7 +68,7 @@ impl HTMLFieldSetElementMethods for HTMLFieldSetElement { } // https://html.spec.whatwg.org/multipage/#dom-fieldset-disabled - make_bool_getter!(Disabled); + make_bool_getter!(Disabled, "disabled"); // https://html.spec.whatwg.org/multipage/#dom-fieldset-disabled make_bool_setter!(SetDisabled, "disabled"); diff --git a/components/script/dom/htmlfontelement.rs b/components/script/dom/htmlfontelement.rs index e5e6755d48e..c8faf248f41 100644 --- a/components/script/dom/htmlfontelement.rs +++ b/components/script/dom/htmlfontelement.rs @@ -47,13 +47,13 @@ impl HTMLFontElementMethods for HTMLFontElement { make_legacy_color_setter!(SetColor, "color"); // https://html.spec.whatwg.org/multipage/#dom-font-face - make_getter!(Face); + make_getter!(Face, "face"); // https://html.spec.whatwg.org/multipage/#dom-font-face make_atomic_setter!(SetFace, "face"); // https://html.spec.whatwg.org/multipage/#dom-font-size - make_getter!(Size); + make_getter!(Size, "size"); // https://html.spec.whatwg.org/multipage/#dom-font-size fn SetSize(&self, value: DOMString) { diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs index 6a332b14694..6d37719a862 100644 --- a/components/script/dom/htmlformelement.rs +++ b/components/script/dom/htmlformelement.rs @@ -75,19 +75,22 @@ impl HTMLFormElementMethods for HTMLFormElement { make_setter!(SetAcceptCharset, "accept-charset"); // https://html.spec.whatwg.org/multipage/#dom-fs-action - make_url_or_base_getter!(Action); + make_url_or_base_getter!(Action, "action"); // https://html.spec.whatwg.org/multipage/#dom-fs-action make_setter!(SetAction, "action"); // https://html.spec.whatwg.org/multipage/#dom-form-autocomplete - make_enumerated_getter!(Autocomplete, "on", ("off")); + make_enumerated_getter!(Autocomplete, "autocomplete", "on", ("off")); // https://html.spec.whatwg.org/multipage/#dom-form-autocomplete make_setter!(SetAutocomplete, "autocomplete"); // https://html.spec.whatwg.org/multipage/#dom-fs-enctype - make_enumerated_getter!(Enctype, "application/x-www-form-urlencoded", ("text/plain") | ("multipart/form-data")); + make_enumerated_getter!(Enctype, + "enctype", + "application/x-www-form-urlencoded", + ("text/plain") | ("multipart/form-data")); // https://html.spec.whatwg.org/multipage/#dom-fs-enctype make_setter!(SetEnctype, "enctype"); @@ -103,25 +106,25 @@ impl HTMLFormElementMethods for HTMLFormElement { } // https://html.spec.whatwg.org/multipage/#dom-fs-method - make_enumerated_getter!(Method, "get", ("post") | ("dialog")); + make_enumerated_getter!(Method, "method", "get", ("post") | ("dialog")); // https://html.spec.whatwg.org/multipage/#dom-fs-method make_setter!(SetMethod, "method"); // https://html.spec.whatwg.org/multipage/#dom-form-name - make_getter!(Name); + make_getter!(Name, "name"); // https://html.spec.whatwg.org/multipage/#dom-form-name make_atomic_setter!(SetName, "name"); // https://html.spec.whatwg.org/multipage/#dom-fs-novalidate - make_bool_getter!(NoValidate); + make_bool_getter!(NoValidate, "novalidate"); // https://html.spec.whatwg.org/multipage/#dom-fs-novalidate make_bool_setter!(SetNoValidate, "novalidate"); // https://html.spec.whatwg.org/multipage/#dom-fs-target - make_getter!(Target); + make_getter!(Target, "target"); // https://html.spec.whatwg.org/multipage/#dom-fs-target make_setter!(SetTarget, "target"); diff --git a/components/script/dom/htmlhrelement.rs b/components/script/dom/htmlhrelement.rs index 20e852ca021..84c409506e8 100644 --- a/components/script/dom/htmlhrelement.rs +++ b/components/script/dom/htmlhrelement.rs @@ -38,13 +38,13 @@ impl HTMLHRElement { impl HTMLHRElementMethods for HTMLHRElement { // https://html.spec.whatwg.org/multipage/#dom-hr-color - make_getter!(Color); + make_getter!(Color, "color"); // https://html.spec.whatwg.org/multipage/#dom-hr-color make_legacy_color_setter!(SetColor, "color"); // https://html.spec.whatwg.org/multipage/#dom-hr-width - make_getter!(Width); + make_getter!(Width, "width"); // https://html.spec.whatwg.org/multipage/#dom-hr-width make_dimension_setter!(SetWidth, "width"); diff --git a/components/script/dom/htmliframeelement.rs b/components/script/dom/htmliframeelement.rs index 16d263fd08c..66bade67a7d 100644 --- a/components/script/dom/htmliframeelement.rs +++ b/components/script/dom/htmliframeelement.rs @@ -380,12 +380,12 @@ impl HTMLIFrameElementMethods for HTMLIFrameElement { } // https://html.spec.whatwg.org/multipage/#dom-dim-width - make_getter!(Width); + make_getter!(Width, "width"); // https://html.spec.whatwg.org/multipage/#dom-dim-width make_setter!(SetWidth, "width"); // https://html.spec.whatwg.org/multipage/#dom-dim-height - make_getter!(Height); + make_getter!(Height, "height"); // https://html.spec.whatwg.org/multipage/#dom-dim-height make_setter!(SetHeight, "height"); } diff --git a/components/script/dom/htmlimageelement.rs b/components/script/dom/htmlimageelement.rs index cf35d045353..06603de0e00 100644 --- a/components/script/dom/htmlimageelement.rs +++ b/components/script/dom/htmlimageelement.rs @@ -182,22 +182,22 @@ impl LayoutHTMLImageElementHelpers for LayoutJS<HTMLImageElement> { impl HTMLImageElementMethods for HTMLImageElement { // https://html.spec.whatwg.org/multipage/#dom-img-alt - make_getter!(Alt); + make_getter!(Alt, "alt"); // https://html.spec.whatwg.org/multipage/#dom-img-alt make_setter!(SetAlt, "alt"); // https://html.spec.whatwg.org/multipage/#dom-img-src - make_url_getter!(Src); + make_url_getter!(Src, "src"); // https://html.spec.whatwg.org/multipage/#dom-img-src make_setter!(SetSrc, "src"); // https://html.spec.whatwg.org/multipage/#dom-img-usemap - make_getter!(UseMap); + make_getter!(UseMap, "usemap"); // https://html.spec.whatwg.org/multipage/#dom-img-usemap make_setter!(SetUseMap, "usemap"); // https://html.spec.whatwg.org/multipage/#dom-img-ismap - make_bool_getter!(IsMap); + make_bool_getter!(IsMap, "ismap"); // https://html.spec.whatwg.org/multipage/#dom-img-ismap make_bool_setter!(SetIsMap, "ismap"); @@ -248,37 +248,37 @@ impl HTMLImageElementMethods for HTMLImageElement { } // https://html.spec.whatwg.org/multipage/#dom-img-name - make_getter!(Name); + make_getter!(Name, "name"); // https://html.spec.whatwg.org/multipage/#dom-img-name make_atomic_setter!(SetName, "name"); // https://html.spec.whatwg.org/multipage/#dom-img-align - make_getter!(Align); + make_getter!(Align, "align"); // https://html.spec.whatwg.org/multipage/#dom-img-align make_setter!(SetAlign, "align"); // https://html.spec.whatwg.org/multipage/#dom-img-hspace - make_uint_getter!(Hspace); + make_uint_getter!(Hspace, "hspace"); // https://html.spec.whatwg.org/multipage/#dom-img-hspace make_uint_setter!(SetHspace, "hspace"); // https://html.spec.whatwg.org/multipage/#dom-img-vspace - make_uint_getter!(Vspace); + make_uint_getter!(Vspace, "vspace"); // https://html.spec.whatwg.org/multipage/#dom-img-vspace make_uint_setter!(SetVspace, "vspace"); // https://html.spec.whatwg.org/multipage/#dom-img-longdesc - make_getter!(LongDesc); + make_getter!(LongDesc, "longdesc"); // https://html.spec.whatwg.org/multipage/#dom-img-longdesc make_setter!(SetLongDesc, "longdesc"); // https://html.spec.whatwg.org/multipage/#dom-img-border - make_getter!(Border); + make_getter!(Border, "border"); // https://html.spec.whatwg.org/multipage/#dom-img-border make_setter!(SetBorder, "border"); diff --git a/components/script/dom/htmlinputelement.rs b/components/script/dom/htmlinputelement.rs index 14391ae3170..524f70e1288 100644 --- a/components/script/dom/htmlinputelement.rs +++ b/components/script/dom/htmlinputelement.rs @@ -227,7 +227,7 @@ impl LayoutHTMLInputElementHelpers for LayoutJS<HTMLInputElement> { impl HTMLInputElementMethods for HTMLInputElement { // https://html.spec.whatwg.org/multipage/#dom-fe-disabled - make_bool_getter!(Disabled); + make_bool_getter!(Disabled, "disabled"); // https://html.spec.whatwg.org/multipage/#dom-fe-disabled make_bool_setter!(SetDisabled, "disabled"); @@ -254,7 +254,7 @@ impl HTMLInputElementMethods for HTMLInputElement { } // https://html.spec.whatwg.org/multipage/#dom-input-readonly - make_bool_getter!(ReadOnly); + make_bool_getter!(ReadOnly, "readonly"); // https://html.spec.whatwg.org/multipage/#dom-input-readonly make_bool_setter!(SetReadOnly, "readonly"); @@ -266,13 +266,16 @@ impl HTMLInputElementMethods for HTMLInputElement { make_limited_uint_setter!(SetSize, "size", DEFAULT_INPUT_SIZE); // https://html.spec.whatwg.org/multipage/#dom-input-type - make_enumerated_getter!(Type, "text", ("hidden") | ("search") | ("tel") | - ("url") | ("email") | ("password") | - ("datetime") | ("date") | ("month") | - ("week") | ("time") | ("datetime-local") | - ("number") | ("range") | ("color") | - ("checkbox") | ("radio") | ("file") | - ("submit") | ("image") | ("reset") | ("button")); + make_enumerated_getter!(Type, + "type", + "text", + ("hidden") | ("search") | ("tel") | + ("url") | ("email") | ("password") | + ("datetime") | ("date") | ("month") | + ("week") | ("time") | ("datetime-local") | + ("number") | ("range") | ("color") | + ("checkbox") | ("radio") | ("file") | + ("submit") | ("image") | ("reset") | ("button")); // https://html.spec.whatwg.org/multipage/#dom-input-type make_atomic_setter!(SetType, "type"); @@ -296,38 +299,40 @@ impl HTMLInputElementMethods for HTMLInputElement { make_setter!(SetDefaultValue, "value"); // https://html.spec.whatwg.org/multipage/#attr-fe-name - make_getter!(Name); + make_getter!(Name, "name"); // https://html.spec.whatwg.org/multipage/#attr-fe-name make_atomic_setter!(SetName, "name"); // https://html.spec.whatwg.org/multipage/#attr-input-placeholder - make_getter!(Placeholder); + make_getter!(Placeholder, "placeholder"); // https://html.spec.whatwg.org/multipage/#attr-input-placeholder make_setter!(SetPlaceholder, "placeholder"); // https://html.spec.whatwg.org/multipage/#dom-input-formaction - make_url_or_base_getter!(FormAction); + make_url_or_base_getter!(FormAction, "formaction"); // https://html.spec.whatwg.org/multipage/#dom-input-formaction make_setter!(SetFormAction, "formaction"); // https://html.spec.whatwg.org/multipage/#dom-input-formenctype - make_enumerated_getter!( - FormEnctype, "application/x-www-form-urlencoded", ("text/plain") | ("multipart/form-data")); + make_enumerated_getter!(FormEnctype, + "formenctype", + "application/x-www-form-urlencoded", + ("text/plain") | ("multipart/form-data")); // https://html.spec.whatwg.org/multipage/#dom-input-formenctype make_setter!(SetFormEnctype, "formenctype"); // https://html.spec.whatwg.org/multipage/#dom-input-formmethod - make_enumerated_getter!(FormMethod, "get", ("post") | ("dialog")); + make_enumerated_getter!(FormMethod, "formmethod", "get", ("post") | ("dialog")); // https://html.spec.whatwg.org/multipage/#dom-input-formmethod make_setter!(SetFormMethod, "formmethod"); // https://html.spec.whatwg.org/multipage/#dom-input-formtarget - make_getter!(FormTarget); + make_getter!(FormTarget, "formtarget"); // https://html.spec.whatwg.org/multipage/#dom-input-formtarget make_setter!(SetFormTarget, "formtarget"); diff --git a/components/script/dom/htmllinkelement.rs b/components/script/dom/htmllinkelement.rs index 2687d758948..b368bff3f26 100644 --- a/components/script/dom/htmllinkelement.rs +++ b/components/script/dom/htmllinkelement.rs @@ -311,31 +311,31 @@ impl AsyncResponseListener for StylesheetContext { impl HTMLLinkElementMethods for HTMLLinkElement { // https://html.spec.whatwg.org/multipage/#dom-link-href - make_url_getter!(Href); + make_url_getter!(Href, "href"); // https://html.spec.whatwg.org/multipage/#dom-link-href make_setter!(SetHref, "href"); // https://html.spec.whatwg.org/multipage/#dom-link-rel - make_getter!(Rel); + make_getter!(Rel, "rel"); // https://html.spec.whatwg.org/multipage/#dom-link-rel make_setter!(SetRel, "rel"); // https://html.spec.whatwg.org/multipage/#dom-link-media - make_getter!(Media); + make_getter!(Media, "media"); // https://html.spec.whatwg.org/multipage/#dom-link-media make_setter!(SetMedia, "media"); // https://html.spec.whatwg.org/multipage/#dom-link-hreflang - make_getter!(Hreflang); + make_getter!(Hreflang, "hreflang"); // https://html.spec.whatwg.org/multipage/#dom-link-hreflang make_setter!(SetHreflang, "hreflang"); // https://html.spec.whatwg.org/multipage/#dom-link-type - make_getter!(Type); + make_getter!(Type, "type"); // https://html.spec.whatwg.org/multipage/#dom-link-type make_setter!(SetType, "type"); @@ -346,19 +346,19 @@ impl HTMLLinkElementMethods for HTMLLinkElement { } // https://html.spec.whatwg.org/multipage/#dom-link-charset - make_getter!(Charset); + make_getter!(Charset, "charset"); // https://html.spec.whatwg.org/multipage/#dom-link-charset make_setter!(SetCharset, "charset"); // https://html.spec.whatwg.org/multipage/#dom-link-rev - make_getter!(Rev); + make_getter!(Rev, "rev"); // https://html.spec.whatwg.org/multipage/#dom-link-rev make_setter!(SetRev, "rev"); // https://html.spec.whatwg.org/multipage/#dom-link-target - make_getter!(Target); + make_getter!(Target, "target"); // https://html.spec.whatwg.org/multipage/#dom-link-target make_setter!(SetTarget, "target"); diff --git a/components/script/dom/htmlobjectelement.rs b/components/script/dom/htmlobjectelement.rs index d1fc1c2367b..0bbb86b5ffc 100644 --- a/components/script/dom/htmlobjectelement.rs +++ b/components/script/dom/htmlobjectelement.rs @@ -79,7 +79,7 @@ impl HTMLObjectElementMethods for HTMLObjectElement { } // https://html.spec.whatwg.org/multipage/#dom-object-type - make_getter!(Type); + make_getter!(Type, "type"); // https://html.spec.whatwg.org/multipage/#dom-object-type make_setter!(SetType, "type"); diff --git a/components/script/dom/htmloptgroupelement.rs b/components/script/dom/htmloptgroupelement.rs index 80bbab1f36a..3b146e62091 100644 --- a/components/script/dom/htmloptgroupelement.rs +++ b/components/script/dom/htmloptgroupelement.rs @@ -43,7 +43,7 @@ impl HTMLOptGroupElement { impl HTMLOptGroupElementMethods for HTMLOptGroupElement { // https://html.spec.whatwg.org/multipage/#dom-optgroup-disabled - make_bool_getter!(Disabled); + make_bool_getter!(Disabled, "disabled"); // https://html.spec.whatwg.org/multipage/#dom-optgroup-disabled make_bool_setter!(SetDisabled, "disabled"); diff --git a/components/script/dom/htmloptionelement.rs b/components/script/dom/htmloptionelement.rs index 22fe44c0d2f..c73138be9c0 100644 --- a/components/script/dom/htmloptionelement.rs +++ b/components/script/dom/htmloptionelement.rs @@ -90,7 +90,7 @@ fn collect_text(element: &Element, value: &mut String) { impl HTMLOptionElementMethods for HTMLOptionElement { // https://html.spec.whatwg.org/multipage/#dom-option-disabled - make_bool_getter!(Disabled); + make_bool_getter!(Disabled, "disabled"); // https://html.spec.whatwg.org/multipage/#dom-option-disabled make_bool_setter!(SetDisabled, "disabled"); diff --git a/components/script/dom/htmlscriptelement.rs b/components/script/dom/htmlscriptelement.rs index 62c850c9942..d162605baec 100644 --- a/components/script/dom/htmlscriptelement.rs +++ b/components/script/dom/htmlscriptelement.rs @@ -609,7 +609,7 @@ impl VirtualMethods for HTMLScriptElement { impl HTMLScriptElementMethods for HTMLScriptElement { // https://html.spec.whatwg.org/multipage/#dom-script-src - make_url_getter!(Src); + make_url_getter!(Src, "src"); // https://html.spec.whatwg.org/multipage/#dom-script-src make_setter!(SetSrc, "src"); diff --git a/components/script/dom/htmlselectelement.rs b/components/script/dom/htmlselectelement.rs index 73365e427a6..903237b46ea 100644 --- a/components/script/dom/htmlselectelement.rs +++ b/components/script/dom/htmlselectelement.rs @@ -122,7 +122,7 @@ impl HTMLSelectElementMethods for HTMLSelectElement { } // https://html.spec.whatwg.org/multipage/#dom-fe-disabled - make_bool_getter!(Disabled); + make_bool_getter!(Disabled, "disabled"); // https://html.spec.whatwg.org/multipage/#dom-fe-disabled make_bool_setter!(SetDisabled, "disabled"); @@ -133,13 +133,13 @@ impl HTMLSelectElementMethods for HTMLSelectElement { } // https://html.spec.whatwg.org/multipage/#dom-select-multiple - make_bool_getter!(Multiple); + make_bool_getter!(Multiple, "multiple"); // https://html.spec.whatwg.org/multipage/#dom-select-multiple make_bool_setter!(SetMultiple, "multiple"); // https://html.spec.whatwg.org/multipage/#dom-fe-name - make_getter!(Name); + make_getter!(Name, "name"); // https://html.spec.whatwg.org/multipage/#dom-fe-name make_setter!(SetName, "name"); diff --git a/components/script/dom/htmltablecellelement.rs b/components/script/dom/htmltablecellelement.rs index 86621953da3..25a0806b10d 100644 --- a/components/script/dom/htmltablecellelement.rs +++ b/components/script/dom/htmltablecellelement.rs @@ -51,7 +51,7 @@ impl HTMLTableCellElementMethods for HTMLTableCellElement { make_uint_setter!(SetColSpan, "colspan", DEFAULT_COLSPAN); // https://html.spec.whatwg.org/multipage/#dom-tdth-bgcolor - make_getter!(BgColor); + make_getter!(BgColor, "bgcolor"); // https://html.spec.whatwg.org/multipage/#dom-tdth-bgcolor make_legacy_color_setter!(SetBgColor, "bgcolor"); diff --git a/components/script/dom/htmltableelement.rs b/components/script/dom/htmltableelement.rs index f2053d8aff4..b4c87d54866 100644 --- a/components/script/dom/htmltableelement.rs +++ b/components/script/dom/htmltableelement.rs @@ -111,13 +111,13 @@ impl HTMLTableElementMethods for HTMLTableElement { } // https://html.spec.whatwg.org/multipage/#dom-table-bgcolor - make_getter!(BgColor); + make_getter!(BgColor, "bgcolor"); // https://html.spec.whatwg.org/multipage/#dom-table-bgcolor make_setter!(SetBgColor, "bgcolor"); // https://html.spec.whatwg.org/multipage/#dom-table-width - make_getter!(Width); + make_getter!(Width, "width"); // https://html.spec.whatwg.org/multipage/#dom-table-width make_dimension_setter!(SetWidth, "width"); diff --git a/components/script/dom/htmltablerowelement.rs b/components/script/dom/htmltablerowelement.rs index 78804f39bbb..7f35b88c4dc 100644 --- a/components/script/dom/htmltablerowelement.rs +++ b/components/script/dom/htmltablerowelement.rs @@ -56,7 +56,7 @@ impl HTMLTableRowElement { impl HTMLTableRowElementMethods for HTMLTableRowElement { // https://html.spec.whatwg.org/multipage/#dom-tr-bgcolor - make_getter!(BgColor); + make_getter!(BgColor, "bgcolor"); // https://html.spec.whatwg.org/multipage/#dom-tr-bgcolor make_legacy_color_setter!(SetBgColor, "bgcolor"); diff --git a/components/script/dom/htmltextareaelement.rs b/components/script/dom/htmltextareaelement.rs index 5ce5cf7e98e..d4e1729f662 100644 --- a/components/script/dom/htmltextareaelement.rs +++ b/components/script/dom/htmltextareaelement.rs @@ -126,7 +126,7 @@ impl HTMLTextAreaElementMethods for HTMLTextAreaElement { make_limited_uint_setter!(SetCols, "cols", DEFAULT_COLS); // https://html.spec.whatwg.org/multipage/#dom-fe-disabled - make_bool_getter!(Disabled); + make_bool_getter!(Disabled, "disabled"); // https://html.spec.whatwg.org/multipage/#dom-fe-disabled make_bool_setter!(SetDisabled, "disabled"); @@ -137,25 +137,25 @@ impl HTMLTextAreaElementMethods for HTMLTextAreaElement { } // https://html.spec.whatwg.org/multipage/#attr-fe-name - make_getter!(Name); + make_getter!(Name, "name"); // https://html.spec.whatwg.org/multipage/#attr-fe-name make_setter!(SetName, "name"); // https://html.spec.whatwg.org/multipage/#dom-textarea-placeholder - make_getter!(Placeholder); + make_getter!(Placeholder, "placeholder"); // https://html.spec.whatwg.org/multipage/#dom-textarea-placeholder make_setter!(SetPlaceholder, "placeholder"); // https://html.spec.whatwg.org/multipage/#attr-textarea-readonly - make_bool_getter!(ReadOnly); + make_bool_getter!(ReadOnly, "readonly"); // https://html.spec.whatwg.org/multipage/#attr-textarea-readonly make_bool_setter!(SetReadOnly, "readonly"); // https://html.spec.whatwg.org/multipage/#dom-textarea-required - make_bool_getter!(Required); + make_bool_getter!(Required, "required"); // https://html.spec.whatwg.org/multipage/#dom-textarea-required make_bool_setter!(SetRequired, "required"); @@ -167,7 +167,7 @@ impl HTMLTextAreaElementMethods for HTMLTextAreaElement { make_limited_uint_setter!(SetRows, "rows", DEFAULT_ROWS); // https://html.spec.whatwg.org/multipage/#dom-textarea-wrap - make_getter!(Wrap); + make_getter!(Wrap, "wrap"); // https://html.spec.whatwg.org/multipage/#dom-textarea-wrap make_setter!(SetWrap, "wrap"); diff --git a/components/script/dom/macros.rs b/components/script/dom/macros.rs index cdfeebc01cb..166b52d82d5 100644 --- a/components/script/dom/macros.rs +++ b/components/script/dom/macros.rs @@ -4,84 +4,63 @@ #[macro_export] macro_rules! make_getter( - ( $attr:ident, $htmlname:expr ) => ( + ( $attr:ident, $htmlname:tt ) => ( fn $attr(&self) -> DOMString { use dom::bindings::inheritance::Castable; use dom::element::Element; - use string_cache::Atom; let element = self.upcast::<Element>(); - element.get_string_attribute(&Atom::from($htmlname)) + element.get_string_attribute(&atom!($htmlname)) } ); - ($attr:ident) => { - make_getter!($attr, to_lower!(stringify!($attr))); - } ); #[macro_export] macro_rules! make_bool_getter( - ( $attr:ident, $htmlname:expr ) => ( + ( $attr:ident, $htmlname:tt ) => ( fn $attr(&self) -> bool { use dom::bindings::inheritance::Castable; use dom::element::Element; - use string_cache::Atom; let element = self.upcast::<Element>(); - // FIXME(pcwalton): Do this at compile time, not runtime. - element.has_attribute(&Atom::from($htmlname)) + element.has_attribute(&atom!($htmlname)) } ); - ($attr:ident) => { - make_bool_getter!($attr, to_lower!(stringify!($attr))); - } ); #[macro_export] macro_rules! make_uint_getter( - ($attr:ident, $htmlname:expr, $default:expr) => ( + ($attr:ident, $htmlname:tt, $default:expr) => ( fn $attr(&self) -> u32 { use dom::bindings::inheritance::Castable; use dom::element::Element; - use string_cache::Atom; let element = self.upcast::<Element>(); - // FIXME(pcwalton): Do this at compile time, not runtime. - element.get_uint_attribute(&Atom::from($htmlname), $default) + element.get_uint_attribute(&atom!($htmlname), $default) } ); - ($attr:ident, $htmlname:expr) => { + ($attr:ident, $htmlname:tt) => { make_uint_getter!($attr, $htmlname, 0); }; - ($attr:ident) => { - make_uint_getter!($attr, to_lower!(stringify!($attr))); - } ); #[macro_export] macro_rules! make_url_getter( - ( $attr:ident, $htmlname:expr ) => ( + ( $attr:ident, $htmlname:tt ) => ( fn $attr(&self) -> DOMString { use dom::bindings::inheritance::Castable; use dom::element::Element; - use string_cache::Atom; let element = self.upcast::<Element>(); - // FIXME(pcwalton): Do this at compile time, not runtime. - element.get_url_attribute(&Atom::from($htmlname)) + element.get_url_attribute(&atom!($htmlname)) } ); - ($attr:ident) => { - // FIXME(pcwalton): Do this at compile time, not runtime. - make_url_getter!($attr, to_lower!(stringify!($attr))); - } ); #[macro_export] macro_rules! make_url_or_base_getter( - ( $attr:ident, $htmlname:expr ) => ( + ( $attr:ident, $htmlname:tt ) => ( fn $attr(&self) -> DOMString { use dom::bindings::inheritance::Castable; use dom::element::Element; - use string_cache::Atom; let element = self.upcast::<Element>(); - let url = element.get_url_attribute(&Atom::from($htmlname)); + let url = element.get_url_attribute(&atom!($htmlname)); if url.is_empty() { let window = window_from_node(self); DOMString::from(window.get_url().serialize()) @@ -90,21 +69,17 @@ macro_rules! make_url_or_base_getter( } } ); - ($attr:ident) => { - make_url_or_base_getter!($attr, to_lower!(stringify!($attr))); - } ); #[macro_export] macro_rules! make_enumerated_getter( - ( $attr:ident, $htmlname:expr, $default:expr, $(($choices: pat))|+) => ( + ( $attr:ident, $htmlname:tt, $default:expr, $(($choices: pat))|+) => ( fn $attr(&self) -> DOMString { use dom::bindings::inheritance::Castable; use dom::element::Element; use std::ascii::AsciiExt; - use string_cache::Atom; let element = self.upcast::<Element>(); - let mut val = element.get_string_attribute(&Atom::from(*$htmlname)); + let mut val = element.get_string_attribute(&atom!($htmlname)); val.make_ascii_lowercase(); // https://html.spec.whatwg.org/multipage/#attr-fs-method match &*val { @@ -113,72 +88,62 @@ macro_rules! make_enumerated_getter( } } ); - ($attr:ident, $default:expr, $(($choices: pat))|+) => { - make_enumerated_getter!($attr, &to_lower!(stringify!($attr)), $default, $(($choices))|+); - } ); // concat_idents! doesn't work for function name positions, so // we have to specify both the content name and the HTML name here #[macro_export] macro_rules! make_setter( - ( $attr:ident, $htmlname:expr ) => ( + ( $attr:ident, $htmlname:tt ) => ( fn $attr(&self, value: DOMString) { use dom::bindings::inheritance::Castable; use dom::element::Element; - use string_cache::Atom; let element = self.upcast::<Element>(); - // FIXME(pcwalton): Do this at compile time, not at runtime. - element.set_string_attribute(&Atom::from($htmlname), value) + element.set_string_attribute(&atom!($htmlname), value) } ); ); #[macro_export] macro_rules! make_bool_setter( - ( $attr:ident, $htmlname:expr ) => ( + ( $attr:ident, $htmlname:tt ) => ( fn $attr(&self, value: bool) { use dom::bindings::inheritance::Castable; use dom::element::Element; - use string_cache::Atom; let element = self.upcast::<Element>(); - // FIXME(pcwalton): Do this at compile time, not at runtime. - element.set_bool_attribute(&Atom::from($htmlname), value) + element.set_bool_attribute(&atom!($htmlname), value) } ); ); #[macro_export] macro_rules! make_uint_setter( - ($attr:ident, $htmlname:expr, $default:expr) => ( + ($attr:ident, $htmlname:tt, $default:expr) => ( fn $attr(&self, value: u32) { use dom::bindings::inheritance::Castable; use dom::element::Element; use dom::values::UNSIGNED_LONG_MAX; - use string_cache::Atom; let value = if value > UNSIGNED_LONG_MAX { $default } else { value }; let element = self.upcast::<Element>(); - // FIXME(pcwalton): Do this at compile time, not at runtime. - element.set_uint_attribute(&Atom::from($htmlname), value) + element.set_uint_attribute(&atom!($htmlname), value) } ); - ($attr:ident, $htmlname:expr) => { + ($attr:ident, $htmlname:tt) => { make_uint_setter!($attr, $htmlname, 0); }; ); #[macro_export] macro_rules! make_limited_uint_setter( - ($attr:ident, $htmlname:expr, $default:expr) => ( + ($attr:ident, $htmlname:tt, $default:expr) => ( fn $attr(&self, value: u32) -> $crate::dom::bindings::error::ErrorResult { use dom::bindings::inheritance::Castable; use dom::element::Element; use dom::values::UNSIGNED_LONG_MAX; - use string_cache::Atom; let value = if value == 0 { return Err($crate::dom::bindings::error::Error::IndexSize); } else if value > UNSIGNED_LONG_MAX { @@ -187,60 +152,50 @@ macro_rules! make_limited_uint_setter( value }; let element = self.upcast::<Element>(); - // FIXME(pcwalton): Do this at compile time, not runtime. - element.set_uint_attribute(&Atom::from($htmlname), value); + element.set_uint_attribute(&atom!($htmlname), value); Ok(()) } ); - ($attr:ident, $htmlname:expr) => { + ($attr:ident, $htmlname:tt) => { make_limited_uint_setter!($attr, $htmlname, 1); }; - ($attr:ident) => { - make_limited_uint_setter!($attr, to_lower!(stringify!($attr))); - }; ); #[macro_export] macro_rules! make_atomic_setter( - ( $attr:ident, $htmlname:expr ) => ( + ( $attr:ident, $htmlname:tt ) => ( fn $attr(&self, value: DOMString) { use dom::bindings::inheritance::Castable; use dom::element::Element; - use string_cache::Atom; let element = self.upcast::<Element>(); - // FIXME(pcwalton): Do this at compile time, not at runtime. - element.set_atomic_attribute(&Atom::from($htmlname), value) + element.set_atomic_attribute(&atom!($htmlname), value) } ); ); #[macro_export] macro_rules! make_legacy_color_setter( - ( $attr:ident, $htmlname:expr ) => ( + ( $attr:ident, $htmlname:tt ) => ( fn $attr(&self, value: DOMString) { use dom::attr::AttrValue; use dom::bindings::inheritance::Castable; use dom::element::Element; - use string_cache::Atom; let element = self.upcast::<Element>(); let value = AttrValue::from_legacy_color(value); - // FIXME(pcwalton): Do this at compile time, not at runtime. - element.set_attribute(&Atom::from($htmlname), value) + element.set_attribute(&atom!($htmlname), value) } ); ); #[macro_export] macro_rules! make_dimension_setter( - ( $attr:ident, $htmlname:expr ) => ( + ( $attr:ident, $htmlname:tt ) => ( fn $attr(&self, value: DOMString) { use dom::bindings::inheritance::Castable; use dom::element::Element; - use string_cache::Atom; let element = self.upcast::<Element>(); let value = AttrValue::from_dimension(value); - // FIXME(pcwalton): Do this at compile time, not at runtime. - element.set_attribute(&Atom::from($htmlname), value) + element.set_attribute(&atom!($htmlname), value) } ); ); |