diff options
author | chansuke <chansuke@georepublic.de> | 2018-09-18 23:24:15 +0900 |
---|---|---|
committer | Josh Matthews <josh@joshmatthews.net> | 2018-09-19 17:40:47 -0400 |
commit | c37a345dc9f4dda6ea29c42f96f6c7201c42cbac (patch) | |
tree | 1f05b49bac02318455a59d5b143c186fd872bdb9 /components/script/dom/bindings/htmlconstructor.rs | |
parent | 2ca7a134736bb4759ff209c1bc0b6dc3cc1984c9 (diff) | |
download | servo-c37a345dc9f4dda6ea29c42f96f6c7201c42cbac.tar.gz servo-c37a345dc9f4dda6ea29c42f96f6c7201c42cbac.zip |
Format script component
Diffstat (limited to 'components/script/dom/bindings/htmlconstructor.rs')
-rw-r--r-- | components/script/dom/bindings/htmlconstructor.rs | 288 |
1 files changed, 151 insertions, 137 deletions
diff --git a/components/script/dom/bindings/htmlconstructor.rs b/components/script/dom/bindings/htmlconstructor.rs index 1b89d3f7669..7cbac28398f 100644 --- a/components/script/dom/bindings/htmlconstructor.rs +++ b/components/script/dom/bindings/htmlconstructor.rs @@ -89,7 +89,9 @@ use std::ptr; // https://html.spec.whatwg.org/multipage/#htmlconstructor pub unsafe fn html_constructor<T>(window: &Window, call_args: &CallArgs) -> Fallible<DomRoot<T>> - where T: DerivedFrom<Element> { +where + T: DerivedFrom<Element>, +{ let document = window.Document(); // Step 1 @@ -101,7 +103,11 @@ pub unsafe fn html_constructor<T>(window: &Window, call_args: &CallArgs) -> Fall rooted!(in(window.get_cx()) let new_target = call_args.new_target().to_object()); let definition = match registry.lookup_definition_by_constructor(new_target.handle()) { Some(definition) => definition, - None => return Err(Error::Type("No custom element definition found for new.target".to_owned())), + None => { + return Err(Error::Type( + "No custom element definition found for new.target".to_owned(), + )) + }, }; rooted!(in(window.get_cx()) let callee = UnwrapObject(call_args.callee(), 1)); @@ -119,18 +125,25 @@ pub unsafe fn html_constructor<T>(window: &Window, call_args: &CallArgs) -> Fall // Since this element is autonomous, its active function object must be the HTMLElement // Retrieve the constructor object for HTMLElement - HTMLElementBinding::GetConstructorObject(window.get_cx(), global_object.handle(), constructor.handle_mut()); - + HTMLElementBinding::GetConstructorObject( + window.get_cx(), + global_object.handle(), + constructor.handle_mut(), + ); } else { // Step 5 - get_constructor_object_from_local_name(definition.local_name.clone(), - window.get_cx(), - global_object.handle(), - constructor.handle_mut()); + get_constructor_object_from_local_name( + definition.local_name.clone(), + window.get_cx(), + global_object.handle(), + constructor.handle_mut(), + ); } // Callee must be the same as the element interface's constructor object. if constructor.get() != callee.get() { - return Err(Error::Type("Custom element does not extend the proper interface".to_owned())); + return Err(Error::Type( + "Custom element does not extend the proper interface".to_owned(), + )); } } @@ -176,11 +189,12 @@ pub unsafe fn html_constructor<T>(window: &Window, call_args: &CallArgs) -> Fall /// Returns the constructor object for the element associated with the given local name. /// This list should only include elements marked with the [HTMLConstructor] extended attribute. -pub fn get_constructor_object_from_local_name(name: LocalName, - cx: *mut JSContext, - global: HandleObject, - rval: MutableHandleObject) - -> bool { +pub fn get_constructor_object_from_local_name( + name: LocalName, + cx: *mut JSContext, + global: HandleObject, + rval: MutableHandleObject, +) -> bool { macro_rules! get_constructor( ($binding:ident) => ({ unsafe { $binding::GetConstructorObject(cx, global, rval); } @@ -189,131 +203,131 @@ pub fn get_constructor_object_from_local_name(name: LocalName, ); match name { - local_name!("a") => get_constructor!(HTMLAnchorElementBinding), - local_name!("abbr") => get_constructor!(HTMLElementBinding), - local_name!("acronym") => get_constructor!(HTMLElementBinding), - local_name!("address") => get_constructor!(HTMLElementBinding), - local_name!("area") => get_constructor!(HTMLAreaElementBinding), - local_name!("article") => get_constructor!(HTMLElementBinding), - local_name!("aside") => get_constructor!(HTMLElementBinding), - local_name!("audio") => get_constructor!(HTMLAudioElementBinding), - local_name!("b") => get_constructor!(HTMLElementBinding), - local_name!("base") => get_constructor!(HTMLBaseElementBinding), - local_name!("bdi") => get_constructor!(HTMLElementBinding), - local_name!("bdo") => get_constructor!(HTMLElementBinding), - local_name!("big") => get_constructor!(HTMLElementBinding), + local_name!("a") => get_constructor!(HTMLAnchorElementBinding), + local_name!("abbr") => get_constructor!(HTMLElementBinding), + local_name!("acronym") => get_constructor!(HTMLElementBinding), + local_name!("address") => get_constructor!(HTMLElementBinding), + local_name!("area") => get_constructor!(HTMLAreaElementBinding), + local_name!("article") => get_constructor!(HTMLElementBinding), + local_name!("aside") => get_constructor!(HTMLElementBinding), + local_name!("audio") => get_constructor!(HTMLAudioElementBinding), + local_name!("b") => get_constructor!(HTMLElementBinding), + local_name!("base") => get_constructor!(HTMLBaseElementBinding), + local_name!("bdi") => get_constructor!(HTMLElementBinding), + local_name!("bdo") => get_constructor!(HTMLElementBinding), + local_name!("big") => get_constructor!(HTMLElementBinding), local_name!("blockquote") => get_constructor!(HTMLQuoteElementBinding), - local_name!("body") => get_constructor!(HTMLBodyElementBinding), - local_name!("br") => get_constructor!(HTMLBRElementBinding), - local_name!("button") => get_constructor!(HTMLButtonElementBinding), - local_name!("canvas") => get_constructor!(HTMLCanvasElementBinding), - local_name!("caption") => get_constructor!(HTMLTableCaptionElementBinding), - local_name!("center") => get_constructor!(HTMLElementBinding), - local_name!("cite") => get_constructor!(HTMLElementBinding), - local_name!("code") => get_constructor!(HTMLElementBinding), - local_name!("col") => get_constructor!(HTMLTableColElementBinding), - local_name!("colgroup") => get_constructor!(HTMLTableColElementBinding), - local_name!("data") => get_constructor!(HTMLDataElementBinding), - local_name!("datalist") => get_constructor!(HTMLDataListElementBinding), - local_name!("dd") => get_constructor!(HTMLElementBinding), - local_name!("del") => get_constructor!(HTMLModElementBinding), - local_name!("details") => get_constructor!(HTMLDetailsElementBinding), - local_name!("dfn") => get_constructor!(HTMLElementBinding), - local_name!("dialog") => get_constructor!(HTMLDialogElementBinding), - local_name!("dir") => get_constructor!(HTMLDirectoryElementBinding), - local_name!("div") => get_constructor!(HTMLDivElementBinding), - local_name!("dl") => get_constructor!(HTMLDListElementBinding), - local_name!("dt") => get_constructor!(HTMLElementBinding), - local_name!("em") => get_constructor!(HTMLElementBinding), - local_name!("embed") => get_constructor!(HTMLEmbedElementBinding), - local_name!("fieldset") => get_constructor!(HTMLFieldSetElementBinding), + local_name!("body") => get_constructor!(HTMLBodyElementBinding), + local_name!("br") => get_constructor!(HTMLBRElementBinding), + local_name!("button") => get_constructor!(HTMLButtonElementBinding), + local_name!("canvas") => get_constructor!(HTMLCanvasElementBinding), + local_name!("caption") => get_constructor!(HTMLTableCaptionElementBinding), + local_name!("center") => get_constructor!(HTMLElementBinding), + local_name!("cite") => get_constructor!(HTMLElementBinding), + local_name!("code") => get_constructor!(HTMLElementBinding), + local_name!("col") => get_constructor!(HTMLTableColElementBinding), + local_name!("colgroup") => get_constructor!(HTMLTableColElementBinding), + local_name!("data") => get_constructor!(HTMLDataElementBinding), + local_name!("datalist") => get_constructor!(HTMLDataListElementBinding), + local_name!("dd") => get_constructor!(HTMLElementBinding), + local_name!("del") => get_constructor!(HTMLModElementBinding), + local_name!("details") => get_constructor!(HTMLDetailsElementBinding), + local_name!("dfn") => get_constructor!(HTMLElementBinding), + local_name!("dialog") => get_constructor!(HTMLDialogElementBinding), + local_name!("dir") => get_constructor!(HTMLDirectoryElementBinding), + local_name!("div") => get_constructor!(HTMLDivElementBinding), + local_name!("dl") => get_constructor!(HTMLDListElementBinding), + local_name!("dt") => get_constructor!(HTMLElementBinding), + local_name!("em") => get_constructor!(HTMLElementBinding), + local_name!("embed") => get_constructor!(HTMLEmbedElementBinding), + local_name!("fieldset") => get_constructor!(HTMLFieldSetElementBinding), local_name!("figcaption") => get_constructor!(HTMLElementBinding), - local_name!("figure") => get_constructor!(HTMLElementBinding), - local_name!("font") => get_constructor!(HTMLFontElementBinding), - local_name!("footer") => get_constructor!(HTMLElementBinding), - local_name!("form") => get_constructor!(HTMLFormElementBinding), - local_name!("frame") => get_constructor!(HTMLFrameElementBinding), - local_name!("frameset") => get_constructor!(HTMLFrameSetElementBinding), - local_name!("h1") => get_constructor!(HTMLHeadingElementBinding), - local_name!("h2") => get_constructor!(HTMLHeadingElementBinding), - local_name!("h3") => get_constructor!(HTMLHeadingElementBinding), - local_name!("h4") => get_constructor!(HTMLHeadingElementBinding), - local_name!("h5") => get_constructor!(HTMLHeadingElementBinding), - local_name!("h6") => get_constructor!(HTMLHeadingElementBinding), - local_name!("head") => get_constructor!(HTMLHeadElementBinding), - local_name!("header") => get_constructor!(HTMLElementBinding), - local_name!("hgroup") => get_constructor!(HTMLElementBinding), - local_name!("hr") => get_constructor!(HTMLHRElementBinding), - local_name!("html") => get_constructor!(HTMLHtmlElementBinding), - local_name!("i") => get_constructor!(HTMLElementBinding), - local_name!("iframe") => get_constructor!(HTMLIFrameElementBinding), - local_name!("img") => get_constructor!(HTMLImageElementBinding), - local_name!("input") => get_constructor!(HTMLInputElementBinding), - local_name!("ins") => get_constructor!(HTMLModElementBinding), - local_name!("kbd") => get_constructor!(HTMLElementBinding), - local_name!("label") => get_constructor!(HTMLLabelElementBinding), - local_name!("legend") => get_constructor!(HTMLLegendElementBinding), - local_name!("li") => get_constructor!(HTMLLIElementBinding), - local_name!("link") => get_constructor!(HTMLLinkElementBinding), - local_name!("listing") => get_constructor!(HTMLPreElementBinding), - local_name!("main") => get_constructor!(HTMLElementBinding), - local_name!("map") => get_constructor!(HTMLMapElementBinding), - local_name!("mark") => get_constructor!(HTMLElementBinding), - local_name!("marquee") => get_constructor!(HTMLElementBinding), - local_name!("meta") => get_constructor!(HTMLMetaElementBinding), - local_name!("meter") => get_constructor!(HTMLMeterElementBinding), - local_name!("nav") => get_constructor!(HTMLElementBinding), - local_name!("nobr") => get_constructor!(HTMLElementBinding), - local_name!("noframes") => get_constructor!(HTMLElementBinding), - local_name!("noscript") => get_constructor!(HTMLElementBinding), - local_name!("object") => get_constructor!(HTMLObjectElementBinding), - local_name!("ol") => get_constructor!(HTMLOListElementBinding), - local_name!("optgroup") => get_constructor!(HTMLOptGroupElementBinding), - local_name!("option") => get_constructor!(HTMLOptionElementBinding), - local_name!("output") => get_constructor!(HTMLOutputElementBinding), - local_name!("p") => get_constructor!(HTMLParagraphElementBinding), - local_name!("param") => get_constructor!(HTMLParamElementBinding), - local_name!("plaintext") => get_constructor!(HTMLPreElementBinding), - local_name!("pre") => get_constructor!(HTMLPreElementBinding), - local_name!("progress") => get_constructor!(HTMLProgressElementBinding), - local_name!("q") => get_constructor!(HTMLQuoteElementBinding), - local_name!("rp") => get_constructor!(HTMLElementBinding), - local_name!("rt") => get_constructor!(HTMLElementBinding), - local_name!("ruby") => get_constructor!(HTMLElementBinding), - local_name!("s") => get_constructor!(HTMLElementBinding), - local_name!("samp") => get_constructor!(HTMLElementBinding), - local_name!("script") => get_constructor!(HTMLScriptElementBinding), - local_name!("section") => get_constructor!(HTMLElementBinding), - local_name!("select") => get_constructor!(HTMLSelectElementBinding), - local_name!("small") => get_constructor!(HTMLElementBinding), - local_name!("source") => get_constructor!(HTMLSourceElementBinding), - local_name!("span") => get_constructor!(HTMLSpanElementBinding), - local_name!("strike") => get_constructor!(HTMLElementBinding), - local_name!("strong") => get_constructor!(HTMLElementBinding), - local_name!("style") => get_constructor!(HTMLStyleElementBinding), - local_name!("sub") => get_constructor!(HTMLElementBinding), - local_name!("summary") => get_constructor!(HTMLElementBinding), - local_name!("sup") => get_constructor!(HTMLElementBinding), - local_name!("table") => get_constructor!(HTMLTableElementBinding), - local_name!("tbody") => get_constructor!(HTMLTableSectionElementBinding), - local_name!("td") => get_constructor!(HTMLTableDataCellElementBinding), - local_name!("template") => get_constructor!(HTMLTemplateElementBinding), - local_name!("textarea") => get_constructor!(HTMLTextAreaElementBinding), - local_name!("tfoot") => get_constructor!(HTMLTableSectionElementBinding), - local_name!("th") => get_constructor!(HTMLTableHeaderCellElementBinding), - local_name!("thead") => get_constructor!(HTMLTableSectionElementBinding), - local_name!("time") => get_constructor!(HTMLTimeElementBinding), - local_name!("title") => get_constructor!(HTMLTitleElementBinding), - local_name!("tr") => get_constructor!(HTMLTableRowElementBinding), - local_name!("tt") => get_constructor!(HTMLElementBinding), - local_name!("track") => get_constructor!(HTMLTrackElementBinding), - local_name!("u") => get_constructor!(HTMLElementBinding), - local_name!("ul") => get_constructor!(HTMLUListElementBinding), - local_name!("var") => get_constructor!(HTMLElementBinding), - local_name!("video") => get_constructor!(HTMLVideoElementBinding), - local_name!("wbr") => get_constructor!(HTMLElementBinding), - local_name!("xmp") => get_constructor!(HTMLPreElementBinding), - _ => false, + local_name!("figure") => get_constructor!(HTMLElementBinding), + local_name!("font") => get_constructor!(HTMLFontElementBinding), + local_name!("footer") => get_constructor!(HTMLElementBinding), + local_name!("form") => get_constructor!(HTMLFormElementBinding), + local_name!("frame") => get_constructor!(HTMLFrameElementBinding), + local_name!("frameset") => get_constructor!(HTMLFrameSetElementBinding), + local_name!("h1") => get_constructor!(HTMLHeadingElementBinding), + local_name!("h2") => get_constructor!(HTMLHeadingElementBinding), + local_name!("h3") => get_constructor!(HTMLHeadingElementBinding), + local_name!("h4") => get_constructor!(HTMLHeadingElementBinding), + local_name!("h5") => get_constructor!(HTMLHeadingElementBinding), + local_name!("h6") => get_constructor!(HTMLHeadingElementBinding), + local_name!("head") => get_constructor!(HTMLHeadElementBinding), + local_name!("header") => get_constructor!(HTMLElementBinding), + local_name!("hgroup") => get_constructor!(HTMLElementBinding), + local_name!("hr") => get_constructor!(HTMLHRElementBinding), + local_name!("html") => get_constructor!(HTMLHtmlElementBinding), + local_name!("i") => get_constructor!(HTMLElementBinding), + local_name!("iframe") => get_constructor!(HTMLIFrameElementBinding), + local_name!("img") => get_constructor!(HTMLImageElementBinding), + local_name!("input") => get_constructor!(HTMLInputElementBinding), + local_name!("ins") => get_constructor!(HTMLModElementBinding), + local_name!("kbd") => get_constructor!(HTMLElementBinding), + local_name!("label") => get_constructor!(HTMLLabelElementBinding), + local_name!("legend") => get_constructor!(HTMLLegendElementBinding), + local_name!("li") => get_constructor!(HTMLLIElementBinding), + local_name!("link") => get_constructor!(HTMLLinkElementBinding), + local_name!("listing") => get_constructor!(HTMLPreElementBinding), + local_name!("main") => get_constructor!(HTMLElementBinding), + local_name!("map") => get_constructor!(HTMLMapElementBinding), + local_name!("mark") => get_constructor!(HTMLElementBinding), + local_name!("marquee") => get_constructor!(HTMLElementBinding), + local_name!("meta") => get_constructor!(HTMLMetaElementBinding), + local_name!("meter") => get_constructor!(HTMLMeterElementBinding), + local_name!("nav") => get_constructor!(HTMLElementBinding), + local_name!("nobr") => get_constructor!(HTMLElementBinding), + local_name!("noframes") => get_constructor!(HTMLElementBinding), + local_name!("noscript") => get_constructor!(HTMLElementBinding), + local_name!("object") => get_constructor!(HTMLObjectElementBinding), + local_name!("ol") => get_constructor!(HTMLOListElementBinding), + local_name!("optgroup") => get_constructor!(HTMLOptGroupElementBinding), + local_name!("option") => get_constructor!(HTMLOptionElementBinding), + local_name!("output") => get_constructor!(HTMLOutputElementBinding), + local_name!("p") => get_constructor!(HTMLParagraphElementBinding), + local_name!("param") => get_constructor!(HTMLParamElementBinding), + local_name!("plaintext") => get_constructor!(HTMLPreElementBinding), + local_name!("pre") => get_constructor!(HTMLPreElementBinding), + local_name!("progress") => get_constructor!(HTMLProgressElementBinding), + local_name!("q") => get_constructor!(HTMLQuoteElementBinding), + local_name!("rp") => get_constructor!(HTMLElementBinding), + local_name!("rt") => get_constructor!(HTMLElementBinding), + local_name!("ruby") => get_constructor!(HTMLElementBinding), + local_name!("s") => get_constructor!(HTMLElementBinding), + local_name!("samp") => get_constructor!(HTMLElementBinding), + local_name!("script") => get_constructor!(HTMLScriptElementBinding), + local_name!("section") => get_constructor!(HTMLElementBinding), + local_name!("select") => get_constructor!(HTMLSelectElementBinding), + local_name!("small") => get_constructor!(HTMLElementBinding), + local_name!("source") => get_constructor!(HTMLSourceElementBinding), + local_name!("span") => get_constructor!(HTMLSpanElementBinding), + local_name!("strike") => get_constructor!(HTMLElementBinding), + local_name!("strong") => get_constructor!(HTMLElementBinding), + local_name!("style") => get_constructor!(HTMLStyleElementBinding), + local_name!("sub") => get_constructor!(HTMLElementBinding), + local_name!("summary") => get_constructor!(HTMLElementBinding), + local_name!("sup") => get_constructor!(HTMLElementBinding), + local_name!("table") => get_constructor!(HTMLTableElementBinding), + local_name!("tbody") => get_constructor!(HTMLTableSectionElementBinding), + local_name!("td") => get_constructor!(HTMLTableDataCellElementBinding), + local_name!("template") => get_constructor!(HTMLTemplateElementBinding), + local_name!("textarea") => get_constructor!(HTMLTextAreaElementBinding), + local_name!("tfoot") => get_constructor!(HTMLTableSectionElementBinding), + local_name!("th") => get_constructor!(HTMLTableHeaderCellElementBinding), + local_name!("thead") => get_constructor!(HTMLTableSectionElementBinding), + local_name!("time") => get_constructor!(HTMLTimeElementBinding), + local_name!("title") => get_constructor!(HTMLTitleElementBinding), + local_name!("tr") => get_constructor!(HTMLTableRowElementBinding), + local_name!("tt") => get_constructor!(HTMLElementBinding), + local_name!("track") => get_constructor!(HTMLTrackElementBinding), + local_name!("u") => get_constructor!(HTMLElementBinding), + local_name!("ul") => get_constructor!(HTMLUListElementBinding), + local_name!("var") => get_constructor!(HTMLElementBinding), + local_name!("video") => get_constructor!(HTMLVideoElementBinding), + local_name!("wbr") => get_constructor!(HTMLElementBinding), + local_name!("xmp") => get_constructor!(HTMLPreElementBinding), + _ => false, } } |