Auto merge of #15419 - glennw:update-wr-lots-of-stuff, r=jdm

Update WR

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/15419)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2017-02-06 23:19:54 -08:00 committed by GitHub
commit bf814aa5ba
13 changed files with 113 additions and 238 deletions

View file

@ -361,11 +361,6 @@ impl webrender_traits::RenderNotifier for RenderNotifier {
fn new_scroll_frame_ready(&mut self, composite_needed: bool) {
self.compositor_proxy.send(Msg::NewScrollFrameReady(composite_needed));
}
fn pipeline_size_changed(&mut self,
_: webrender_traits::PipelineId,
_: Option<webrender_traits::LayoutSize>) {
}
}
// Used to dispatch functions from webrender to the main thread's event loop.

View file

@ -48,9 +48,9 @@ features = ["serde_derive", "ipc"]
[target.'cfg(target_os = "macos")'.dependencies]
byteorder = "1.0"
core-foundation = "0.2"
core-graphics = "0.5"
core-text = "2.0"
core-foundation = "0.3"
core-graphics = "0.6"
core-text = "3.0"
[target.'cfg(any(target_os = "linux", target_os = "android"))'.dependencies]
freetype = "0.2"

View file

@ -16,7 +16,7 @@ use msg::constellation_msg::PipelineId;
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, DisplayListBuilder, LayoutTransform};
use webrender_traits::{self, DisplayListBuilder, ExtendMode, LayoutTransform};
pub trait WebRenderDisplayListConverter {
fn convert_to_webrender(&self, pipeline_id: PipelineId) -> DisplayListBuilder;
@ -229,8 +229,8 @@ impl WebRenderDisplayItemConverter for DisplayItem {
let glyph_offset = glyph.offset().unwrap_or(Point2D::zero());
let glyph = webrender_traits::GlyphInstance {
index: glyph.id(),
x: (origin.x + glyph_offset.x).to_f32_px(),
y: (origin.y + glyph_offset.y).to_f32_px(),
point: Point2D::new((origin.x + glyph_offset.x).to_f32_px(),
(origin.y + glyph_offset.y).to_f32_px()),
};
glyphs.push(glyph);
}
@ -309,7 +309,8 @@ impl WebRenderDisplayItemConverter for DisplayItem {
clip,
start_point,
end_point,
item.stops.clone());
item.stops.clone(),
ExtendMode::Clamp);
}
DisplayItem::Line(..) => {
println!("TODO DisplayItem::Line");
@ -353,7 +354,11 @@ impl WebRenderDisplayItemConverter for DisplayItem {
}
DisplayItem::PopStackingContext(_) => builder.pop_stacking_context(),
DisplayItem::PushScrollRoot(ref item) => {
builder.push_scroll_layer(item.scroll_root.clip.to_rectf(),
let clip = builder.new_clip_region(&item.scroll_root.clip.to_rectf(),
vec![],
None);
builder.push_scroll_layer(clip,
item.scroll_root.size.to_sizef(),
item.scroll_root.id.convert_to_webrender());
}

View file

@ -987,7 +987,8 @@ impl LayoutThread {
Some(get_root_flow_background_color(layout_root)),
webrender_traits::Epoch(epoch_number),
viewport_size,
builder);
builder,
true);
self.webrender_api.generate_frame();
});
}

View file

@ -184,7 +184,7 @@ impl<Window> Browser<Window> where Window: WindowMethods + 'static {
clear_framebuffer: true,
clear_color: webrender_traits::ColorF::new(1.0, 1.0, 1.0, 1.0),
render_target_debug: false,
})
}).expect("Unable to initialize webrender!")
};
// Important that this call is done in a single-threaded fashion, we