aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/document_loader.rs
diff options
context:
space:
mode:
authorRahul Sharma <rsconceptx@gmail.com>2016-05-01 01:11:15 +0530
committerRahul Sharma <rsconceptx@gmail.com>2016-05-20 12:11:56 +0530
commit3766cd167365187bfabbb00f5dc41ba923fe23d4 (patch)
treeeab0537f67250ec1d07814263c8a83e85bdc6411 /components/script/document_loader.rs
parentbcea0ada27de694cd0c465d04fd35eba70503d62 (diff)
downloadservo-3766cd167365187bfabbb00f5dc41ba923fe23d4.tar.gz
servo-3766cd167365187bfabbb00f5dc41ba923fe23d4.zip
adding interface for custom responses
Diffstat (limited to 'components/script/document_loader.rs')
-rw-r--r--components/script/document_loader.rs15
1 files changed, 11 insertions, 4 deletions
diff --git a/components/script/document_loader.rs b/components/script/document_loader.rs
index 7282e23c322..4d5df6c74e5 100644
--- a/components/script/document_loader.rs
+++ b/components/script/document_loader.rs
@@ -8,8 +8,8 @@
use dom::bindings::js::JS;
use dom::document::Document;
use msg::constellation_msg::PipelineId;
-use net_traits::AsyncResponseTarget;
use net_traits::{PendingAsyncLoad, CoreResourceThread, LoadContext};
+use net_traits::{RequestSource, AsyncResponseTarget};
use std::sync::Arc;
use std::thread;
use url::Url;
@@ -130,20 +130,27 @@ impl DocumentLoader {
/// Create a new pending network request, which can be initiated at some point in
/// the future.
- pub fn prepare_async_load(&mut self, load: LoadType, referrer: &Document) -> PendingAsyncLoad {
+ pub fn prepare_async_load(&mut self,
+ load: LoadType,
+ referrer: &Document) -> PendingAsyncLoad {
let context = load.to_load_context();
let url = load.url().clone();
self.add_blocking_load(load);
+ let client_chan = referrer.window().custom_message_chan();
PendingAsyncLoad::new(context,
(*self.resource_thread).clone(),
url,
self.pipeline,
referrer.get_referrer_policy(),
- Some(referrer.url().clone()))
+ Some(referrer.url().clone()),
+ RequestSource::Window(client_chan))
}
/// Create and initiate a new network request.
- pub fn load_async(&mut self, load: LoadType, listener: AsyncResponseTarget, referrer: &Document) {
+ pub fn load_async(&mut self,
+ load: LoadType,
+ listener: AsyncResponseTarget,
+ referrer: &Document) {
let pending = self.prepare_async_load(load, referrer);
pending.load_async(listener)
}