diff options
Diffstat (limited to 'components/script/dom/htmlcanvaselement.rs')
-rw-r--r-- | components/script/dom/htmlcanvaselement.rs | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/components/script/dom/htmlcanvaselement.rs b/components/script/dom/htmlcanvaselement.rs index b174d2ec9a8..a51463f4674 100644 --- a/components/script/dom/htmlcanvaselement.rs +++ b/components/script/dom/htmlcanvaselement.rs @@ -337,15 +337,20 @@ impl<'a> From<&'a WebGLContextAttributes> for GLContextAttributes { pub mod utils { use dom::window::Window; - use ipc_channel::ipc; - use net_traits::image_cache_thread::{ImageCacheChan, 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 { 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(); - result.image_response + let response = + image_cache.find_image_or_metadata(url.into(), + UsePlaceholder::No, + CanRequestImages::No); + match response { + Ok(ImageOrMetadataAvailable::ImageAvailable(image)) => + ImageResponse::Loaded(image), + _ => ImageResponse::None, + } } } |