Added Store Command to ImageCache Task

This commit is contained in:
Sagar Muchhal 2016-04-20 21:07:03 -04:00
parent 81f6e70a62
commit 5b9251ed3b
2 changed files with 32 additions and 1 deletions

View file

@ -394,6 +394,9 @@ impl ImageCache {
let result = self.get_image_or_meta_if_available(url, use_placeholder);
consumer.send(result).unwrap();
}
ImageCacheCommand::StoreDecodeImage(url, image_vector) => {
self.store_decode_image(url, image_vector);
}
};
None
@ -588,6 +591,23 @@ impl ImageCache {
}
}
}
fn store_decode_image(&mut self,
ref_url: Url,
loaded_bytes: Vec<u8>) {
let (cache_result, load_key, _) = self.pending_loads.get_cached(Arc::new(ref_url));
assert!(cache_result == CacheResult::Miss);
let action = ResponseAction::DataAvailable(loaded_bytes);
let _ = self.progress_sender.send(ResourceLoadInfo {
action: action,
key: load_key,
});
let action = ResponseAction::ResponseComplete(Ok(()));
let _ = self.progress_sender.send(ResourceLoadInfo {
action: action,
key: load_key,
});
}
}
/// Create a new image cache.