From 5a18c616d6a7f99c2813fc9b55b9e5879e90b64d Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Fri, 1 Nov 2013 22:42:19 +0100 Subject: [PATCH] Introduce HTMLMetaElement::new. --- src/components/script/dom/htmlmetaelement.rs | 17 +++++++++++++++++ .../script/html/hubbub_html_parser.rs | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/components/script/dom/htmlmetaelement.rs b/src/components/script/dom/htmlmetaelement.rs index 52c25345582..51fdbe419c9 100644 --- a/src/components/script/dom/htmlmetaelement.rs +++ b/src/components/script/dom/htmlmetaelement.rs @@ -2,13 +2,30 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +use dom::bindings::codegen::HTMLMetaElementBinding; use dom::bindings::utils::{DOMString, ErrorResult}; +use dom::document::AbstractDocument; +use dom::element::HTMLMetaElementTypeId; use dom::htmlelement::HTMLElement; +use dom::node::{AbstractNode, Node, ScriptView}; pub struct HTMLMetaElement { htmlelement: HTMLElement, } +impl HTMLMetaElement { + pub fn new_inherited(localName: ~str, document: AbstractDocument) -> HTMLMetaElement { + HTMLMetaElement { + htmlelement: HTMLElement::new(HTMLMetaElementTypeId, localName, document) + } + } + + pub fn new(localName: ~str, document: AbstractDocument) -> AbstractNode { + let element = HTMLMetaElement::new_inherited(localName, document); + Node::reflect_node(@mut element, document, HTMLMetaElementBinding::Wrap) + } +} + impl HTMLMetaElement { pub fn Name(&self) -> DOMString { None diff --git a/src/components/script/html/hubbub_html_parser.rs b/src/components/script/html/hubbub_html_parser.rs index 8811640ea92..b18e7f63903 100644 --- a/src/components/script/html/hubbub_html_parser.rs +++ b/src/components/script/html/hubbub_html_parser.rs @@ -238,7 +238,6 @@ pub fn build_element_from_tag(cx: *JSContext, tag: &str, document: AbstractDocum handle_element!(cx, document, tag, "li", HTMLLIElementTypeId, HTMLLIElement, []); handle_element!(cx, document, tag, "map", HTMLMapElementTypeId, HTMLMapElement, []); handle_element!(cx, document, tag, "main", HTMLMainElementTypeId, HTMLMainElement, []); - handle_element!(cx, document, tag, "meta", HTMLMetaElementTypeId, HTMLMetaElement, []); handle_htmlelement!(cx, document, tag, "aside", HTMLElementTypeId, HTMLElement); handle_htmlelement!(cx, document, tag, "b", HTMLElementTypeId, HTMLElement); @@ -260,6 +259,7 @@ pub fn build_element_from_tag(cx: *JSContext, tag: &str, document: AbstractDocum handle_newable_element!(document, tag, "iframe", HTMLIFrameElement); handle_newable_element!(document, tag, "img", HTMLImageElement); handle_newable_element!(document, tag, "ins", HTMLModElement); + handle_newable_element!(document, tag, "meta", HTMLMetaElement); handle_newable_element!(document, tag, "meter", HTMLMeterElement); handle_newable_element!(document, tag, "object", HTMLObjectElement); handle_newable_element!(document, tag, "ol", HTMLOListElement);