diff options
author | Ms2ger <Ms2ger@gmail.com> | 2016-03-07 14:30:20 +0100 |
---|---|---|
committer | Ms2ger <Ms2ger@gmail.com> | 2016-03-07 14:30:23 +0100 |
commit | d5b559c37ca9dbea9dfcb7969bdd96d4a77d7500 (patch) | |
tree | e77c808ef9bfd0b033c9516a101d7e3f3b7d702e /components/net/image_cache_thread.rs | |
parent | 1064c3dca01359e8bdbed7308ea266311113b5ab (diff) | |
download | servo-d5b559c37ca9dbea9dfcb7969bdd96d4a77d7500.tar.gz servo-d5b559c37ca9dbea9dfcb7969bdd96d4a77d7500.zip |
Bonus fix: Rewrite get_image_or_meta_if_available in an imperative style.
I believe this is more readable.
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())) } } } |