aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/servoparser/mod.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/mod.rs
parent6697f5469d0e331d704dc1211c6236b751102bc8 (diff)
downloadservo-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.rs8
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 {