aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/canvasrenderingcontext2d.rs
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-05-20 16:43:31 -0500
committerbors-servo <metajack+bors@gmail.com>2015-05-20 16:43:31 -0500
commit77099b25d590fdaac76721e7f98f4e83672e64a6 (patch)
tree8d57beab7c33b912251267cd0f01d90e42e94d9b /components/script/dom/canvasrenderingcontext2d.rs
parentad53e95080144485e74cd9b9d48ce75e20de4e36 (diff)
parent7e7675c1dcbd8148527d018b56883c6d83886fec (diff)
downloadservo-77099b25d590fdaac76721e7f98f4e83672e64a6.tar.gz
servo-77099b25d590fdaac76721e7f98f4e83672e64a6.zip
Auto merge of #5586 - pcwalton:no-broken-background-image-redux, r=glennw
r? @jdm <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5586) <!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/canvasrenderingcontext2d.rs')
-rw-r--r--components/script/dom/canvasrenderingcontext2d.rs12
1 files changed, 5 insertions, 7 deletions
diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs
index 147c8646e2e..e27cfe74fe8 100644
--- a/components/script/dom/canvasrenderingcontext2d.rs
+++ b/components/script/dom/canvasrenderingcontext2d.rs
@@ -33,14 +33,12 @@ use canvas_traits::{FillOrStrokeStyle, LinearGradientStyle, RadialGradientStyle}
use canvas_traits::{LineCapStyle, LineJoinStyle, CompositionOrBlending};
use canvas::canvas_paint_task::CanvasPaintTask;
-use net_traits::image::base::Image;
-use net_traits::image_cache_task::ImageCacheChan;
+use net_traits::image_cache_task::{ImageCacheChan, ImageResponse};
use png::PixelsByColorType;
use num::{Float, ToPrimitive};
use std::borrow::ToOwned;
use std::cell::RefCell;
-use std::sync::{Arc};
use std::sync::mpsc::{channel, Sender};
use util::str::DOMString;
@@ -260,8 +258,8 @@ impl CanvasRenderingContext2D {
};
let img = match self.request_image_from_cache(url) {
- Some(img) => img,
- None => return None,
+ ImageResponse::Loaded(img) => img,
+ ImageResponse::PlaceholderLoaded(_) | ImageResponse::None => return None,
};
let image_size = Size2D(img.width as f64, img.height as f64);
@@ -277,7 +275,7 @@ impl CanvasRenderingContext2D {
return Some((image_data, image_size));
}
- fn request_image_from_cache(&self, url: Url) -> Option<Arc<Image>> {
+ fn request_image_from_cache(&self, url: Url) -> ImageResponse {
let canvas = self.canvas.root();
let window = window_from_node(canvas.r()).root();
let window = window.r();
@@ -285,7 +283,7 @@ impl CanvasRenderingContext2D {
let (response_chan, response_port) = channel();
image_cache.request_image(url, ImageCacheChan(response_chan), None);
let result = response_port.recv().unwrap();
- result.image
+ result.image_response
}
fn create_drawable_rect(&self, x: f64, y: f64, w: f64, h: f64) -> Option<Rect<f32>> {