mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Update to selectors 0.15
This commit is contained in:
parent
a89ba50180
commit
82b13d50e3
21 changed files with 215 additions and 146 deletions
|
@ -16,7 +16,7 @@ euclid = "0.10.1"
|
|||
owning_ref = "0.2.2"
|
||||
parking_lot = "0.3"
|
||||
rustc-serialize = "0.3"
|
||||
selectors = "0.14"
|
||||
selectors = "0.15"
|
||||
html5ever-atoms = "0.1"
|
||||
servo_atoms = {path = "../../../components/atoms"}
|
||||
style = {path = "../../../components/style"}
|
||||
|
|
|
@ -3,14 +3,18 @@
|
|||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use cssparser::{Parser, ToCss};
|
||||
use selectors::parser::{Selector, ParserContext, parse_selector_list};
|
||||
use style::selector_parser::TheSelectorImpl;
|
||||
use selectors::parser::SelectorList;
|
||||
use style::selector_parser::{TheSelectorImpl, SelectorParser};
|
||||
use style::stylesheets::{Origin, Namespaces};
|
||||
|
||||
fn parse(input: &mut Parser) -> Result<Selector<TheSelectorImpl>, ()> {
|
||||
let mut context = ParserContext::new();
|
||||
context.in_user_agent_stylesheet = true;
|
||||
context.namespace_prefixes.insert("svg".into(), ns!(svg));
|
||||
parse_selector_list(&context, input).map(|mut vec| vec.pop().unwrap())
|
||||
fn parse(input: &mut Parser) -> Result<SelectorList<TheSelectorImpl>, ()> {
|
||||
let mut ns = Namespaces::default();
|
||||
ns.prefixes.insert("svg".into(), ns!(svg));
|
||||
let parser = SelectorParser {
|
||||
stylesheet_origin: Origin::UserAgent,
|
||||
namespaces: &ns,
|
||||
};
|
||||
SelectorList::parse(&parser, input)
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use cssparser::{self, Parser, SourcePosition};
|
||||
use cssparser::{self, Parser as CssParser, SourcePosition};
|
||||
use html5ever_atoms::{Namespace as NsAtom};
|
||||
use media_queries::CSSErrorReporterTest;
|
||||
use parking_lot::RwLock;
|
||||
|
@ -282,7 +282,7 @@ impl CSSInvalidErrorReporterTest {
|
|||
}
|
||||
|
||||
impl ParseErrorReporter for CSSInvalidErrorReporterTest {
|
||||
fn report_error(&self, input: &mut Parser, position: SourcePosition, message: &str) {
|
||||
fn report_error(&self, input: &mut CssParser, position: SourcePosition, message: &str) {
|
||||
let location = input.source_location(position);
|
||||
|
||||
let errors = self.errors.clone();
|
||||
|
|
|
@ -5,11 +5,12 @@
|
|||
use cssparser::Parser;
|
||||
use html5ever_atoms::LocalName;
|
||||
use parking_lot::RwLock;
|
||||
use selectors::parser::{LocalName as LocalNameSelector, ParserContext, parse_selector_list};
|
||||
use selectors::parser::LocalName as LocalNameSelector;
|
||||
use servo_atoms::Atom;
|
||||
use std::sync::Arc;
|
||||
use style::properties::{PropertyDeclarationBlock, PropertyDeclaration, DeclaredValue};
|
||||
use style::properties::{longhands, Importance};
|
||||
use style::selector_parser::SelectorParser;
|
||||
use style::stylesheets::StyleRule;
|
||||
use style::stylist::{Rule, SelectorMap};
|
||||
use style::thread_state;
|
||||
|
@ -18,9 +19,7 @@ use style::thread_state;
|
|||
/// Each sublist of the result contains the Rules for one StyleRule.
|
||||
fn get_mock_rules(css_selectors: &[&str]) -> Vec<Vec<Rule>> {
|
||||
css_selectors.iter().enumerate().map(|(i, selectors)| {
|
||||
let context = ParserContext::new();
|
||||
let selectors =
|
||||
parse_selector_list(&context, &mut Parser::new(*selectors)).unwrap();
|
||||
let selectors = SelectorParser::parse_author_origin_no_namespace(selectors).unwrap().0;
|
||||
|
||||
let rule = Arc::new(RwLock::new(StyleRule {
|
||||
selectors: selectors,
|
||||
|
|
|
@ -21,7 +21,7 @@ libc = "0.2"
|
|||
log = {version = "0.3.5", features = ["release_max_level_info"]}
|
||||
num_cpus = "1.1.0"
|
||||
parking_lot = "0.3"
|
||||
selectors = "0.14"
|
||||
selectors = "0.15"
|
||||
servo_url = {path = "../../../components/url"}
|
||||
style_traits = {path = "../../../components/style_traits"}
|
||||
geckoservo = {path = "../../../ports/geckolib"}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue