aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2018-08-08 01:10:03 +0200
committerEmilio Cobos Álvarez <emilio@crisal.io>2018-08-08 01:34:35 +0200
commit689293e4fbeb3852eefcda18304a0ae71dc9b8c2 (patch)
treeeb88f0b050913fdec866d47b91d1a8b40ffb1920
parent6c5456b4b6339596263bd10631b52a126dbc97f5 (diff)
downloadservo-689293e4fbeb3852eefcda18304a0ae71dc9b8c2.tar.gz
servo-689293e4fbeb3852eefcda18304a0ae71dc9b8c2.zip
Fix Servo build.
-rw-r--r--Cargo.lock2
-rw-r--r--components/layout/Cargo.toml1
-rw-r--r--components/layout/animation.rs8
-rw-r--r--components/layout/lib.rs1
-rw-r--r--components/layout_thread/Cargo.toml1
-rw-r--r--components/layout_thread/dom_wrapper.rs19
-rw-r--r--components/layout_thread/lib.rs17
-rw-r--r--components/script/dom/element.rs8
-rw-r--r--components/style/lib.rs1
-rw-r--r--components/style/properties/properties.mako.rs6
-rw-r--r--components/style/values/specified/box.rs1
-rw-r--r--tests/unit/style/stylesheets.rs1
12 files changed, 24 insertions, 42 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 99bf3c46124..fd7951ef009 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1716,6 +1716,7 @@ dependencies = [
"canvas_traits 0.0.1",
"euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)",
"fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gfx 0.0.1",
"gfx_traits 0.0.1",
"html5ever 0.22.3 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1759,6 +1760,7 @@ dependencies = [
"embedder_traits 0.0.1",
"euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)",
"fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gfx 0.0.1",
"gfx_traits 0.0.1",
"histogram 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
diff --git a/components/layout/Cargo.toml b/components/layout/Cargo.toml
index d0604de2c48..ac387d59585 100644
--- a/components/layout/Cargo.toml
+++ b/components/layout/Cargo.toml
@@ -18,6 +18,7 @@ bitflags = "1.0"
canvas_traits = {path = "../canvas_traits"}
euclid = "0.19"
fnv = "1.0"
+fxhash = "0.2"
gfx = {path = "../gfx"}
gfx_traits = {path = "../gfx_traits"}
html5ever = "0.22"
diff --git a/components/layout/animation.rs b/components/layout/animation.rs
index 05718dda00a..3a09094b2a9 100644
--- a/components/layout/animation.rs
+++ b/components/layout/animation.rs
@@ -7,7 +7,7 @@
use context::LayoutContext;
use display_list::items::OpaqueNode;
use flow::{Flow, GetBaseFlow};
-use fnv::FnvHashMap;
+use fxhash::FxHashMap;
use ipc_channel::ipc::IpcSender;
use msg::constellation_msg::PipelineId;
use opaque_node::OpaqueNodeMethods;
@@ -26,8 +26,8 @@ use style::timer::Timer;
pub fn update_animation_state<E>(
constellation_chan: &IpcSender<ConstellationMsg>,
script_chan: &IpcSender<ConstellationControlMsg>,
- running_animations: &mut FnvHashMap<OpaqueNode, Vec<Animation>>,
- expired_animations: &mut FnvHashMap<OpaqueNode, Vec<Animation>>,
+ running_animations: &mut FxHashMap<OpaqueNode, Vec<Animation>>,
+ expired_animations: &mut FxHashMap<OpaqueNode, Vec<Animation>>,
mut newly_transitioning_nodes: Option<&mut Vec<UntrustedNodeAddress>>,
new_animations_receiver: &Receiver<Animation>,
pipeline_id: PipelineId,
@@ -153,7 +153,7 @@ where
pub fn recalc_style_for_animations<E>(
context: &LayoutContext,
flow: &mut Flow,
- animations: &FnvHashMap<OpaqueNode, Vec<Animation>>,
+ animations: &FxHashMap<OpaqueNode, Vec<Animation>>,
)
where
E: TElement,
diff --git a/components/layout/lib.rs b/components/layout/lib.rs
index bb3a3dc20b2..c0c5633ca24 100644
--- a/components/layout/lib.rs
+++ b/components/layout/lib.rs
@@ -11,6 +11,7 @@ extern crate bitflags;
extern crate canvas_traits;
extern crate euclid;
extern crate fnv;
+extern crate fxhash;
extern crate gfx;
extern crate gfx_traits;
#[macro_use] extern crate html5ever;
diff --git a/components/layout_thread/Cargo.toml b/components/layout_thread/Cargo.toml
index 125c57946f6..a17f90e899e 100644
--- a/components/layout_thread/Cargo.toml
+++ b/components/layout_thread/Cargo.toml
@@ -18,6 +18,7 @@ atomic_refcell = "0.1"
embedder_traits = {path = "../embedder_traits"}
euclid = "0.19"
fnv = "1.0"
+fxhash = "0.2"
gfx = {path = "../gfx"}
gfx_traits = {path = "../gfx_traits"}
histogram = "0.6.8"
diff --git a/components/layout_thread/dom_wrapper.rs b/components/layout_thread/dom_wrapper.rs
index 89a21ec64d5..7b2892f7c9a 100644
--- a/components/layout_thread/dom_wrapper.rs
+++ b/components/layout_thread/dom_wrapper.rs
@@ -675,14 +675,6 @@ impl<'le> ::selectors::Element for ServoLayoutElement<'le> {
None
}
- fn first_child_element(&self) -> Option<ServoLayoutElement<'le>> {
- self.as_node().dom_children().filter_map(|n| n.as_element()).next()
- }
-
- fn last_child_element(&self) -> Option<ServoLayoutElement<'le>> {
- self.as_node().rev_children().filter_map(|n| n.as_element()).next()
- }
-
fn prev_sibling_element(&self) -> Option<ServoLayoutElement<'le>> {
let mut node = self.as_node();
while let Some(sibling) = node.prev_sibling() {
@@ -1223,17 +1215,6 @@ impl<'le> ::selectors::Element for ServoThreadSafeLayoutElement<'le> {
None
}
- fn first_child_element(&self) -> Option<Self> {
- warn!("ServoThreadSafeLayoutElement::first_child_element called");
- None
- }
-
- // Skips non-element nodes
- fn last_child_element(&self) -> Option<Self> {
- warn!("ServoThreadSafeLayoutElement::last_child_element called");
- None
- }
-
// Skips non-element nodes
fn prev_sibling_element(&self) -> Option<Self> {
warn!("ServoThreadSafeLayoutElement::prev_sibling_element called");
diff --git a/components/layout_thread/lib.rs b/components/layout_thread/lib.rs
index 3c39b95a28b..1d5676b4b54 100644
--- a/components/layout_thread/lib.rs
+++ b/components/layout_thread/lib.rs
@@ -12,6 +12,7 @@ extern crate atomic_refcell;
extern crate embedder_traits;
extern crate euclid;
extern crate fnv;
+extern crate fxhash;
extern crate gfx;
extern crate gfx_traits;
extern crate histogram;
@@ -59,6 +60,7 @@ use dom_wrapper::drop_style_and_layout_data;
use embedder_traits::resources::{self, Resource};
use euclid::{Point2D, Rect, Size2D, TypedScale, TypedSize2D};
use fnv::FnvHashMap;
+use fxhash::FxHashMap;
use gfx::font;
use gfx::font_cache_thread::FontCacheThread;
use gfx::font_context;
@@ -223,10 +225,10 @@ pub struct LayoutThread {
document_shared_lock: Option<SharedRwLock>,
/// The list of currently-running animations.
- running_animations: ServoArc<RwLock<FnvHashMap<OpaqueNode, Vec<Animation>>>>,
+ running_animations: ServoArc<RwLock<FxHashMap<OpaqueNode, Vec<Animation>>>>,
/// The list of animations that have expired since the last style recalculation.
- expired_animations: ServoArc<RwLock<FnvHashMap<OpaqueNode, Vec<Animation>>>>,
+ expired_animations: ServoArc<RwLock<FxHashMap<OpaqueNode, Vec<Animation>>>>,
/// A counter for epoch messages
epoch: Cell<Epoch>,
@@ -503,7 +505,7 @@ impl LayoutThread {
constellation_chan: constellation_chan.clone(),
time_profiler_chan: time_profiler_chan,
mem_profiler_chan: mem_profiler_chan,
- registered_painters: RegisteredPaintersImpl(FnvHashMap::default()),
+ registered_painters: RegisteredPaintersImpl(Default::default()),
image_cache: image_cache.clone(),
font_cache_thread: font_cache_thread,
first_reflow: Cell::new(true),
@@ -517,8 +519,8 @@ impl LayoutThread {
outstanding_web_fonts: Arc::new(AtomicUsize::new(0)),
root_flow: RefCell::new(None),
document_shared_lock: None,
- running_animations: ServoArc::new(RwLock::new(FnvHashMap::default())),
- expired_animations: ServoArc::new(RwLock::new(FnvHashMap::default())),
+ running_animations: ServoArc::new(RwLock::new(Default::default())),
+ expired_animations: ServoArc::new(RwLock::new(Default::default())),
epoch: Cell::new(Epoch(0)),
viewport_size: Size2D::new(Au(0), Au(0)),
webrender_api: webrender_api_sender.create_api(),
@@ -1813,7 +1815,8 @@ lazy_static! {
struct RegisteredPainterImpl {
painter: Box<Painter>,
name: Atom,
- properties: FnvHashMap<Atom, PropertyId>,
+ // FIXME: Should be a PrecomputedHashMap.
+ properties: FxHashMap<Atom, PropertyId>,
}
impl SpeculativePainter for RegisteredPainterImpl {
@@ -1823,7 +1826,7 @@ impl SpeculativePainter for RegisteredPainterImpl {
}
impl RegisteredSpeculativePainter for RegisteredPainterImpl {
- fn properties(&self) -> &FnvHashMap<Atom, PropertyId> {
+ fn properties(&self) -> &FxHashMap<Atom, PropertyId> {
&self.properties
}
fn name(&self) -> Atom {
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs
index 547367e2f36..af24036efd2 100644
--- a/components/script/dom/element.rs
+++ b/components/script/dom/element.rs
@@ -2640,14 +2640,6 @@ impl<'a> SelectorsElement for DomRoot<Element> {
false
}
- fn first_child_element(&self) -> Option<DomRoot<Element>> {
- self.node.child_elements().next()
- }
-
- fn last_child_element(&self) -> Option<DomRoot<Element>> {
- self.node.rev_children().filter_map(DomRoot::downcast).next()
- }
-
fn prev_sibling_element(&self) -> Option<DomRoot<Element>> {
self.node.preceding_siblings().filter_map(DomRoot::downcast).next()
}
diff --git a/components/style/lib.rs b/components/style/lib.rs
index 519b6187759..a43f3f87c45 100644
--- a/components/style/lib.rs
+++ b/components/style/lib.rs
@@ -93,6 +93,7 @@ extern crate string_cache;
#[macro_use]
extern crate style_derive;
extern crate style_traits;
+#[cfg(feature = "gecko")]
extern crate thin_slice;
extern crate time;
extern crate uluru;
diff --git a/components/style/properties/properties.mako.rs b/components/style/properties/properties.mako.rs
index 809820eae07..fed6d52b7f7 100644
--- a/components/style/properties/properties.mako.rs
+++ b/components/style/properties/properties.mako.rs
@@ -605,8 +605,9 @@ impl NonCustomPropertyId {
COLLECT_FUNCTIONS[self.0](f);
}
+ /// Turns this `NonCustomPropertyId` into a `PropertyId`.
#[inline]
- fn to_property_id(self) -> PropertyId {
+ pub fn to_property_id(self) -> PropertyId {
use std::mem::transmute;
if self.0 < ${len(data.longhands)} {
return unsafe {
@@ -2412,7 +2413,7 @@ pub use gecko_properties::style_structs;
/// The module where all the style structs are defined.
#[cfg(feature = "servo")]
pub mod style_structs {
- use fx::FxHasher;
+ use fxhash::FxHasher;
use super::longhands;
use std::hash::{Hash, Hasher};
use logical_geometry::WritingMode;
@@ -4265,6 +4266,7 @@ pub enum AliasId {
#[derive(Clone, Copy, Eq, PartialEq)]
enum AliasedPropertyId {
+ #[allow(dead_code)] // Servo doesn't have aliased shorthands.
Shorthand(ShorthandId),
Longhand(LonghandId),
}
diff --git a/components/style/values/specified/box.rs b/components/style/values/specified/box.rs
index f1295fa5f0b..11084ce7d44 100644
--- a/components/style/values/specified/box.rs
+++ b/components/style/values/specified/box.rs
@@ -19,7 +19,6 @@ use values::generics::box_::VerticalAlign as GenericVerticalAlign;
use values::specified::{AllowQuirks, Number};
use values::specified::length::{LengthOrPercentage, NonNegativeLength};
-#[cfg(feature = "gecko")]
fn in_ua_or_chrome_sheet(context: &ParserContext) -> bool {
use stylesheets::Origin;
context.stylesheet_origin == Origin::UserAgent ||
diff --git a/tests/unit/style/stylesheets.rs b/tests/unit/style/stylesheets.rs
index 78e4b0a7bca..824c7cab417 100644
--- a/tests/unit/style/stylesheets.rs
+++ b/tests/unit/style/stylesheets.rs
@@ -98,7 +98,6 @@ fn test_parse_stylesheet() {
}),
Component::AttributeInNoNamespace {
local_name: local_name!("type"),
- local_name_lower: local_name!("type"),
operator: AttrSelectorOperator::Equal,
value: "hidden".to_owned(),
case_sensitivity: ParsedCaseSensitivity::AsciiCaseInsensitive,