diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2017-07-24 06:27:00 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-24 06:27:00 -0700 |
commit | 4f0821192c112943bb53b4fb04303c1afdde06e6 (patch) | |
tree | 5bbf738c07ca64417fc48a353b8680b609e0da28 /components/style/servo/selector_parser.rs | |
parent | 9f412caab21ae407173187cdb5d0250fb1ae6b37 (diff) | |
parent | eb98ae6e044ff6fb5ce3cfc6b39c70d40e9880a9 (diff) | |
download | servo-4f0821192c112943bb53b4fb04303c1afdde06e6.tar.gz servo-4f0821192c112943bb53b4fb04303c1afdde06e6.zip |
Auto merge of #17820 - servo:token-cache, r=emilio
Update cssparser to 0.18
Do not merge yet, depends on https://github.com/servo/rust-cssparser/pull/171.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17820)
<!-- Reviewable:end -->
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, |