aboutsummaryrefslogtreecommitdiffstats
path: root/components/net/image_cache_task.rs
diff options
context:
space:
mode:
authorrohan.prinja <rohan.prinja@samsung.com>2015-11-08 19:18:37 +0900
committerrohan.prinja <rohan.prinja@samsung.com>2015-11-10 00:09:17 +0900
commit51012d17c1dcf97b369f785c8df1033a4fbe7d29 (patch)
treecc0ec8881dc28de526fedf7404bd8a87b4777db1 /components/net/image_cache_task.rs
parent92f9e58310f1b7c3925882979ae9352967866b66 (diff)
downloadservo-51012d17c1dcf97b369f785c8df1033a4fbe7d29.tar.gz
servo-51012d17c1dcf97b369f785c8df1033a4fbe7d29.zip
replace use of load_whole_resource in net/image_cache_task.rs with File::open
don't ignore read_to_end's return value
Diffstat (limited to 'components/net/image_cache_task.rs')
-rw-r--r--components/net/image_cache_task.rs32
1 files changed, 12 insertions, 20 deletions
diff --git a/components/net/image_cache_task.rs b/components/net/image_cache_task.rs
index 198d04e0bfd..a8df014b2dd 100644
--- a/components/net/image_cache_task.rs
+++ b/components/net/image_cache_task.rs
@@ -8,11 +8,12 @@ use net_traits::image::base::{Image, load_from_memory};
use net_traits::image_cache_task::ImageResponder;
use net_traits::image_cache_task::{ImageCacheChan, ImageCacheCommand, ImageCacheTask, ImageState};
use net_traits::image_cache_task::{ImageCacheResult, ImageResponse, UsePlaceholder};
-use net_traits::load_whole_resource;
use net_traits::{AsyncResponseTarget, ControlMsg, LoadConsumer, LoadData, ResourceTask, ResponseAction};
use std::borrow::ToOwned;
use std::collections::HashMap;
use std::collections::hash_map::Entry::{Occupied, Vacant};
+use std::fs::File;
+use std::io::Read;
use std::mem;
use std::sync::Arc;
use std::sync::mpsc::{Receiver, Select, Sender, channel};
@@ -457,25 +458,16 @@ pub fn new_image_cache_task(resource_task: ResourceTask) -> ImageCacheTask {
spawn_named("ImageCacheThread".to_owned(), move || {
// Preload the placeholder image, used when images fail to load.
- let mut placeholder_url = resources_dir_path();
- placeholder_url.push("rippy.jpg");
- let placeholder_image = match Url::from_file_path(&*placeholder_url) {
- Ok(url) => {
- match load_whole_resource(&resource_task, url, None) {
- Err(..) => {
- debug!("image_cache_task: failed loading the placeholder.");
- None
- }
- Ok((_, image_data)) => {
- Some(Arc::new(load_from_memory(&image_data).unwrap()))
- }
- }
- }
- Err(..) => {
- debug!("image_cache_task: url {}", placeholder_url.display());
- None
- }
- };
+ let mut placeholder_path = resources_dir_path();
+ placeholder_path.push("rippy.jpg");
+
+ let mut image_data = vec![];
+ let result = File::open(&placeholder_path).and_then(|mut file| {
+ file.read_to_end(&mut image_data)
+ });
+ let placeholder_image = result.ok().map(|_| {
+ Arc::new(load_from_memory(&image_data).unwrap())
+ });
// Ask the router to proxy messages received over IPC to us.
let cmd_receiver = ROUTER.route_ipc_receiver_to_new_mpsc_receiver(ipc_command_receiver);