aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/servoparser/async_html.rs
diff options
context:
space:
mode:
authorConnor Brewster <connor.brewster@eagles.oc.edu>2017-06-16 14:34:17 -0600
committerConnor Brewster <connor.brewster@eagles.oc.edu>2017-06-23 21:09:55 -0600
commit2f36d3544fd7082cb5fcb16a43955cbb446bcbd7 (patch)
tree7e2531ba5c2d978ab1c99c68926bf0e8faf14b1b /components/script/dom/servoparser/async_html.rs
parent6697f5469d0e331d704dc1211c6236b751102bc8 (diff)
downloadservo-2f36d3544fd7082cb5fcb16a43955cbb446bcbd7.tar.gz
servo-2f36d3544fd7082cb5fcb16a43955cbb446bcbd7.zip
Support `is` option when creating elements
Diffstat (limited to 'components/script/dom/servoparser/async_html.rs')
-rw-r--r--components/script/dom/servoparser/async_html.rs10
1 files changed, 8 insertions, 2 deletions
diff --git a/components/script/dom/servoparser/async_html.rs b/components/script/dom/servoparser/async_html.rs
index e1632ffaf3c..899229be8f8 100644
--- a/components/script/dom/servoparser/async_html.rs
+++ b/components/script/dom/servoparser/async_html.rs
@@ -20,7 +20,7 @@ use dom::htmltemplateelement::HTMLTemplateElement;
use dom::node::Node;
use dom::processinginstruction::ProcessingInstruction;
use dom::virtualmethods::vtable_for;
-use html5ever::{Attribute, QualName, ExpandedName};
+use html5ever::{Attribute, LocalName, QualName, ExpandedName};
use html5ever::buffer_queue::BufferQueue;
use html5ever::tendril::StrTendril;
use html5ever::tokenizer::{Tokenizer as HtmlTokenizer, TokenizerOpts, TokenizerResult};
@@ -245,7 +245,13 @@ impl Sink {
self.insert_node(contents, JS::from_ref(template.Content().upcast()));
}
ParseOperation::CreateElement(id, name, attrs) => {
- let elem = Element::create(name, &*self.document,
+ let is = attrs.iter()
+ .find(|attr| attr.name.local.eq_str_ignore_ascii_case("is"))
+ .map(|attr| LocalName::from(&*attr.value));
+
+ let elem = Element::create(name,
+ is,
+ &*self.document,
ElementCreator::ParserCreated(self.current_line));
for attr in attrs {
elem.set_attribute_from_parser(attr.name, DOMString::from(String::from(attr.value)), None);