diff options
Diffstat (limited to 'components/net/blob_loader.rs')
-rw-r--r-- | components/net/blob_loader.rs | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/components/net/blob_loader.rs b/components/net/blob_loader.rs index e12cdab9804..09a426fbc65 100644 --- a/components/net/blob_loader.rs +++ b/components/net/blob_loader.rs @@ -8,26 +8,23 @@ use hyper::http::RawStatus; use mime::{Mime, Attr}; use mime_classifier::MimeClassifier; use net_traits::ProgressMsg::Done; -use net_traits::blob_url_store::BlobURLStoreEntry; -use net_traits::filemanager_thread::RelativePos; +use net_traits::blob_url_store::BlobBuf; use net_traits::response::HttpsState; use net_traits::{LoadConsumer, LoadData, Metadata}; use resource_thread::start_sending_sniffed_opt; -use std::ops::Index; use std::sync::Arc; // TODO: Check on GET // https://w3c.github.io/FileAPI/#requestResponseModel pub fn load_blob(load_data: LoadData, start_chan: LoadConsumer, - classifier: Arc<MimeClassifier>, opt_filename: Option<String>, - rel_pos: RelativePos, entry: BlobURLStoreEntry) { - let content_type: Mime = entry.type_string.parse().unwrap_or(mime!(Text / Plain)); + classifier: Arc<MimeClassifier>, blob_buf: BlobBuf) { + let content_type: Mime = blob_buf.type_string.parse().unwrap_or(mime!(Text / Plain)); let charset = content_type.get_param(Attr::Charset); let mut headers = Headers::new(); - if let Some(name) = opt_filename { + if let Some(name) = blob_buf.filename { let charset = charset.and_then(|c| c.as_str().parse().ok()); headers.set(ContentDisposition { disposition: DispositionType::Inline, @@ -38,10 +35,8 @@ pub fn load_blob(load_data: LoadData, start_chan: LoadConsumer, }); } - let range = rel_pos.to_abs_range(entry.size as usize); - headers.set(ContentType(content_type.clone())); - headers.set(ContentLength(range.len() as u64)); + headers.set(ContentLength(blob_buf.size as u64)); let metadata = Metadata { final_url: load_data.url.clone(), @@ -55,7 +50,7 @@ pub fn load_blob(load_data: LoadData, start_chan: LoadConsumer, if let Ok(chan) = start_sending_sniffed_opt(start_chan, metadata, classifier, - &entry.bytes.index(range), load_data.context.clone()) { + &blob_buf.bytes, load_data.context.clone()) { let _ = chan.send(Done(Ok(()))); } } |