diff options
Diffstat (limited to 'components/net/resource_thread.rs')
-rw-r--r-- | components/net/resource_thread.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/components/net/resource_thread.rs b/components/net/resource_thread.rs index 2bf6f38e331..64f96876ea7 100644 --- a/components/net/resource_thread.rs +++ b/components/net/resource_thread.rs @@ -30,7 +30,7 @@ use net_traits::request::{Request, RequestInit}; use net_traits::storage_thread::StorageThreadMsg; use net_traits::{AsyncResponseTarget, Metadata, ProgressMsg, ResponseAction, CoreResourceThread}; use net_traits::{CoreResourceMsg, CookieSource, FetchResponseMsg, FetchTaskTarget, LoadConsumer}; -use net_traits::{LoadData, LoadResponse, NetworkError, ResourceId}; +use net_traits::{LoadData, LoadResponse, NetworkError, ResourceId, CustomResponseMediator}; use net_traits::{WebSocketCommunicate, WebSocketConnectData, ResourceThreads}; use profile_traits::time::ProfilerChan; use rustc_serialize::json; @@ -202,7 +202,7 @@ pub fn new_core_resource_thread(user_agent: String, } struct ResourceChannelManager { - resource_manager: CoreResourceManager, + resource_manager: CoreResourceManager } fn create_resource_groups() -> (ResourceGroup, ResourceGroup) { @@ -279,6 +279,9 @@ impl ResourceChannelManager { let mut cookie_jar = group.cookie_jar.write().unwrap(); consumer.send(cookie_jar.cookies_for_url(&url, source)).unwrap(); } + CoreResourceMsg::NetworkMediator(mediator_chan) => { + self.resource_manager.constellation_chan = Some(mediator_chan) + } CoreResourceMsg::GetCookiesDataForUrl(url, consumer, source) => { let mut cookie_jar = group.cookie_jar.write().unwrap(); let cookies = cookie_jar.cookies_data_for_url(&url, source).collect(); @@ -456,6 +459,7 @@ pub struct CoreResourceManager { user_agent: String, mime_classifier: Arc<MimeClassifier>, devtools_chan: Option<Sender<DevtoolsControlMsg>>, + constellation_chan: Option<IpcSender<CustomResponseMediator>>, profiler_chan: ProfilerChan, filemanager_chan: IpcSender<FileManagerThreadMsg>, cancel_load_map: HashMap<ResourceId, Sender<()>>, @@ -471,6 +475,7 @@ impl CoreResourceManager { user_agent: user_agent, mime_classifier: Arc::new(MimeClassifier::new()), devtools_chan: devtools_channel, + constellation_chan: None, profiler_chan: profiler_chan, filemanager_chan: filemanager_chan, cancel_load_map: HashMap::new(), @@ -542,6 +547,7 @@ impl CoreResourceManager { http_state, self.devtools_chan.clone(), self.profiler_chan.clone(), + self.constellation_chan.clone(), resource_grp.connector.clone()) }, "data" => from_factory(data_loader::factory), |