aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/create.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/create.rs')
-rw-r--r--components/script/dom/create.rs270
1 files changed, 135 insertions, 135 deletions
diff --git a/components/script/dom/create.rs b/components/script/dom/create.rs
index 98a2e5ad4ed..42a3c8158a1 100644
--- a/components/script/dom/create.rs
+++ b/components/script/dom/create.rs
@@ -77,7 +77,7 @@ use dom::htmlulistelement::HTMLUListElement;
use dom::htmlunknownelement::HTMLUnknownElement;
use dom::htmlvideoelement::HTMLVideoElement;
use dom::svgsvgelement::SVGSVGElement;
-use string_cache::{Atom, QualName};
+use html5ever_atoms::{Prefix, QualName};
use util::prefs::PREFS;
fn create_svg_element(name: QualName,
@@ -102,7 +102,7 @@ fn create_svg_element(name: QualName,
}
match name.local {
- atom!("svg") => make!(SVGSVGElement),
+ local_name!("svg") => make!(SVGSVGElement),
_ => Element::new(name.local, name.ns, prefix, document),
}
}
@@ -128,157 +128,157 @@ fn create_html_element(name: QualName,
// This is a big match, and the IDs for inline-interned atoms are not very structured.
// Perhaps we should build a perfect hash from those IDs instead.
match name.local {
- atom!("a") => make!(HTMLAnchorElement),
- atom!("abbr") => make!(HTMLElement),
- atom!("acronym") => make!(HTMLElement),
- atom!("address") => make!(HTMLElement),
- atom!("applet") => make!(HTMLAppletElement),
- atom!("area") => make!(HTMLAreaElement),
- atom!("article") => make!(HTMLElement),
- atom!("aside") => make!(HTMLElement),
- atom!("audio") => make!(HTMLAudioElement),
- atom!("b") => make!(HTMLElement),
- atom!("base") => make!(HTMLBaseElement),
- atom!("bdi") => make!(HTMLElement),
- atom!("bdo") => make!(HTMLElement),
+ local_name!("a") => make!(HTMLAnchorElement),
+ local_name!("abbr") => make!(HTMLElement),
+ local_name!("acronym") => make!(HTMLElement),
+ local_name!("address") => make!(HTMLElement),
+ local_name!("applet") => make!(HTMLAppletElement),
+ local_name!("area") => make!(HTMLAreaElement),
+ local_name!("article") => make!(HTMLElement),
+ local_name!("aside") => make!(HTMLElement),
+ local_name!("audio") => make!(HTMLAudioElement),
+ local_name!("b") => make!(HTMLElement),
+ local_name!("base") => make!(HTMLBaseElement),
+ local_name!("bdi") => make!(HTMLElement),
+ local_name!("bdo") => make!(HTMLElement),
// https://html.spec.whatwg.org/multipage/#other-elements,-attributes-and-apis:bgsound
- atom!("bgsound") => make!(HTMLUnknownElement),
- atom!("big") => make!(HTMLElement),
+ local_name!("bgsound") => make!(HTMLUnknownElement),
+ local_name!("big") => make!(HTMLElement),
// https://html.spec.whatwg.org/multipage/#other-elements,-attributes-and-apis:blink
- atom!("blink") => make!(HTMLUnknownElement),
+ local_name!("blink") => make!(HTMLUnknownElement),
// https://html.spec.whatwg.org/multipage/#the-blockquote-element
- atom!("blockquote") => make!(HTMLQuoteElement),
- atom!("body") => make!(HTMLBodyElement),
- atom!("br") => make!(HTMLBRElement),
- atom!("button") => make!(HTMLButtonElement),
- atom!("canvas") => make!(HTMLCanvasElement),
- atom!("caption") => make!(HTMLTableCaptionElement),
- atom!("center") => make!(HTMLElement),
- atom!("cite") => make!(HTMLElement),
- atom!("code") => make!(HTMLElement),
- atom!("col") => make!(HTMLTableColElement),
- atom!("colgroup") => make!(HTMLTableColElement),
- atom!("data") => make!(HTMLDataElement),
- atom!("datalist") => make!(HTMLDataListElement),
- atom!("dd") => make!(HTMLElement),
- atom!("del") => make!(HTMLModElement),
- atom!("details") => make!(HTMLDetailsElement),
- atom!("dfn") => make!(HTMLElement),
- atom!("dialog") => make!(HTMLDialogElement),
- atom!("dir") => make!(HTMLDirectoryElement),
- atom!("div") => make!(HTMLDivElement),
- atom!("dl") => make!(HTMLDListElement),
- atom!("dt") => make!(HTMLElement),
- atom!("em") => make!(HTMLElement),
- atom!("embed") => make!(HTMLEmbedElement),
- atom!("fieldset") => make!(HTMLFieldSetElement),
- atom!("figcaption") => make!(HTMLElement),
- atom!("figure") => make!(HTMLElement),
- atom!("font") => make!(HTMLFontElement),
- atom!("footer") => make!(HTMLElement),
- atom!("form") => make!(HTMLFormElement),
- atom!("frame") => make!(HTMLFrameElement),
- atom!("frameset") => make!(HTMLFrameSetElement),
- atom!("h1") => make!(HTMLHeadingElement, HeadingLevel::Heading1),
- atom!("h2") => make!(HTMLHeadingElement, HeadingLevel::Heading2),
- atom!("h3") => make!(HTMLHeadingElement, HeadingLevel::Heading3),
- atom!("h4") => make!(HTMLHeadingElement, HeadingLevel::Heading4),
- atom!("h5") => make!(HTMLHeadingElement, HeadingLevel::Heading5),
- atom!("h6") => make!(HTMLHeadingElement, HeadingLevel::Heading6),
- atom!("head") => make!(HTMLHeadElement),
- atom!("header") => make!(HTMLElement),
- atom!("hgroup") => make!(HTMLElement),
- atom!("hr") => make!(HTMLHRElement),
- atom!("html") => make!(HTMLHtmlElement),
- atom!("i") => make!(HTMLElement),
- atom!("iframe") => make!(HTMLIFrameElement),
- atom!("img") => make!(HTMLImageElement),
- atom!("input") => make!(HTMLInputElement),
- atom!("ins") => make!(HTMLModElement),
+ local_name!("blockquote") => make!(HTMLQuoteElement),
+ local_name!("body") => make!(HTMLBodyElement),
+ local_name!("br") => make!(HTMLBRElement),
+ local_name!("button") => make!(HTMLButtonElement),
+ local_name!("canvas") => make!(HTMLCanvasElement),
+ local_name!("caption") => make!(HTMLTableCaptionElement),
+ local_name!("center") => make!(HTMLElement),
+ local_name!("cite") => make!(HTMLElement),
+ local_name!("code") => make!(HTMLElement),
+ local_name!("col") => make!(HTMLTableColElement),
+ local_name!("colgroup") => make!(HTMLTableColElement),
+ local_name!("data") => make!(HTMLDataElement),
+ local_name!("datalist") => make!(HTMLDataListElement),
+ local_name!("dd") => make!(HTMLElement),
+ local_name!("del") => make!(HTMLModElement),
+ local_name!("details") => make!(HTMLDetailsElement),
+ local_name!("dfn") => make!(HTMLElement),
+ local_name!("dialog") => make!(HTMLDialogElement),
+ local_name!("dir") => make!(HTMLDirectoryElement),
+ local_name!("div") => make!(HTMLDivElement),
+ local_name!("dl") => make!(HTMLDListElement),
+ local_name!("dt") => make!(HTMLElement),
+ local_name!("em") => make!(HTMLElement),
+ local_name!("embed") => make!(HTMLEmbedElement),
+ local_name!("fieldset") => make!(HTMLFieldSetElement),
+ local_name!("figcaption") => make!(HTMLElement),
+ local_name!("figure") => make!(HTMLElement),
+ local_name!("font") => make!(HTMLFontElement),
+ local_name!("footer") => make!(HTMLElement),
+ local_name!("form") => make!(HTMLFormElement),
+ local_name!("frame") => make!(HTMLFrameElement),
+ local_name!("frameset") => make!(HTMLFrameSetElement),
+ local_name!("h1") => make!(HTMLHeadingElement, HeadingLevel::Heading1),
+ local_name!("h2") => make!(HTMLHeadingElement, HeadingLevel::Heading2),
+ local_name!("h3") => make!(HTMLHeadingElement, HeadingLevel::Heading3),
+ local_name!("h4") => make!(HTMLHeadingElement, HeadingLevel::Heading4),
+ local_name!("h5") => make!(HTMLHeadingElement, HeadingLevel::Heading5),
+ local_name!("h6") => make!(HTMLHeadingElement, HeadingLevel::Heading6),
+ local_name!("head") => make!(HTMLHeadElement),
+ local_name!("header") => make!(HTMLElement),
+ local_name!("hgroup") => make!(HTMLElement),
+ local_name!("hr") => make!(HTMLHRElement),
+ local_name!("html") => make!(HTMLHtmlElement),
+ local_name!("i") => make!(HTMLElement),
+ local_name!("iframe") => make!(HTMLIFrameElement),
+ local_name!("img") => make!(HTMLImageElement),
+ local_name!("input") => make!(HTMLInputElement),
+ local_name!("ins") => make!(HTMLModElement),
// https://html.spec.whatwg.org/multipage/#other-elements,-attributes-and-apis:isindex-2
- atom!("isindex") => make!(HTMLUnknownElement),
- atom!("kbd") => make!(HTMLElement),
- atom!("label") => make!(HTMLLabelElement),
- atom!("legend") => make!(HTMLLegendElement),
- atom!("li") => make!(HTMLLIElement),
- atom!("link") => make!(HTMLLinkElement, creator),
+ local_name!("isindex") => make!(HTMLUnknownElement),
+ local_name!("kbd") => make!(HTMLElement),
+ local_name!("label") => make!(HTMLLabelElement),
+ local_name!("legend") => make!(HTMLLegendElement),
+ local_name!("li") => make!(HTMLLIElement),
+ local_name!("link") => make!(HTMLLinkElement, creator),
// https://html.spec.whatwg.org/multipage/#other-elements,-attributes-and-apis:listing
- atom!("listing") => make!(HTMLPreElement),
- atom!("main") => make!(HTMLElement),
- atom!("map") => make!(HTMLMapElement),
- atom!("mark") => make!(HTMLElement),
- atom!("marquee") => make!(HTMLElement),
- atom!("meta") => make!(HTMLMetaElement),
- atom!("meter") => make!(HTMLMeterElement),
+ local_name!("listing") => make!(HTMLPreElement),
+ local_name!("main") => make!(HTMLElement),
+ local_name!("map") => make!(HTMLMapElement),
+ local_name!("mark") => make!(HTMLElement),
+ local_name!("marquee") => make!(HTMLElement),
+ local_name!("meta") => make!(HTMLMetaElement),
+ local_name!("meter") => make!(HTMLMeterElement),
// https://html.spec.whatwg.org/multipage/#other-elements,-attributes-and-apis:multicol
- atom!("multicol") => make!(HTMLUnknownElement),
- atom!("nav") => make!(HTMLElement),
+ local_name!("multicol") => make!(HTMLUnknownElement),
+ local_name!("nav") => make!(HTMLElement),
// https://html.spec.whatwg.org/multipage/#other-elements,-attributes-and-apis:nextid
- atom!("nextid") => make!(HTMLUnknownElement),
- atom!("nobr") => make!(HTMLElement),
- atom!("noframes") => make!(HTMLElement),
- atom!("noscript") => make!(HTMLElement),
- atom!("object") => make!(HTMLObjectElement),
- atom!("ol") => make!(HTMLOListElement),
- atom!("optgroup") => make!(HTMLOptGroupElement),
- atom!("option") => make!(HTMLOptionElement),
- atom!("output") => make!(HTMLOutputElement),
- atom!("p") => make!(HTMLParagraphElement),
- atom!("param") => make!(HTMLParamElement),
- atom!("plaintext") => make!(HTMLPreElement),
- atom!("pre") => make!(HTMLPreElement),
- atom!("progress") => make!(HTMLProgressElement),
- atom!("q") => make!(HTMLQuoteElement),
- atom!("rp") => make!(HTMLElement),
- atom!("rt") => make!(HTMLElement),
- atom!("ruby") => make!(HTMLElement),
- atom!("s") => make!(HTMLElement),
- atom!("samp") => make!(HTMLElement),
- atom!("script") => make!(HTMLScriptElement, creator),
- atom!("section") => make!(HTMLElement),
- atom!("select") => make!(HTMLSelectElement),
- atom!("small") => make!(HTMLElement),
- atom!("source") => make!(HTMLSourceElement),
+ local_name!("nextid") => make!(HTMLUnknownElement),
+ local_name!("nobr") => make!(HTMLElement),
+ local_name!("noframes") => make!(HTMLElement),
+ local_name!("noscript") => make!(HTMLElement),
+ local_name!("object") => make!(HTMLObjectElement),
+ local_name!("ol") => make!(HTMLOListElement),
+ local_name!("optgroup") => make!(HTMLOptGroupElement),
+ local_name!("option") => make!(HTMLOptionElement),
+ local_name!("output") => make!(HTMLOutputElement),
+ local_name!("p") => make!(HTMLParagraphElement),
+ local_name!("param") => make!(HTMLParamElement),
+ local_name!("plaintext") => make!(HTMLPreElement),
+ local_name!("pre") => make!(HTMLPreElement),
+ local_name!("progress") => make!(HTMLProgressElement),
+ local_name!("q") => make!(HTMLQuoteElement),
+ local_name!("rp") => make!(HTMLElement),
+ local_name!("rt") => make!(HTMLElement),
+ local_name!("ruby") => make!(HTMLElement),
+ local_name!("s") => make!(HTMLElement),
+ local_name!("samp") => make!(HTMLElement),
+ local_name!("script") => make!(HTMLScriptElement, creator),
+ local_name!("section") => make!(HTMLElement),
+ local_name!("select") => make!(HTMLSelectElement),
+ local_name!("small") => make!(HTMLElement),
+ local_name!("source") => make!(HTMLSourceElement),
// https://html.spec.whatwg.org/multipage/#other-elements,-attributes-and-apis:spacer
- atom!("spacer") => make!(HTMLUnknownElement),
- atom!("span") => make!(HTMLSpanElement),
- atom!("strike") => make!(HTMLElement),
- atom!("strong") => make!(HTMLElement),
- atom!("style") => make!(HTMLStyleElement),
- atom!("sub") => make!(HTMLElement),
- atom!("summary") => make!(HTMLElement),
- atom!("sup") => make!(HTMLElement),
- atom!("table") => make!(HTMLTableElement),
- atom!("tbody") => make!(HTMLTableSectionElement),
- atom!("td") => make!(HTMLTableDataCellElement),
- atom!("template") => make!(HTMLTemplateElement),
- atom!("textarea") => make!(HTMLTextAreaElement),
+ local_name!("spacer") => make!(HTMLUnknownElement),
+ local_name!("span") => make!(HTMLSpanElement),
+ local_name!("strike") => make!(HTMLElement),
+ local_name!("strong") => make!(HTMLElement),
+ local_name!("style") => make!(HTMLStyleElement),
+ local_name!("sub") => make!(HTMLElement),
+ local_name!("summary") => make!(HTMLElement),
+ local_name!("sup") => make!(HTMLElement),
+ local_name!("table") => make!(HTMLTableElement),
+ local_name!("tbody") => make!(HTMLTableSectionElement),
+ local_name!("td") => make!(HTMLTableDataCellElement),
+ local_name!("template") => make!(HTMLTemplateElement),
+ local_name!("textarea") => make!(HTMLTextAreaElement),
// https://html.spec.whatwg.org/multipage/#the-tfoot-element:concept-element-dom
- atom!("tfoot") => make!(HTMLTableSectionElement),
- atom!("th") => make!(HTMLTableHeaderCellElement),
+ local_name!("tfoot") => make!(HTMLTableSectionElement),
+ local_name!("th") => make!(HTMLTableHeaderCellElement),
// https://html.spec.whatwg.org/multipage/#the-thead-element:concept-element-dom
- atom!("thead") => make!(HTMLTableSectionElement),
- atom!("time") => make!(HTMLTimeElement),
- atom!("title") => make!(HTMLTitleElement),
- atom!("tr") => make!(HTMLTableRowElement),
- atom!("tt") => make!(HTMLElement),
- atom!("track") => make!(HTMLTrackElement),
- atom!("u") => make!(HTMLElement),
- atom!("ul") => make!(HTMLUListElement),
- atom!("var") => make!(HTMLElement),
- atom!("video") => make!(HTMLVideoElement),
- atom!("wbr") => make!(HTMLElement),
- atom!("xmp") => make!(HTMLPreElement),
+ local_name!("thead") => make!(HTMLTableSectionElement),
+ local_name!("time") => make!(HTMLTimeElement),
+ local_name!("title") => make!(HTMLTitleElement),
+ local_name!("tr") => make!(HTMLTableRowElement),
+ local_name!("tt") => make!(HTMLElement),
+ local_name!("track") => make!(HTMLTrackElement),
+ local_name!("u") => make!(HTMLElement),
+ local_name!("ul") => make!(HTMLUListElement),
+ local_name!("var") => make!(HTMLElement),
+ local_name!("video") => make!(HTMLVideoElement),
+ local_name!("wbr") => make!(HTMLElement),
+ local_name!("xmp") => make!(HTMLPreElement),
_ => make!(HTMLUnknownElement),
}
}
pub fn create_element(name: QualName,
- prefix: Option<Atom>,
+ prefix: Option<Prefix>,
document: &Document,
creator: ElementCreator)
-> Root<Element> {
- // FIXME(ajeffrey): Convert directly from Atom to DOMString.
+ // FIXME(ajeffrey): Convert directly from Prefix to DOMString.
let prefix = prefix.map(|p| DOMString::from(&*p));