From 1e81b8c13322deed21bdfea83b8a4f8c78b50e04 Mon Sep 17 00:00:00 2001 From: David Rajchenbach-Teller Date: Wed, 30 Sep 2015 12:22:00 +0200 Subject: Resolves #4183 - Implemementing context-based MIME type sniffing The version of the standard is not finalized at the time of this writing. Specifications may be found here: https://mimesniff.spec.whatwg.org/#context-specific-sniffing . --- components/net/file_loader.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'components/net/file_loader.rs') diff --git a/components/net/file_loader.rs b/components/net/file_loader.rs index 8b0a287c4a1..c2ab9cce9c7 100644 --- a/components/net/file_loader.rs +++ b/components/net/file_loader.rs @@ -61,6 +61,7 @@ pub fn factory(load_data: LoadData, classifier: Arc, cancel_listener: CancellationListener) { let url = load_data.url; + let context = load_data.context; assert!(&*url.scheme == "file"); spawn_named("file_loader".to_owned(), move || { let file_path: Result = url.to_file_path(); @@ -77,7 +78,7 @@ pub fn factory(load_data: LoadData, let mime_type = guess_mime_type(file_path.as_path()); metadata.set_content_type(Some(&mime_type)); let progress_chan = start_sending_sniffed(senders, metadata, - classifier, &buf); + classifier, &buf, context); progress_chan.send(Payload(buf)).unwrap(); let read_result = read_all(reader, &progress_chan, &cancel_listener); if let Ok(load_result) = read_result { @@ -94,7 +95,8 @@ pub fn factory(load_data: LoadData, if let Ok(chan) = start_sending_sniffed_opt(senders, metadata, classifier, - &[]) { + &[], + context) { let _ = chan.send(Done(Ok(()))); } } @@ -108,7 +110,7 @@ pub fn factory(load_data: LoadData, // http://doc.rust-lang.org/std/fs/struct.OpenOptions.html#method.open // but, we'll go for a "file not found!" let url = Url::parse("about:not-found").unwrap(); - let load_data_404 = LoadData::new(url, None); + let load_data_404 = LoadData::new(context, url, None); about_loader::factory(load_data_404, senders, classifier, cancel_listener) } } -- cgit v1.2.3