diff options
author | Connor Brewster <connor.brewster@eagles.oc.edu> | 2017-06-16 14:34:17 -0600 |
---|---|---|
committer | Connor Brewster <connor.brewster@eagles.oc.edu> | 2017-06-23 21:09:55 -0600 |
commit | 2f36d3544fd7082cb5fcb16a43955cbb446bcbd7 (patch) | |
tree | 7e2531ba5c2d978ab1c99c68926bf0e8faf14b1b /components/script/dom/servoparser/mod.rs | |
parent | 6697f5469d0e331d704dc1211c6236b751102bc8 (diff) | |
download | servo-2f36d3544fd7082cb5fcb16a43955cbb446bcbd7.tar.gz servo-2f36d3544fd7082cb5fcb16a43955cbb446bcbd7.zip |
Support `is` option when creating elements
Diffstat (limited to 'components/script/dom/servoparser/mod.rs')
-rw-r--r-- | components/script/dom/servoparser/mod.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/components/script/dom/servoparser/mod.rs b/components/script/dom/servoparser/mod.rs index 6d6edb6d7a8..8e003e44040 100644 --- a/components/script/dom/servoparser/mod.rs +++ b/components/script/dom/servoparser/mod.rs @@ -29,7 +29,7 @@ use dom::processinginstruction::ProcessingInstruction; use dom::text::Text; use dom::virtualmethods::vtable_for; use dom_struct::dom_struct; -use html5ever::{Attribute, QualName, ExpandedName}; +use html5ever::{Attribute, ExpandedName, LocalName, QualName}; use html5ever::buffer_queue::BufferQueue; use html5ever::tendril::{StrTendril, ByteTendril, IncompleteUtf8}; use html5ever::tree_builder::{NodeOrText, TreeSink, NextParserState, QuirksMode, ElementFlags}; @@ -782,7 +782,11 @@ impl TreeSink for Sink { fn create_element(&mut self, name: QualName, attrs: Vec<Attribute>, _flags: ElementFlags) -> JS<Node> { - 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 { |