Auto merge of #11242 - bholley:gecko_atoms, r=emilio

Add basic support for Gecko atoms

This is a rough initial implementation of gecko atoms. This allows us to get rid of the custom rust-selectors branch we use to build stylo.

The gecko changes are at https://bugzilla.mozilla.org/show_bug.cgi?id=1273771

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11242)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2016-05-18 11:35:28 -07:00
commit e3be7184fb
26 changed files with 5170 additions and 189 deletions

View file

@ -83,7 +83,7 @@ use std::default::Default;
use std::mem;
use std::sync::Arc;
use std::sync::atomic::{AtomicUsize, Ordering};
use string_cache::{Atom, Namespace, QualName};
use string_cache::{Atom, BorrowedAtom, BorrowedNamespace, Namespace, QualName};
use style::element_state::*;
use style::properties::DeclaredValue;
use style::properties::longhands::{self, background_image, border_spacing, font_family, overflow_x, font_size};
@ -2131,12 +2131,12 @@ impl<'a> ::selectors::Element for Root<Element> {
})
}
fn get_local_name(&self) -> &Atom {
self.local_name()
fn get_local_name(&self) -> BorrowedAtom {
BorrowedAtom(self.local_name())
}
fn get_namespace(&self) -> &Namespace {
self.namespace()
fn get_namespace(&self) -> BorrowedNamespace {
BorrowedNamespace(self.namespace())
}
fn match_non_ts_pseudo_class(&self, pseudo_class: NonTSPseudoClass) -> bool {