aboutsummaryrefslogtreecommitdiffstats
path: root/components/net/resource_thread.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/net/resource_thread.rs')
-rw-r--r--components/net/resource_thread.rs10
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),