aboutsummaryrefslogtreecommitdiffstats
path: root/components/script
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2015-11-27 12:19:29 -0800
committerEli Friedman <eli.friedman@gmail.com>2015-11-27 15:42:34 -0800
commitc02c0576c821a95fa4a68c29d410566e99487dc9 (patch)
tree463220c6095eafc255f4b2e804fd2c67496afe07 /components/script
parent3720e4d5ef09d710deaf846c74356ccea8d7afce (diff)
downloadservo-c02c0576c821a95fa4a68c29d410566e99487dc9.tar.gz
servo-c02c0576c821a95fa4a68c29d410566e99487dc9.zip
Compute attribute name atoms at compile-time.
Diffstat (limited to 'components/script')
-rw-r--r--components/script/dom/htmlanchorelement.rs8
-rw-r--r--components/script/dom/htmlappletelement.rs2
-rw-r--r--components/script/dom/htmlbodyelement.rs2
-rw-r--r--components/script/dom/htmlbuttonelement.rs20
-rw-r--r--components/script/dom/htmldialogelement.rs2
-rw-r--r--components/script/dom/htmldivelement.rs2
-rw-r--r--components/script/dom/htmlelement.rs6
-rw-r--r--components/script/dom/htmlfieldsetelement.rs2
-rw-r--r--components/script/dom/htmlfontelement.rs4
-rw-r--r--components/script/dom/htmlformelement.rs17
-rw-r--r--components/script/dom/htmlhrelement.rs4
-rw-r--r--components/script/dom/htmliframeelement.rs4
-rw-r--r--components/script/dom/htmlimageelement.rs20
-rw-r--r--components/script/dom/htmlinputelement.rs37
-rw-r--r--components/script/dom/htmllinkelement.rs16
-rw-r--r--components/script/dom/htmlobjectelement.rs2
-rw-r--r--components/script/dom/htmloptgroupelement.rs2
-rw-r--r--components/script/dom/htmloptionelement.rs2
-rw-r--r--components/script/dom/htmlscriptelement.rs2
-rw-r--r--components/script/dom/htmlselectelement.rs6
-rw-r--r--components/script/dom/htmltablecellelement.rs2
-rw-r--r--components/script/dom/htmltableelement.rs4
-rw-r--r--components/script/dom/htmltablerowelement.rs2
-rw-r--r--components/script/dom/htmltextareaelement.rs12
-rw-r--r--components/script/dom/macros.rs103
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)
}
);
);