aboutsummaryrefslogtreecommitdiffstats
path: root/components/net/blob_loader.rs
diff options
context:
space:
mode:
authorms2300 <matt.sewall@gmail.com>2018-09-25 14:24:43 -0700
committerFernando Jiménez Moreno <ferjmoreno@gmail.com>2018-11-26 09:33:34 +0100
commit2f3affcfc870c8fc45b7bbe56a59d6bca2eed880 (patch)
tree49ac3ff4c927390d3723a12de9cc7eba5b39fa7f /components/net/blob_loader.rs
parente84e1d607bd158dde576d2def8ebadfdd63630e1 (diff)
downloadservo-2f3affcfc870c8fc45b7bbe56a59d6bca2eed880.tar.gz
servo-2f3affcfc870c8fc45b7bbe56a59d6bca2eed880.zip
Blob url's changes now build and test
Diffstat (limited to 'components/net/blob_loader.rs')
-rw-r--r--components/net/blob_loader.rs17
1 files changed, 8 insertions, 9 deletions
diff --git a/components/net/blob_loader.rs b/components/net/blob_loader.rs
index 50c5455808d..64d918224a6 100644
--- a/components/net/blob_loader.rs
+++ b/components/net/blob_loader.rs
@@ -13,9 +13,9 @@ use mime::{self, Mime};
use net_traits::blob_url_store::parse_blob_url;
use net_traits::filemanager_thread::ReadFileProgress;
use net_traits::response::{Response, ResponseBody};
-use net_traits::{http_percent_encode, NetworkError};
+use net_traits::{http_percent_encode, NetworkError, ResourceFetchTiming};
use servo_url::ServoUrl;
-use std::sync::mpsc::channel;
+use servo_channel::channel;
// TODO: Check on GET
// https://w3c.github.io/FileAPI/#requestResponseModel
@@ -24,22 +24,21 @@ use std::sync::mpsc::channel;
pub fn load_blob_async(
url: ServoUrl,
filemanager: FileManager,
- response: &Response,
done_chan: &mut DoneChannel
-) -> Result<(), NetworkError> {
+)-> Response {
let (id, origin) = match parse_blob_url(&url) {
Ok((id, origin)) => (id, origin),
Err(()) => {
- let e = format!("Invalid blob URL format {:?}", url);
- return Err(NetworkError::Internal(e));
- },
+ return Response::network_error(NetworkError::Internal("Invalid blob url".into()));
+ }
};
+ let mut response = Response::new(url, ResourceFetchTiming::new(request.timing_type()));
let (sender, receiver) = channel();
*done_chan = Some((sender.clone(), receiver));
*response.body.lock().unwrap() = ResponseBody::Receiving(vec![]);
let check_url_validity = true;
- filemanager.fetch_file(sender, id, check_url_validity, origin, response);
+ filemanager.fetch_file(sender, id, check_url_validity, origin, &mut response);
- Ok(())
+ response
}