forked from mirrors/gecko-dev
		
	This fixes the failures in bug 1671573 and just works thanks to the
invalidation improvements I did for :is / :where.
Added a couple tests for invalidation which is the tricky bit. 001 is a
very straight-forward test, 002 is the :is test but with :is() replaced
by double-:not().
This also fixes default namespaces inside :is() / :where(), which are
supposed to get ignored, but aren't. Added tests for that and for the
pre-existing :not() behavior which Chrome doesn't quite get right.
Differential Revision: https://phabricator.services.mozilla.com/D94142
		
	
			
		
			
				
	
	
		
			40 lines
		
	
	
	
		
			956 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			956 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
/* This Source Code Form is subject to the terms of the Mozilla Public
 | 
						|
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
						|
 * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
 | 
						|
 | 
						|
// Make |cargo bench| work.
 | 
						|
#![cfg_attr(feature = "bench", feature(test))]
 | 
						|
 | 
						|
#[macro_use]
 | 
						|
extern crate bitflags;
 | 
						|
#[macro_use]
 | 
						|
extern crate cssparser;
 | 
						|
#[macro_use]
 | 
						|
extern crate derive_more;
 | 
						|
extern crate fxhash;
 | 
						|
#[macro_use]
 | 
						|
extern crate log;
 | 
						|
#[macro_use]
 | 
						|
extern crate matches;
 | 
						|
extern crate phf;
 | 
						|
extern crate precomputed_hash;
 | 
						|
extern crate servo_arc;
 | 
						|
extern crate smallvec;
 | 
						|
extern crate to_shmem;
 | 
						|
#[macro_use]
 | 
						|
extern crate to_shmem_derive;
 | 
						|
 | 
						|
pub mod attr;
 | 
						|
pub mod bloom;
 | 
						|
mod builder;
 | 
						|
pub mod context;
 | 
						|
pub mod matching;
 | 
						|
mod nth_index_cache;
 | 
						|
pub mod parser;
 | 
						|
pub mod sink;
 | 
						|
mod tree;
 | 
						|
pub mod visitor;
 | 
						|
 | 
						|
pub use crate::nth_index_cache::NthIndexCache;
 | 
						|
pub use crate::parser::{Parser, SelectorImpl, SelectorList};
 | 
						|
pub use crate::tree::{Element, OpaqueElement};
 |