[Fetch] Unship Request.context

This is partial revert of https://codereview.chromium.org/1060033002.

This CL unships Request.context because it was removed from the spec:
https://github.com/whatwg/fetch/issues/93

This CL
- removes Response.context from Request.idl, and
- updated/removed related Layout tests.

Underlying implementation is left unchanged to be reused for Response.type.

BUG=515786

Review URL: https://codereview.chromium.org/1292503002

git-svn-id: svn://svn.chromium.org/blink/trunk@200974 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent cfc16ecf
CONSOLE ERROR: Fetch API cannot load http://localhost:8000/fetch/resources/doctype.html. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:8000' is therefore not allowed access.
CONSOLE ERROR: Fetch API cannot load http://localhost:8000/fetch/resources/redirect-loop.php?Count=100&ACAOrigin=*. Redirect failed.
CONSOLE WARNING: Request.context is deprecated and will be removed in M46 (see: https://www.chromestatus.com/feature/5534702526005248).
This is a testharness.js-based test.
PASS fetch() with 200 should not output error messages
PASS fetch() with 404 should not output error messages
......@@ -8,6 +7,5 @@ PASS net::ERR_TOO_MANY_REDIRECTS should not output error messages
PASS net::ERR_INVALID_CHUNKED_ENCODING should not output error messages
PASS A didFailAccessControlCheck() error should output an error message
PASS A didFailRedirectCheck() error should output an error message
PASS A deprecation warning should be output for Request.context
Harness: the test ran to completion.
......@@ -42,12 +42,4 @@ promise_test(function(t) {
return fetch('http://localhost:8000/fetch/resources/redirect-loop.php?Count=100&ACAOrigin=*')
.then(t.unreached_func('must reject'), function() {});
}, 'A didFailRedirectCheck() error should output an error message');
promise_test(function(t) {
return Promise.resolve()
.then(function() {
var request = new Request('http://localhost/');
request.context;
});
}, 'A deprecation warning should be output for Request.context');
</script>
......@@ -55,7 +55,6 @@ promise_test(function(t) {
// serialized with the exclude fragment flag set.
assert_equals(request.url,
BASE_ORIGIN + '/fetch/resources/fetch-status.php?status=200');
assert_equals(request.context, '');
return fetch(request)
.then(function(response) {
......@@ -67,7 +66,6 @@ promise_test(function(t) {
assert_equals(response.url,
BASE_ORIGIN +
'/fetch/resources/fetch-status.php?status=200');
assert_equals(request.context, '');
});
}, 'Request/response url attribute getter with fragment');
......@@ -81,7 +79,6 @@ promise_test(function(t) {
var request = new Request(redirect_original_url);
assert_equals(request.url, redirect_original_url,
'Request\'s url is the original URL');
assert_equals(request.context, '');
assert_equals(request.redirect, 'follow');
return fetch(request)
......@@ -92,7 +89,6 @@ promise_test(function(t) {
'Response\'s url is locationURL');
assert_equals(request.url, redirect_original_url,
'Request\'s url remains the original URL');
assert_equals(request.context, '');
});
}, 'Request/response url attribute getter with redirect');
......@@ -106,7 +102,6 @@ promise_test(function(t) {
var request = new Request(redirect_original_url, {redirect: 'manual'});
assert_equals(request.url, redirect_original_url,
'Request\'s url is the original URL');
assert_equals(request.context, '');
assert_equals(request.redirect, 'manual');
return fetch(request)
......@@ -127,7 +122,6 @@ promise_test(function(t) {
var request = new Request(redirect_original_url, {redirect: 'error'});
assert_equals(request.url, redirect_original_url,
'Request\'s url is the original URL');
assert_equals(request.context, '');
assert_equals(request.redirect, 'error');
return fetch(request)
......@@ -176,14 +170,12 @@ promise_test(function(t) {
method: 'POST',
body: new Blob(['Test Blob'], {type: 'test/type'})
});
assert_equals(request.context, '');
return fetch(request)
.then(function(response) { return response.text(); })
.then(evalJsonp)
.then(function(result) {
assert_equals(result.method, 'POST');
assert_equals(result.body, 'Test Blob');
assert_equals(request.context, '');
});
}, 'Fetch with Blob body test');
......
......@@ -636,12 +636,4 @@ promise_test(function(t) {
});
}, 'Consume and pass');
// Tests for requests context.
test(function() {
var request = new Request('http://localhost/', {method: 'POST', body: ''});
assert_equals(request.context, '',
'Request.context should be empty string ' +
'for synthetic Request object');
}, 'RequestContext of a synthetic Request object');
done();
......@@ -8,12 +8,11 @@
var url_count = 0;
var expected_results = {};
function image_test(frame, url, cross_origin, expected_context,
function image_test(frame, url, cross_origin,
expected_mode, expected_credentials) {
var actual_url = url + (++url_count);
expected_results[actual_url] = {
cross_origin: cross_origin,
context: expected_context,
mode: expected_mode,
credentials: expected_credentials,
redirect: 'follow',
......@@ -23,12 +22,11 @@ function image_test(frame, url, cross_origin, expected_context,
return frame.contentWindow.load_image(actual_url, cross_origin);
}
function script_test(frame, url, cross_origin, expected_context,
function script_test(frame, url, cross_origin,
expected_mode, expected_credentials) {
var actual_url = url + (++url_count);
expected_results[actual_url] = {
cross_origin: cross_origin,
context: expected_context,
mode: expected_mode,
credentials: expected_credentials,
redirect: 'follow',
......@@ -38,12 +36,11 @@ function script_test(frame, url, cross_origin, expected_context,
return frame.contentWindow.load_script(actual_url, cross_origin);
}
function css_test(frame, url, cross_origin, expected_context,
function css_test(frame, url, cross_origin,
expected_mode, expected_credentials) {
var actual_url = url + (++url_count);
expected_results[actual_url] = {
cross_origin: cross_origin,
context: expected_context,
mode: expected_mode,
credentials: expected_credentials,
redirect: 'follow',
......@@ -53,12 +50,11 @@ function css_test(frame, url, cross_origin, expected_context,
return frame.contentWindow.load_css(actual_url, cross_origin);
}
function font_face_test(frame, url, expected_context, expected_mode,
function font_face_test(frame, url, expected_mode,
expected_credentials) {
var actual_url = url + (++url_count);
expected_results[actual_url] = {
url: actual_url,
context: expected_context,
mode: expected_mode,
credentials: expected_credentials,
redirect: 'follow',
......@@ -67,12 +63,11 @@ function font_face_test(frame, url, expected_context, expected_mode,
return frame.contentWindow.load_font(actual_url);
}
function css_image_test(frame, url, type, expected_context,
function css_image_test(frame, url, type,
expected_mode, expected_credentials) {
var actual_url = url + (++url_count);
expected_results[actual_url] = {
url: actual_url,
context: expected_context,
mode: expected_mode,
credentials: expected_credentials,
redirect: 'follow',
......@@ -81,12 +76,11 @@ function css_image_test(frame, url, type, expected_context,
return frame.contentWindow.load_css_image(actual_url, type);
}
function css_image_set_test(frame, url, type, expected_context,
function css_image_set_test(frame, url, type,
expected_mode, expected_credentials) {
var actual_url = url + (++url_count);
expected_results[actual_url] = {
url: actual_url,
context: expected_context,
mode: expected_mode,
credentials: expected_credentials,
redirect: 'follow',
......@@ -123,17 +117,6 @@ async_test(function(t) {
if (!expected) {
return;
}
assert_equals(
result.context, expected.context,
'context of ' + expected.message + ' must be ' +
expected.context + '.');
assert_equals(
result.context_clone, expected.context,
'context of clone() of ' + expected.message +
' must be ' + expected.context + '.');
assert_equals(
result.context_new, '',
'context of new Request() must be the empty string');
assert_equals(
result.mode, expected.mode,
'mode of ' + expected.message + ' must be ' +
......@@ -160,53 +143,43 @@ async_test(function(t) {
.then(function() { return with_iframe(SCOPE); })
.then(function(f) {
frame = f;
image_test(f, LOCAL_URL, '', 'image', 'no-cors', 'same-origin');
image_test(f, LOCAL_URL, 'anonymous', 'image', 'cors', 'omit');
image_test(f, LOCAL_URL, 'use-credentials', 'image', 'cors',
'include');
image_test(f, REMOTE_URL, '', 'image', 'no-cors', 'same-origin');
image_test(f, REMOTE_URL, 'anonymous', 'image', 'cors', 'omit');
image_test(f, REMOTE_URL, 'use-credentials', 'image', 'cors',
'include');
image_test(f, LOCAL_URL, '', 'no-cors', 'same-origin');
image_test(f, LOCAL_URL, 'anonymous', 'cors', 'omit');
image_test(f, LOCAL_URL, 'use-credentials', 'cors', 'include');
image_test(f, REMOTE_URL, '', 'no-cors', 'same-origin');
image_test(f, REMOTE_URL, 'anonymous', 'cors', 'omit');
image_test(f, REMOTE_URL, 'use-credentials', 'cors', 'include');
script_test(f, LOCAL_URL, '', 'script', 'no-cors', 'same-origin');
script_test(f, LOCAL_URL, 'anonymous', 'script', 'cors', 'omit');
script_test(f, LOCAL_URL, 'use-credentials', 'script', 'cors',
'include');
script_test(f, REMOTE_URL, '', 'script', 'no-cors', 'same-origin');
script_test(f, REMOTE_URL, 'anonymous', 'script', 'cors', 'omit');
script_test(f, REMOTE_URL, 'use-credentials', 'script', 'cors',
'include');
script_test(f, LOCAL_URL, '', 'no-cors', 'same-origin');
script_test(f, LOCAL_URL, 'anonymous', 'cors', 'omit');
script_test(f, LOCAL_URL, 'use-credentials', 'cors', 'include');
script_test(f, REMOTE_URL, '', 'no-cors', 'same-origin');
script_test(f, REMOTE_URL, 'anonymous', 'cors', 'omit');
script_test(f, REMOTE_URL, 'use-credentials', 'cors', 'include');
css_test(f, LOCAL_URL, '', 'style', 'no-cors', 'same-origin');
css_test(f, LOCAL_URL, 'anonymous', 'style', 'cors', 'omit');
css_test(f, LOCAL_URL, 'use-credentials', 'style', 'cors',
'include');
css_test(f, REMOTE_URL, '', 'style', 'no-cors', 'same-origin');
css_test(f, REMOTE_URL, 'anonymous', 'style', 'cors', 'omit');
css_test(f, REMOTE_URL, 'use-credentials', 'style', 'cors',
'include');
css_test(f, LOCAL_URL, '', 'no-cors', 'same-origin');
css_test(f, LOCAL_URL, 'anonymous', 'cors', 'omit');
css_test(f, LOCAL_URL, 'use-credentials', 'cors', 'include');
css_test(f, REMOTE_URL, '', 'no-cors', 'same-origin');
css_test(f, REMOTE_URL, 'anonymous', 'cors', 'omit');
css_test(f, REMOTE_URL, 'use-credentials', 'cors', 'include');
font_face_test(f, LOCAL_URL, 'font', 'cors', 'omit');
font_face_test(f, REMOTE_URL, 'font', 'cors', 'omit');
font_face_test(f, LOCAL_URL, 'cors', 'omit');
font_face_test(f, REMOTE_URL, 'cors', 'omit');
css_image_test(f, LOCAL_URL, 'backgroundImage', 'image',
css_image_test(f, LOCAL_URL, 'backgroundImage',
'no-cors', 'same-origin');
css_image_test(f, REMOTE_URL, 'backgroundImage', 'image',
css_image_test(f, REMOTE_URL, 'backgroundImage',
'no-cors', 'same-origin');
css_image_test(f, LOCAL_URL, 'shapeOutside', 'image', 'cors',
'omit');
css_image_test(f, REMOTE_URL, 'shapeOutside', 'image', 'cors',
'omit');
css_image_test(f, LOCAL_URL, 'shapeOutside', 'cors', 'omit');
css_image_test(f, REMOTE_URL, 'shapeOutside', 'cors', 'omit');
css_image_set_test(f, LOCAL_URL, 'backgroundImage', 'image',
css_image_set_test(f, LOCAL_URL, 'backgroundImage',
'no-cors', 'same-origin');
css_image_set_test(f, REMOTE_URL, 'backgroundImage', 'image',
css_image_set_test(f, REMOTE_URL, 'backgroundImage',
'no-cors', 'same-origin');
css_image_set_test(f, LOCAL_URL, 'shapeOutside', 'image', 'cors',
'omit');
css_image_set_test(f, REMOTE_URL, 'shapeOutside', 'image', 'cors',
'omit');
css_image_set_test(f, LOCAL_URL, 'shapeOutside', 'cors', 'omit');
css_image_set_test(f, REMOTE_URL, 'shapeOutside', 'cors', 'omit');
})
.catch(unreached_rejection(t));
......
......@@ -16,9 +16,6 @@ self.addEventListener('fetch', function(event) {
}
port.postMessage({
url: url,
context: event.request.context,
context_clone: event.request.clone().context,
context_new: (new Request(event.request)).context,
mode: event.request.mode,
redirect: event.request.redirect,
credentials: event.request.credentials
......
......@@ -58,7 +58,6 @@ function xhr_send(url_base, method, data, with_credentials) {
function string_test() {
return xhr_send(host_info['HTTP_ORIGIN'], 'POST', 'test string', false)
.then(function(response) {
assert_equals(response.context, 'xmlhttprequest');
assert_equals(response.method, 'POST');
assert_equals(response.body, 'test string');
});
......@@ -68,7 +67,6 @@ function blob_test() {
return xhr_send(host_info['HTTP_ORIGIN'], 'POST', new Blob(['test blob']),
false)
.then(function(response) {
assert_equals(response.context, 'xmlhttprequest');
assert_equals(response.method, 'POST');
assert_equals(response.body, 'test blob');
});
......
......@@ -12,7 +12,6 @@ self.addEventListener('fetch', function(event) {
.then(function(result) {
resolve(new Response(JSON.stringify({
method: event.request.method,
context: event.request.context,
mode: event.request.mode,
credentials: event.request.credentials,
headers: headers,
......
......@@ -495,7 +495,6 @@ interface ReadableStream
method getReader
interface Request
getter bodyUsed
getter context
getter credentials
getter headers
getter method
......
......@@ -422,7 +422,6 @@ interface ReadableStream
method getReader
interface Request
getter bodyUsed
getter context
getter credentials
getter headers
getter method
......
......@@ -408,7 +408,6 @@ Starting worker: resources/global-interface-listing.js
[Worker] method getReader
[Worker] interface Request
[Worker] getter bodyUsed
[Worker] getter context
[Worker] getter credentials
[Worker] getter headers
[Worker] getter method
......
......@@ -3366,7 +3366,6 @@ interface ReadableStream
method getReader
interface Request
getter bodyUsed
getter context
getter credentials
getter headers
getter method
......
......@@ -395,7 +395,6 @@ Starting worker: resources/global-interface-listing.js
[Worker] method getReader
[Worker] interface Request
[Worker] getter bodyUsed
[Worker] getter context
[Worker] getter credentials
[Worker] getter headers
[Worker] getter method
......
......@@ -446,7 +446,6 @@ Starting worker: resources/global-interface-listing.js
[Worker] method getReader
[Worker] interface Request
[Worker] getter bodyUsed
[Worker] getter context
[Worker] getter credentials
[Worker] getter headers
[Worker] getter method
......
......@@ -3845,7 +3845,6 @@ interface RelatedEvent
method constructor
interface Request
getter bodyUsed
getter context
getter credentials
getter headers
getter method
......
......@@ -433,7 +433,6 @@ Starting worker: resources/global-interface-listing.js
[Worker] method getReader
[Worker] interface Request
[Worker] getter bodyUsed
[Worker] getter context
[Worker] getter credentials
[Worker] getter headers
[Worker] getter method
......
......@@ -29,7 +29,6 @@ enum RequestRedirect { "follow", "error", "manual" };
readonly attribute ByteString method;
readonly attribute USVString url;
readonly attribute Headers headers;
[DeprecateAs=FetchAPIRequestContext] readonly attribute RequestContext context;
readonly attribute DOMString referrer;
readonly attribute RequestMode mode;
readonly attribute RequestCredentials credentials;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment