Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Properly set the url on the Response object when the response is an opaqueredirect #26455

Merged
merged 1 commit into from May 6, 2020
Merged
Changes from all commits
Commits
File filter...
Filter file types
Jump to…
Jump to file
Failed to load files.

Always

Just for now

Properly set the url on the Response object when the response is an o…

…paqueredirect
  • Loading branch information
Eijebong committed May 6, 2020
commit ec665d9dcee6061b0253b2b38dccda06400cdce1
@@ -592,7 +592,7 @@ impl ImageCache for ImageCacheImpl {
FilteredMetadata::Basic(_) | FilteredMetadata::Cors(_) => {
CorsStatus::Safe
},
FilteredMetadata::Opaque | FilteredMetadata::OpaqueRedirect => {
FilteredMetadata::Opaque | FilteredMetadata::OpaqueRedirect(_) => {
CorsStatus::Unsafe
},
},
@@ -186,7 +186,7 @@ pub enum FilteredMetadata {
Basic(Metadata),
Cors(Metadata),
Opaque,
OpaqueRedirect,
OpaqueRedirect(ServoUrl),
}

#[derive(Clone, Debug, Deserialize, Serialize)]
@@ -341,7 +341,7 @@ impl Response {
unsafe_: unsafe_metadata,
}),
ResponseType::OpaqueRedirect => Ok(FetchMetadata::Filtered {
filtered: FilteredMetadata::OpaqueRedirect,
filtered: FilteredMetadata::OpaqueRedirect(url.clone()),
unsafe_: unsafe_metadata,
}),
}
@@ -340,7 +340,7 @@ impl FetchResponseListener for EventSourceContext {
let meta = match fm {
FetchMetadata::Unfiltered(m) => m,
FetchMetadata::Filtered { unsafe_, filtered } => match filtered {
FilteredMetadata::Opaque | FilteredMetadata::OpaqueRedirect => {
FilteredMetadata::Opaque | FilteredMetadata::OpaqueRedirect(_) => {
return self.fail_the_connection()
},
_ => unsafe_,
@@ -984,7 +984,7 @@ impl XMLHttpRequest {
FilteredMetadata::Basic(m) => m,
FilteredMetadata::Cors(m) => m,
FilteredMetadata::Opaque => return Err(Error::Network),
FilteredMetadata::OpaqueRedirect => return Err(Error::Network),
FilteredMetadata::OpaqueRedirect(_) => return Err(Error::Network),
},
},
Err(_) => {
@@ -246,10 +246,10 @@ impl FetchResponseListener for FetchContext {
.root()
.set_type(DOMResponseType::Opaque);
},
FilteredMetadata::OpaqueRedirect => {
self.response_object
.root()
.set_type(DOMResponseType::Opaqueredirect);
FilteredMetadata::OpaqueRedirect(url) => {
let r = self.response_object.root();
r.set_type(DOMResponseType::Opaqueredirect);
r.set_final_url(url);
},
},
},
@@ -101,7 +101,7 @@ impl FetchResponseListener for StylesheetContext {
fn process_response(&mut self, metadata: Result<FetchMetadata, NetworkError>) {
if let Ok(FetchMetadata::Filtered { ref filtered, .. }) = metadata {
match *filtered {
FilteredMetadata::Opaque | FilteredMetadata::OpaqueRedirect => {
FilteredMetadata::Opaque | FilteredMetadata::OpaqueRedirect(_) => {
self.origin_clean = false;
},
_ => {},
@@ -1,123 +1,33 @@
[redirect-mode.any.worker.html]
[same-origin redirect 301 in manual redirect and cors mode]
expected: FAIL

[same-origin redirect 301 in manual redirect and no-cors mode]
expected: FAIL

[same-origin redirect 302 in manual redirect and cors mode]
expected: FAIL

[same-origin redirect 302 in manual redirect and no-cors mode]
expected: FAIL

[same-origin redirect 303 in manual redirect and cors mode]
expected: FAIL

[same-origin redirect 303 in manual redirect and no-cors mode]
expected: FAIL

[same-origin redirect 307 in manual redirect and cors mode]
expected: FAIL

[same-origin redirect 307 in manual redirect and no-cors mode]
expected: FAIL

[same-origin redirect 308 in manual redirect and cors mode]
expected: FAIL

[same-origin redirect 308 in manual redirect and no-cors mode]
expected: FAIL

[cross-origin redirect 301 in manual redirect and cors mode]
expected: FAIL

[cross-origin redirect 301 in manual redirect and no-cors mode]
expected: FAIL

[cross-origin redirect 302 in manual redirect and cors mode]
expected: FAIL

[cross-origin redirect 302 in manual redirect and no-cors mode]
expected: FAIL

[cross-origin redirect 303 in manual redirect and cors mode]
expected: FAIL

[cross-origin redirect 303 in manual redirect and no-cors mode]
expected: FAIL

[cross-origin redirect 307 in manual redirect and cors mode]
expected: FAIL

[cross-origin redirect 307 in manual redirect and no-cors mode]
expected: FAIL

[cross-origin redirect 308 in manual redirect and cors mode]
expected: FAIL

[cross-origin redirect 308 in manual redirect and no-cors mode]
expected: FAIL


[redirect-mode.any.html]
[same-origin redirect 301 in manual redirect and cors mode]
expected: FAIL

[same-origin redirect 301 in manual redirect and no-cors mode]
expected: FAIL

[same-origin redirect 302 in manual redirect and cors mode]
expected: FAIL

[same-origin redirect 302 in manual redirect and no-cors mode]
expected: FAIL

[same-origin redirect 303 in manual redirect and cors mode]
expected: FAIL

[same-origin redirect 303 in manual redirect and no-cors mode]
expected: FAIL

[same-origin redirect 307 in manual redirect and cors mode]
expected: FAIL

[same-origin redirect 307 in manual redirect and no-cors mode]
expected: FAIL

[same-origin redirect 308 in manual redirect and cors mode]
expected: FAIL

[same-origin redirect 308 in manual redirect and no-cors mode]
expected: FAIL

[cross-origin redirect 301 in manual redirect and cors mode]
expected: FAIL

[cross-origin redirect 301 in manual redirect and no-cors mode]
expected: FAIL

[cross-origin redirect 302 in manual redirect and cors mode]
expected: FAIL

[cross-origin redirect 302 in manual redirect and no-cors mode]
expected: FAIL

[cross-origin redirect 303 in manual redirect and cors mode]
expected: FAIL

[cross-origin redirect 303 in manual redirect and no-cors mode]
expected: FAIL

[cross-origin redirect 307 in manual redirect and cors mode]
expected: FAIL

[cross-origin redirect 307 in manual redirect and no-cors mode]
expected: FAIL

[cross-origin redirect 308 in manual redirect and cors mode]
expected: FAIL

[cross-origin redirect 308 in manual redirect and no-cors mode]
expected: FAIL

ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.