From d4816762fa9db76d56014caa50243f40f481265b Mon Sep 17 00:00:00 2001 From: Keith Yeung Date: Sat, 16 Jul 2016 12:33:40 -0700 Subject: Add fetch_async to PendingAsyncLoad, DocumentLoader and Document --- components/script/document_loader.rs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'components/script/document_loader.rs') diff --git a/components/script/document_loader.rs b/components/script/document_loader.rs index 0fc1e5e06c5..c38a234b2c1 100644 --- a/components/script/document_loader.rs +++ b/components/script/document_loader.rs @@ -7,9 +7,11 @@ use dom::bindings::js::JS; use dom::document::Document; +use ipc_channel::ipc::IpcSender; use msg::constellation_msg::{PipelineId, ReferrerPolicy}; -use net_traits::{PendingAsyncLoad, AsyncResponseTarget, LoadContext}; -use net_traits::{ResourceThreads, IpcSend}; +use net_traits::request::RequestInit; +use net_traits::{AsyncResponseTarget, PendingAsyncLoad, LoadContext}; +use net_traits::{FetchResponseMsg, ResourceThreads, IpcSend}; use std::thread; use url::Url; @@ -148,6 +150,17 @@ impl DocumentLoader { pending.load_async(listener) } + /// Initiate a new fetch. + pub fn fetch_async(&mut self, + load: LoadType, + request: RequestInit, + fetch_target: IpcSender, + referrer: &Document, + referrer_policy: Option) { + let pending = self.prepare_async_load(load, referrer, referrer_policy); + pending.fetch_async(request, fetch_target); + } + /// Mark an in-progress network request complete. pub fn finish_load(&mut self, load: &LoadType) { let idx = self.blocking_loads.iter().position(|unfinished| *unfinished == *load); -- cgit v1.2.3