diff --git a/components/script/dom/htmlcanvaselement.rs b/components/script/dom/htmlcanvaselement.rs index 47dc1d46a3d..9f77f8b9ce1 100644 --- a/components/script/dom/htmlcanvaselement.rs +++ b/components/script/dom/htmlcanvaselement.rs @@ -337,18 +337,19 @@ impl<'a> From<&'a WebGLContextAttributes> for GLContextAttributes { pub mod utils { use dom::window::Window; - use net_traits::image_cache_thread::ImageResponse; + use net_traits::image_cache_thread::{ImageResponse, UsePlaceholder, ImageOrMetadataAvailable}; + use net_traits::image_cache_thread::CanRequestImages; use servo_url::ServoUrl; pub fn request_image_from_cache(window: &Window, url: ServoUrl) -> ImageResponse { - panic!() - /*let image_cache = window.image_cache_thread(); - let (response_chan, response_port) = ipc::channel().unwrap(); - image_cache.request_image(url.into(), ImageCacheChan(response_chan), None); - let result = response_port.recv().unwrap(); - match result { - ImageCacheResult::InitiateRequest(..) => panic!("unexpected image request initiator"), - ImageCacheResult::Response(result) => result.image_response, - }*/ + let image_cache = window.image_cache_thread(); + //XXXjdm add a image cache mode that doesn't store anything for NotRequested? + let response = + image_cache.find_image_or_metadata(url.into(), UsePlaceholder::No); + match response { + Ok(ImageOrMetadataAvailable::ImageAvailable(image)) => + ImageResponse::Loaded(image), + _ => ImageResponse::None, + } } }