Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Update WR (image tiling, inset box shadow fixes, new key api).
  • Loading branch information
gw3583 committed Feb 26, 2017
1 parent 261df34 commit 64a9a45
Show file tree
Hide file tree
Showing 6 changed files with 43 additions and 33 deletions.
50 changes: 25 additions & 25 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion components/canvas/canvas_paint_thread.rs
Expand Up @@ -106,7 +106,7 @@ impl<'a> CanvasPaintThread<'a> {
let draw_target = CanvasPaintThread::create(size);
let path_builder = draw_target.create_path_builder();
let webrender_api = webrender_api_sender.create_api();
let webrender_image_key = webrender_api.alloc_image();
let webrender_image_key = webrender_api.generate_image_key();
CanvasPaintThread {
drawtarget: draw_target,
path_builder: path_builder,
Expand Down Expand Up @@ -564,6 +564,7 @@ impl<'a> CanvasPaintThread<'a> {
height: size.height as u32,
stride: None,
format: webrender_traits::ImageFormat::RGBA8,
offset: 0,
is_opaque: false,
},
element.into());
Expand Down
3 changes: 2 additions & 1 deletion components/canvas/webgl_paint_thread.rs
Expand Up @@ -101,7 +101,7 @@ fn create_readback_painter(size: Size2D<i32>,
-> Result<(WebGLPaintThread, GLLimits), String> {
let context = try!(GLContextWrapper::new(size, attrs));
let limits = context.get_limits();
let image_key = webrender_api.alloc_image();
let image_key = webrender_api.generate_image_key();
let painter = WebGLPaintThread {
size: size,
data: WebGLPaintTaskData::Readback(context, webrender_api, image_key)
Expand Down Expand Up @@ -241,6 +241,7 @@ impl WebGLPaintThread {
height: height as u32,
stride: None,
format: webrender_traits::ImageFormat::RGBA8,
offset: 0,
is_opaque: false,
},
pixels.clone());
Expand Down
8 changes: 5 additions & 3 deletions components/gfx/font_cache_thread.rs
Expand Up @@ -346,11 +346,13 @@ impl FontCache {
if let Some(ref webrender_api) = self.webrender_api {
let webrender_fonts = &mut self.webrender_fonts;
font_key = Some(*webrender_fonts.entry(template.identifier.clone()).or_insert_with(|| {
let font_key = webrender_api.generate_font_key();
match (template.bytes_if_in_memory(), template.native_font()) {
(Some(bytes), _) => webrender_api.add_raw_font(bytes),
(None, Some(native_font)) => webrender_api.add_native_font(native_font),
(None, None) => webrender_api.add_raw_font(template.bytes().clone()),
(Some(bytes), _) => webrender_api.add_raw_font(font_key, bytes),
(None, Some(native_font)) => webrender_api.add_native_font(font_key, native_font),
(None, None) => webrender_api.add_raw_font(font_key, template.bytes().clone()),
}
font_key
}));
}

Expand Down
2 changes: 1 addition & 1 deletion components/layout_thread/lib.rs
Expand Up @@ -934,7 +934,7 @@ impl LayoutThread {
Some(get_root_flow_background_color(layout_root)),
webrender_traits::Epoch(epoch_number),
viewport_size,
builder,
builder.finalize(),
true);
self.webrender_api.generate_frame(None);
});
Expand Down
10 changes: 8 additions & 2 deletions components/net/image_cache_thread.rs
Expand Up @@ -326,10 +326,13 @@ fn get_placeholder_image(webrender_api: &webrender_traits::RenderApi) -> io::Res
height: image.height,
stride: None,
format: format,
offset: 0,
is_opaque: is_image_opaque(format, &bytes),
};
let data = webrender_traits::ImageData::new(bytes);
image.id = Some(webrender_api.add_image(descriptor, data));
let image_key = webrender_api.generate_image_key();
webrender_api.add_image(image_key, descriptor, data, None);
image.id = Some(image_key);
Ok(Arc::new(image))
}

Expand Down Expand Up @@ -486,10 +489,13 @@ impl ImageCache {
height: image.height,
stride: None,
format: format,
offset: 0,
is_opaque: is_image_opaque(format, &bytes),
};
let data = webrender_traits::ImageData::new(bytes);
image.id = Some(self.webrender_api.add_image(descriptor, data));
let image_key = self.webrender_api.generate_image_key();
self.webrender_api.add_image(image_key, descriptor, data, None);
image.id = Some(image_key);
}
LoadResult::PlaceholderLoaded(..) | LoadResult::None => {}
}
Expand Down

0 comments on commit 64a9a45

Please sign in to comment.