diff options
author | Keith Yeung <kungfukeith11@gmail.com> | 2016-09-14 00:30:59 -0700 |
---|---|---|
committer | Keith Yeung <kungfukeith11@gmail.com> | 2016-09-21 14:26:03 -0700 |
commit | 07c9cfecec754805cf1276995dd99a5d27cec766 (patch) | |
tree | 6a0b9d9b00ed7da63c8c4d06cf9b24353f199e43 /components/script/dom/xmlhttprequest.rs | |
parent | 4dcf693a751b0780a72a3e3058e12642a8082cfe (diff) | |
download | servo-07c9cfecec754805cf1276995dd99a5d27cec766.tar.gz servo-07c9cfecec754805cf1276995dd99a5d27cec766.zip |
Add FetchMetadata and update corresponding methods
Diffstat (limited to 'components/script/dom/xmlhttprequest.rs')
-rw-r--r-- | components/script/dom/xmlhttprequest.rs | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs index 66338dd9ef1..24ee2c28d36 100644 --- a/components/script/dom/xmlhttprequest.rs +++ b/components/script/dom/xmlhttprequest.rs @@ -45,8 +45,8 @@ use js::jsapi::{JSContext, JS_ParseJSON}; use js::jsapi::JS_ClearPendingException; use js::jsval::{JSVal, NullValue, UndefinedValue}; use msg::constellation_msg::{PipelineId, ReferrerPolicy}; -use net_traits::{CoreResourceThread, LoadOrigin}; -use net_traits::{FetchResponseListener, Metadata, NetworkError}; +use net_traits::{CoreResourceThread, FetchMetadata, FilteredMetadata}; +use net_traits::{FetchResponseListener, LoadOrigin, NetworkError}; use net_traits::CoreResourceMsg::Fetch; use net_traits::request::{CredentialsMode, Destination, RequestInit, RequestMode}; use net_traits::trim_http_whitespace; @@ -227,10 +227,10 @@ impl XMLHttpRequest { // todo } - fn process_response(&mut self, metadata: Result<Metadata, NetworkError>) { + fn process_response(&mut self, + metadata: Result<FetchMetadata, NetworkError>) { let xhr = self.xhr.root(); - let rv = xhr.process_headers_available(self.gen_id, - metadata); + let rv = xhr.process_headers_available(self.gen_id, metadata); if rv.is_err() { *self.sync_status.borrow_mut() = Some(rv); } @@ -869,10 +869,16 @@ impl XMLHttpRequest { } fn process_headers_available(&self, - gen_id: GenerationId, metadata: Result<Metadata, NetworkError>) + gen_id: GenerationId, metadata: Result<FetchMetadata, NetworkError>) -> Result<(), Error> { let metadata = match metadata { - Ok(meta) => meta, + Ok(meta) => match meta { + FetchMetadata::Unfiltered(m) => m, + FetchMetadata::Filtered { filtered, .. } => match filtered { + FilteredMetadata::Opaque => return Err(Error::Network), + FilteredMetadata::Transparent(m) => m + } + }, Err(_) => { self.process_partial_response(XHRProgress::Errored(gen_id, Error::Network)); return Err(Error::Network); |