diff options
Diffstat (limited to 'components/net/image_cache_thread.rs')
-rw-r--r-- | components/net/image_cache_thread.rs | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/components/net/image_cache_thread.rs b/components/net/image_cache_thread.rs index 0e335c7ad99..07868c4a4b3 100644 --- a/components/net/image_cache_thread.rs +++ b/components/net/image_cache_thread.rs @@ -554,12 +554,17 @@ impl ImageCache { } } None => { - self.pending_loads.get_by_url(&url).as_ref(). - map_or(Err(ImageState::NotRequested), |pl| pl.metadata.as_ref(). - map_or(Err(ImageState::Pending), |meta| - Ok(ImageOrMetadataAvailable::MetadataAvailable(meta.clone())) - ) - ) + let pl = match self.pending_loads.get_by_url(&url) { + Some(pl) => pl, + None => return Err(ImageState::NotRequested), + }; + + let meta = match pl.metadata { + Some(ref meta) => meta, + None => return Err(ImageState::Pending), + }; + + Ok(ImageOrMetadataAvailable::MetadataAvailable(meta.clone())) } } } |