aboutsummaryrefslogtreecommitdiffstats
path: root/components/net/image_cache_thread.rs
diff options
context:
space:
mode:
authorMs2ger <Ms2ger@gmail.com>2016-03-07 14:30:20 +0100
committerMs2ger <Ms2ger@gmail.com>2016-03-07 14:30:23 +0100
commitd5b559c37ca9dbea9dfcb7969bdd96d4a77d7500 (patch)
treee77c808ef9bfd0b033c9516a101d7e3f3b7d702e /components/net/image_cache_thread.rs
parent1064c3dca01359e8bdbed7308ea266311113b5ab (diff)
downloadservo-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.rs17
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()))
}
}
}