diff options
Diffstat (limited to 'components/style/servo/selector_parser.rs')
-rw-r--r-- | components/style/servo/selector_parser.rs | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/components/style/servo/selector_parser.rs b/components/style/servo/selector_parser.rs index b231265775a..ae47b993ebc 100644 --- a/components/style/servo/selector_parser.rs +++ b/components/style/servo/selector_parser.rs @@ -8,7 +8,7 @@ use {Atom, Prefix, Namespace, LocalName, CaseSensitivityExt}; use attr::{AttrIdentifier, AttrValue}; -use cssparser::{Parser as CssParser, ToCss, serialize_identifier, CompactCowStr}; +use cssparser::{Parser as CssParser, ToCss, serialize_identifier, CowRcStr}; use dom::{OpaqueNode, TElement, TNode}; use element_state::ElementState; use fnv::FnvHashMap; @@ -20,7 +20,6 @@ use selectors::attr::{AttrSelectorOperation, NamespaceConstraint, CaseSensitivit use selectors::parser::{SelectorMethods, SelectorParseError}; use selectors::visitor::SelectorVisitor; use std::ascii::AsciiExt; -use std::borrow::Cow; use std::fmt; use std::fmt::Debug; use std::mem; @@ -334,7 +333,7 @@ impl<'a, 'i> ::selectors::Parser<'i> for SelectorParser<'a> { type Impl = SelectorImpl; type Error = StyleParseError<'i>; - fn parse_non_ts_pseudo_class(&self, name: CompactCowStr<'i>) + fn parse_non_ts_pseudo_class(&self, name: CowRcStr<'i>) -> Result<NonTSPseudoClass, ParseError<'i>> { use self::NonTSPseudoClass::*; let pseudo_class = match_ignore_ascii_case! { &name, @@ -367,19 +366,19 @@ impl<'a, 'i> ::selectors::Parser<'i> for SelectorParser<'a> { } fn parse_non_ts_functional_pseudo_class<'t>(&self, - name: CompactCowStr<'i>, + name: CowRcStr<'i>, parser: &mut CssParser<'i, 't>) -> Result<NonTSPseudoClass, ParseError<'i>> { use self::NonTSPseudoClass::*; let pseudo_class = match_ignore_ascii_case!{ &name, "lang" => { - Lang(parser.expect_ident_or_string()?.into_owned().into_boxed_str()) + Lang(parser.expect_ident_or_string()?.as_ref().into()) } "-servo-case-sensitive-type-attr" => { if !self.in_user_agent_stylesheet() { return Err(SelectorParseError::UnexpectedIdent(name.clone()).into()); } - ServoCaseSensitiveTypeAttr(Atom::from(Cow::from(parser.expect_ident()?))) + ServoCaseSensitiveTypeAttr(Atom::from(parser.expect_ident()?.as_ref())) } _ => return Err(SelectorParseError::UnexpectedIdent(name.clone()).into()) }; @@ -387,7 +386,7 @@ impl<'a, 'i> ::selectors::Parser<'i> for SelectorParser<'a> { Ok(pseudo_class) } - fn parse_pseudo_element(&self, name: CompactCowStr<'i>) -> Result<PseudoElement, ParseError<'i>> { + fn parse_pseudo_element(&self, name: CowRcStr<'i>) -> Result<PseudoElement, ParseError<'i>> { use self::PseudoElement::*; let pseudo_element = match_ignore_ascii_case! { &name, "before" => Before, |