From e164e87e98ac0dd79a7ac2a933d38733c21e1a0e Mon Sep 17 00:00:00 2001 From: Martin Robinson Date: Tue, 8 Nov 2016 15:47:08 +0100 Subject: [PATCH] Deal with changes to the WebRender API The WebRender display list is now similar to the Servo display list, which simplifies the conversion. --- components/layout/webrender_helpers.rs | 238 +++++++------------------ components/layout_thread/lib.rs | 30 ++-- components/servo/Cargo.lock | 44 ++--- ports/cef/Cargo.lock | 44 ++--- 4 files changed, 115 insertions(+), 241 deletions(-) diff --git a/components/layout/webrender_helpers.rs b/components/layout/webrender_helpers.rs index 07979940314..0dec6409a49 100644 --- a/components/layout/webrender_helpers.rs +++ b/components/layout/webrender_helpers.rs @@ -10,46 +10,20 @@ use app_units::Au; use euclid::{Matrix4D, Point2D, Rect, Size2D, TypedRect}; use gfx::display_list::{BorderRadii, BoxShadowClipMode, ClippingRegion}; -use gfx::display_list::{DisplayItem, DisplayList, DisplayListTraversal}; -use gfx::display_list::{StackingContext, StackingContextType}; +use gfx::display_list::{DisplayItem, DisplayList, DisplayListTraversal, StackingContextType}; use gfx_traits::{FragmentType, ScrollPolicy, StackingContextId, ScrollRootId}; use style::computed_values::{image_rendering, mix_blend_mode}; use style::computed_values::filter::{self, Filter}; use style::values::computed::BorderStyle; -use webrender_traits::{self, AuxiliaryListsBuilder, DisplayListId, PipelineId}; - -trait WebRenderStackingContextConverter { - fn convert_to_webrender<'a>(&self, - traversal: &mut DisplayListTraversal<'a>, - api: &mut webrender_traits::RenderApi, - pipeline_id: webrender_traits::PipelineId, - epoch: webrender_traits::Epoch, - frame_builder: &mut WebRenderFrameBuilder, - scroll_layer_id: Option) - -> webrender_traits::StackingContextId; - - fn convert_children_to_webrender<'a>(&self, - traversal: &mut DisplayListTraversal<'a>, - api: &mut webrender_traits::RenderApi, - pipeline_id: webrender_traits::PipelineId, - epoch: webrender_traits::Epoch, - builder: &mut webrender_traits::DisplayListBuilder, - frame_builder: &mut WebRenderFrameBuilder, - force_positioned_stacking_level: bool); -} +use webrender_traits::{self, AuxiliaryListsBuilder, BuiltDisplayList, DisplayListBuilder, PipelineId}; pub trait WebRenderDisplayListConverter { - fn convert_to_webrender(&self, - api: &mut webrender_traits::RenderApi, - pipeline_id: webrender_traits::PipelineId, - epoch: webrender_traits::Epoch, - frame_builder: &mut WebRenderFrameBuilder) - -> webrender_traits::StackingContextId; + fn convert_to_webrender(&self, frame_builder: &mut WebRenderFrameBuilder) -> BuiltDisplayList; } trait WebRenderDisplayItemConverter { fn convert_to_webrender(&self, - builder: &mut webrender_traits::DisplayListBuilder, + builder: &mut DisplayListBuilder, frame_builder: &mut WebRenderFrameBuilder); } @@ -73,7 +47,6 @@ impl ToBorderStyle for BorderStyle { } } } - trait ToBoxShadowClipMode { fn to_clip_mode(&self) -> webrender_traits::BoxShadowClipMode; } @@ -222,128 +195,20 @@ impl ToFilterOps for filter::T { } } -impl WebRenderStackingContextConverter for StackingContext { - fn convert_children_to_webrender<'a>(&self, - traversal: &mut DisplayListTraversal<'a>, - api: &mut webrender_traits::RenderApi, - pipeline_id: webrender_traits::PipelineId, - epoch: webrender_traits::Epoch, - builder: &mut webrender_traits::DisplayListBuilder, - frame_builder: &mut WebRenderFrameBuilder, - _force_positioned_stacking_level: bool) { - while let Some(item) = traversal.next() { - match item { - &DisplayItem::PushStackingContext(ref stacking_context_item) => { - let stacking_context = &stacking_context_item.stacking_context; - debug_assert!(stacking_context.context_type == StackingContextType::Real); - builder.push_stacking_context( - stacking_context.convert_to_webrender(traversal, - api, - pipeline_id, - epoch, - frame_builder, - None)); - } - &DisplayItem::PushScrollRoot(ref item) => { - let stacking_context = StackingContext::new( - StackingContextId::new(0), - StackingContextType::Real, - &item.scroll_root.clip, - &TypedRect::new(Point2D::zero(), item.scroll_root.size), - 0, - filter::T::new(Vec::new()), - mix_blend_mode::T::normal, - Matrix4D::identity(), - Matrix4D::identity(), - true, - ScrollPolicy::Scrollable, - ScrollRootId::root()); - let scroll_layer_id = - Some(frame_builder.next_scroll_layer_id(item.scroll_root.id)); - builder.push_stacking_context( - stacking_context.convert_to_webrender(traversal, - api, - pipeline_id, - epoch, - frame_builder, - scroll_layer_id)); - } - &DisplayItem::PopStackingContext(_) | &DisplayItem::PopScrollRoot(_) => return, - _ => item.convert_to_webrender(builder, frame_builder), - } - } - } - - fn convert_to_webrender<'a>(&self, - traversal: &mut DisplayListTraversal<'a>, - api: &mut webrender_traits::RenderApi, - pipeline_id: webrender_traits::PipelineId, - epoch: webrender_traits::Epoch, - frame_builder: &mut WebRenderFrameBuilder, - scroll_layer_id: Option) - -> webrender_traits::StackingContextId { - let webrender_scroll_policy = match self.scroll_policy { - ScrollPolicy::Scrollable => webrender_traits::ScrollPolicy::Scrollable, - ScrollPolicy::FixedPosition => webrender_traits::ScrollPolicy::Fixed, - }; - - let mut sc = - webrender_traits::StackingContext::new(scroll_layer_id, - webrender_scroll_policy, - self.bounds.to_rectf(), - self.overflow.to_rectf(), - self.z_index, - &self.transform, - &self.perspective, - self.establishes_3d_context, - self.blend_mode.to_blend_mode(), - self.filters.to_filter_ops(), - &mut frame_builder.auxiliary_lists_builder); - - let mut builder = webrender_traits::DisplayListBuilder::new(); - self.convert_children_to_webrender(traversal, - api, - pipeline_id, - epoch, - &mut builder, - frame_builder, - false); - - frame_builder.add_display_list(api, builder.finalize(), &mut sc); - frame_builder.add_stacking_context(api, pipeline_id, sc) - } -} - impl WebRenderDisplayListConverter for DisplayList { - fn convert_to_webrender(&self, - api: &mut webrender_traits::RenderApi, - pipeline_id: webrender_traits::PipelineId, - epoch: webrender_traits::Epoch, - frame_builder: &mut WebRenderFrameBuilder) - -> webrender_traits::StackingContextId { - let mut traversal = DisplayListTraversal::new(self); - let item = traversal.next(); - match item { - Some(&DisplayItem::PushStackingContext(ref stacking_context_item)) => { - let stacking_context = &stacking_context_item.stacking_context; - let scroll_layer_id = - Some(frame_builder.next_scroll_layer_id(ScrollRootId::root())); - stacking_context.convert_to_webrender(&mut traversal, - api, - pipeline_id, - epoch, - frame_builder, - scroll_layer_id) - } - _ => unreachable!("DisplayList did not start with StackingContext."), - + fn convert_to_webrender(&self, frame_builder: &mut WebRenderFrameBuilder) -> BuiltDisplayList { + let traversal = DisplayListTraversal::new(self); + let mut builder = DisplayListBuilder::new(); + for item in traversal { + item.convert_to_webrender(&mut builder, frame_builder); } + builder.finalize() } } impl WebRenderDisplayItemConverter for DisplayItem { fn convert_to_webrender(&self, - builder: &mut webrender_traits::DisplayListBuilder, + builder: &mut DisplayListBuilder, frame_builder: &mut WebRenderFrameBuilder) { match *self { DisplayItem::SolidColor(ref item) => { @@ -472,19 +337,60 @@ impl WebRenderDisplayItemConverter for DisplayItem { item.base.clip.to_clip_region(frame_builder), pipeline_id); } - DisplayItem::PushStackingContext(_) | - DisplayItem::PopStackingContext(_) | - DisplayItem::PushScrollRoot(_) | - DisplayItem::PopScrollRoot(_) => - unreachable!("Tried to convert a scroll root or stacking context structure item."), + DisplayItem::PushStackingContext(ref item) => { + let stacking_context = &item.stacking_context; + debug_assert!(stacking_context.context_type == StackingContextType::Real); + + let webrender_scroll_policy = match stacking_context.scroll_policy { + ScrollPolicy::Scrollable => webrender_traits::ScrollPolicy::Scrollable, + ScrollPolicy::FixedPosition => webrender_traits::ScrollPolicy::Fixed, + }; + + let scroll_layer_id = if stacking_context.id == StackingContextId::root() { + Some(frame_builder.next_scroll_layer_id(ScrollRootId::root())) + } else { + None + }; + + let context = + webrender_traits::StackingContext::new( + scroll_layer_id, + webrender_scroll_policy, + stacking_context.bounds.to_rectf(), + stacking_context.overflow.to_rectf(), + stacking_context.z_index, + &stacking_context.transform, + &stacking_context.perspective, + stacking_context.establishes_3d_context, + stacking_context.blend_mode.to_blend_mode(), + stacking_context.filters.to_filter_ops(), + &mut frame_builder.auxiliary_lists_builder); + builder.push_stacking_context(context); + + } + DisplayItem::PopStackingContext(_) => builder.pop_stacking_context(), + DisplayItem::PushScrollRoot(ref item) => { + let overflow = TypedRect::new(Point2D::zero(), item.scroll_root.size); + let context = webrender_traits::StackingContext::new( + Some(frame_builder.next_scroll_layer_id(item.scroll_root.id)), + webrender_traits::ScrollPolicy::Scrollable, + item.scroll_root.clip.to_rectf(), + overflow.to_rectf(), + 0, + &Matrix4D::identity(), + &Matrix4D::identity(), + true, + mix_blend_mode::T::normal.to_blend_mode(), + filter::T::new(Vec::new()).to_filter_ops(), + &mut frame_builder.auxiliary_lists_builder); + builder.push_stacking_context(context); + } + DisplayItem::PopScrollRoot(_) => builder.pop_stacking_context(), } } } pub struct WebRenderFrameBuilder { - pub stacking_contexts: Vec<(webrender_traits::StackingContextId, - webrender_traits::StackingContext)>, - pub display_lists: Vec<(DisplayListId, webrender_traits::BuiltDisplayList)>, pub auxiliary_lists_builder: AuxiliaryListsBuilder, pub root_pipeline_id: PipelineId, pub next_scroll_layer_id: usize, @@ -493,36 +399,12 @@ pub struct WebRenderFrameBuilder { impl WebRenderFrameBuilder { pub fn new(root_pipeline_id: PipelineId) -> WebRenderFrameBuilder { WebRenderFrameBuilder { - stacking_contexts: vec![], - display_lists: vec![], auxiliary_lists_builder: AuxiliaryListsBuilder::new(), root_pipeline_id: root_pipeline_id, next_scroll_layer_id: 0, } } - pub fn add_stacking_context(&mut self, - api: &mut webrender_traits::RenderApi, - pipeline_id: PipelineId, - stacking_context: webrender_traits::StackingContext) - -> webrender_traits::StackingContextId { - assert!(pipeline_id == self.root_pipeline_id); - let id = api.next_stacking_context_id(); - self.stacking_contexts.push((id, stacking_context)); - id - } - - pub fn add_display_list(&mut self, - api: &mut webrender_traits::RenderApi, - display_list: webrender_traits::BuiltDisplayList, - stacking_context: &mut webrender_traits::StackingContext) - -> DisplayListId { - let id = api.next_display_list_id(); - stacking_context.display_lists.push(id); - self.display_lists.push((id, display_list)); - id - } - pub fn next_scroll_layer_id(&mut self, scroll_root_id: ScrollRootId) -> webrender_traits::ScrollLayerId { diff --git a/components/layout_thread/lib.rs b/components/layout_thread/lib.rs index ce08a1ab010..fbb7d2fb724 100644 --- a/components/layout_thread/lib.rs +++ b/components/layout_thread/lib.rs @@ -939,33 +939,25 @@ impl LayoutThread { debug!("Layout done!"); - self.epoch.next(); - // TODO: Avoid the temporary conversion and build webrender sc/dl directly! - let Epoch(epoch_number) = self.epoch; - let epoch = webrender_traits::Epoch(epoch_number); let pipeline_id = self.id.to_webrender(); - - // TODO(gw) For now only create a root scrolling layer! let mut frame_builder = WebRenderFrameBuilder::new(pipeline_id); - let sc_id = rw_data.display_list.as_ref().unwrap().convert_to_webrender( - &mut self.webrender_api, - pipeline_id, - epoch, + let built_display_list = rw_data.display_list.as_ref().unwrap().convert_to_webrender( &mut frame_builder); - let root_background_color = get_root_flow_background_color(layout_root); let viewport_size = Size2D::new(self.viewport_size.width.to_f32_px(), self.viewport_size.height.to_f32_px()); - self.webrender_api.set_root_stacking_context(sc_id, - root_background_color, - epoch, - pipeline_id, - viewport_size, - frame_builder.stacking_contexts, - frame_builder.display_lists, - frame_builder.auxiliary_lists_builder.finalize()); + self.epoch.next(); + let Epoch(epoch_number) = self.epoch; + + self.webrender_api.set_root_display_list( + get_root_flow_background_color(layout_root), + webrender_traits::Epoch(epoch_number), + pipeline_id, + viewport_size, + built_display_list, + frame_builder.auxiliary_lists_builder.finalize()); }); } diff --git a/components/servo/Cargo.lock b/components/servo/Cargo.lock index 4aca3fbb4b9..a4d60761fb1 100644 --- a/components/servo/Cargo.lock +++ b/components/servo/Cargo.lock @@ -49,8 +49,8 @@ dependencies = [ "util 0.0.1", "util_tests 0.0.1", "webdriver_server 0.0.1", - "webrender 0.8.1 (git+https://github.com/servo/webrender)", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender 0.9.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -278,7 +278,7 @@ dependencies = [ "offscreen_gl_context 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "util 0.0.1", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -294,7 +294,7 @@ dependencies = [ "plugins 0.0.1", "serde 0.8.17 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 0.8.17 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -396,8 +396,8 @@ dependencies = [ "time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", - "webrender 0.8.1 (git+https://github.com/servo/webrender)", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender 0.9.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -430,7 +430,7 @@ dependencies = [ "style_traits 0.0.1", "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -900,7 +900,7 @@ dependencies = [ "unicode-script 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", "xi-unicode 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1280,7 +1280,7 @@ dependencies = [ "unicode-script 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -1321,7 +1321,7 @@ dependencies = [ "style 0.0.1", "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -1335,7 +1335,7 @@ dependencies = [ "profile_traits 0.0.1", "script_traits 0.0.1", "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -1531,7 +1531,7 @@ dependencies = [ "plugins 0.0.1", "serde 0.8.17 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 0.8.17 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -1569,7 +1569,7 @@ dependencies = [ "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", "uuid 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", "websocket 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1628,7 +1628,7 @@ dependencies = [ "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", "uuid 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", "websocket 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2162,7 +2162,7 @@ dependencies = [ "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", "uuid 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", "websocket 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)", "xml5ever 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2955,8 +2955,8 @@ dependencies = [ [[package]] name = "webrender" -version = "0.8.1" -source = "git+https://github.com/servo/webrender#0f79d9dc449e324ca8bee0b8f82bc1459ba2dba6" +version = "0.9.0" +source = "git+https://github.com/servo/webrender#087516eab125a16ce150ade696b9de7fcef4980e" dependencies = [ "app_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2977,13 +2977,13 @@ dependencies = [ "offscreen_gl_context 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "rayon 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", ] [[package]] name = "webrender_traits" -version = "0.8.1" -source = "git+https://github.com/servo/webrender#0f79d9dc449e324ca8bee0b8f82bc1459ba2dba6" +version = "0.9.0" +source = "git+https://github.com/servo/webrender#087516eab125a16ce150ade696b9de7fcef4980e" dependencies = [ "app_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3338,8 +3338,8 @@ dependencies = [ "checksum wayland-sys 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9633f7fe5de56544215f82eaf1b76bf1b584becf7f08b58cbef4c2c7d10e803a" "checksum wayland-window 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "309b69d3a863c9c21422d889fb7d98cf02f8a2ca054960a49243ce5b67ad884c" "checksum webdriver 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6d43d9121a4d0313abca5fb621f094791300176cac493ce74ad2cc188bddac29" -"checksum webrender 0.8.1 (git+https://github.com/servo/webrender)" = "" -"checksum webrender_traits 0.8.1 (git+https://github.com/servo/webrender)" = "" +"checksum webrender 0.9.0 (git+https://github.com/servo/webrender)" = "" +"checksum webrender_traits 0.9.0 (git+https://github.com/servo/webrender)" = "" "checksum websocket 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4a1a6ea5ed0367f32eb3d94dcc58859ef4294b5f75ba983dbf56ac314af45d" "checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" "checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" diff --git a/ports/cef/Cargo.lock b/ports/cef/Cargo.lock index 777d3bb45c4..042e620cb8b 100644 --- a/ports/cef/Cargo.lock +++ b/ports/cef/Cargo.lock @@ -248,7 +248,7 @@ dependencies = [ "offscreen_gl_context 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "util 0.0.1", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -264,7 +264,7 @@ dependencies = [ "plugins 0.0.1", "serde 0.8.17 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 0.8.17 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -336,8 +336,8 @@ dependencies = [ "time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", - "webrender 0.8.1 (git+https://github.com/servo/webrender)", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender 0.9.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -370,7 +370,7 @@ dependencies = [ "style_traits 0.0.1", "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -799,7 +799,7 @@ dependencies = [ "unicode-script 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", "xi-unicode 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1170,7 +1170,7 @@ dependencies = [ "unicode-script 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -1204,7 +1204,7 @@ dependencies = [ "style 0.0.1", "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -1218,7 +1218,7 @@ dependencies = [ "profile_traits 0.0.1", "script_traits 0.0.1", "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -1414,7 +1414,7 @@ dependencies = [ "plugins 0.0.1", "serde 0.8.17 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 0.8.17 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -1452,7 +1452,7 @@ dependencies = [ "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", "uuid 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", "websocket 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1489,7 +1489,7 @@ dependencies = [ "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", "uuid 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", "websocket 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1983,7 +1983,7 @@ dependencies = [ "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", "uuid 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", "websocket 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)", "xml5ever 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2148,8 +2148,8 @@ dependencies = [ "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", "webdriver_server 0.0.1", - "webrender 0.8.1 (git+https://github.com/servo/webrender)", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender 0.9.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -2769,8 +2769,8 @@ dependencies = [ [[package]] name = "webrender" -version = "0.8.1" -source = "git+https://github.com/servo/webrender#0f79d9dc449e324ca8bee0b8f82bc1459ba2dba6" +version = "0.9.0" +source = "git+https://github.com/servo/webrender#087516eab125a16ce150ade696b9de7fcef4980e" dependencies = [ "app_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2791,13 +2791,13 @@ dependencies = [ "offscreen_gl_context 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "rayon 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.8.1 (git+https://github.com/servo/webrender)", + "webrender_traits 0.9.0 (git+https://github.com/servo/webrender)", ] [[package]] name = "webrender_traits" -version = "0.8.1" -source = "git+https://github.com/servo/webrender#0f79d9dc449e324ca8bee0b8f82bc1459ba2dba6" +version = "0.9.0" +source = "git+https://github.com/servo/webrender#087516eab125a16ce150ade696b9de7fcef4980e" dependencies = [ "app_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3141,8 +3141,8 @@ dependencies = [ "checksum wayland-sys 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9633f7fe5de56544215f82eaf1b76bf1b584becf7f08b58cbef4c2c7d10e803a" "checksum wayland-window 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "309b69d3a863c9c21422d889fb7d98cf02f8a2ca054960a49243ce5b67ad884c" "checksum webdriver 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6d43d9121a4d0313abca5fb621f094791300176cac493ce74ad2cc188bddac29" -"checksum webrender 0.8.1 (git+https://github.com/servo/webrender)" = "" -"checksum webrender_traits 0.8.1 (git+https://github.com/servo/webrender)" = "" +"checksum webrender 0.9.0 (git+https://github.com/servo/webrender)" = "" +"checksum webrender_traits 0.9.0 (git+https://github.com/servo/webrender)" = "" "checksum websocket 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4a1a6ea5ed0367f32eb3d94dcc58859ef4294b5f75ba983dbf56ac314af45d" "checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" "checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"