From 51012d17c1dcf97b369f785c8df1033a4fbe7d29 Mon Sep 17 00:00:00 2001 From: "rohan.prinja" Date: Sun, 8 Nov 2015 19:18:37 +0900 Subject: [PATCH] replace use of load_whole_resource in net/image_cache_task.rs with File::open don't ignore read_to_end's return value --- components/net/image_cache_task.rs | 32 +++++++++++------------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/components/net/image_cache_task.rs b/components/net/image_cache_task.rs index 198d04e0bfd7..a8df014b2dd8 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);