Skip to content

Commit

Permalink
replace use of load_whole_resource in net/image_cache_task.rs with Fi…
Browse files Browse the repository at this point in the history
…le::open

don't ignore read_to_end's return value
  • Loading branch information
rohan.prinja committed Nov 9, 2015
1 parent 92f9e58 commit 51012d1
Showing 1 changed file with 12 additions and 20 deletions.
32 changes: 12 additions & 20 deletions components/net/image_cache_task.rs
Expand Up @@ -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};
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit 51012d1

Please sign in to comment.