[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/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 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. This is a testharness.js-based test.
PASS fetch() with 200 should not output error messages PASS fetch() with 200 should not output error messages
PASS fetch() with 404 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 ...@@ -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 net::ERR_INVALID_CHUNKED_ENCODING should not output error messages
PASS A didFailAccessControlCheck() error should output an error message PASS A didFailAccessControlCheck() error should output an error message
PASS A didFailRedirectCheck() 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. Harness: the test ran to completion.
...@@ -42,12 +42,4 @@ promise_test(function(t) { ...@@ -42,12 +42,4 @@ promise_test(function(t) {
return fetch('http://localhost:8000/fetch/resources/redirect-loop.php?Count=100&ACAOrigin=*') return fetch('http://localhost:8000/fetch/resources/redirect-loop.php?Count=100&ACAOrigin=*')
.then(t.unreached_func('must reject'), function() {}); .then(t.unreached_func('must reject'), function() {});
}, 'A didFailRedirectCheck() error should output an error message'); }, '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> </script>
...@@ -55,7 +55,6 @@ promise_test(function(t) { ...@@ -55,7 +55,6 @@ promise_test(function(t) {
// serialized with the exclude fragment flag set. // serialized with the exclude fragment flag set.
assert_equals(request.url, assert_equals(request.url,
BASE_ORIGIN + '/fetch/resources/fetch-status.php?status=200'); BASE_ORIGIN + '/fetch/resources/fetch-status.php?status=200');
assert_equals(request.context, '');
return fetch(request) return fetch(request)
.then(function(response) { .then(function(response) {
...@@ -67,7 +66,6 @@ promise_test(function(t) { ...@@ -67,7 +66,6 @@ promise_test(function(t) {
assert_equals(response.url, assert_equals(response.url,
BASE_ORIGIN + BASE_ORIGIN +
'/fetch/resources/fetch-status.php?status=200'); '/fetch/resources/fetch-status.php?status=200');
assert_equals(request.context, '');
}); });
}, 'Request/response url attribute getter with fragment'); }, 'Request/response url attribute getter with fragment');
...@@ -81,7 +79,6 @@ promise_test(function(t) { ...@@ -81,7 +79,6 @@ promise_test(function(t) {
var request = new Request(redirect_original_url); var request = new Request(redirect_original_url);
assert_equals(request.url, redirect_original_url, assert_equals(request.url, redirect_original_url,
'Request\'s url is the original URL'); 'Request\'s url is the original URL');
assert_equals(request.context, '');
assert_equals(request.redirect, 'follow'); assert_equals(request.redirect, 'follow');
return fetch(request) return fetch(request)
...@@ -92,7 +89,6 @@ promise_test(function(t) { ...@@ -92,7 +89,6 @@ promise_test(function(t) {
'Response\'s url is locationURL'); 'Response\'s url is locationURL');
assert_equals(request.url, redirect_original_url, assert_equals(request.url, redirect_original_url,
'Request\'s url remains the original URL'); 'Request\'s url remains the original URL');
assert_equals(request.context, '');
}); });
}, 'Request/response url attribute getter with redirect'); }, 'Request/response url attribute getter with redirect');
...@@ -106,7 +102,6 @@ promise_test(function(t) { ...@@ -106,7 +102,6 @@ promise_test(function(t) {
var request = new Request(redirect_original_url, {redirect: 'manual'}); var request = new Request(redirect_original_url, {redirect: 'manual'});
assert_equals(request.url, redirect_original_url, assert_equals(request.url, redirect_original_url,
'Request\'s url is the original URL'); 'Request\'s url is the original URL');
assert_equals(request.context, '');
assert_equals(request.redirect, 'manual'); assert_equals(request.redirect, 'manual');
return fetch(request) return fetch(request)
...@@ -127,7 +122,6 @@ promise_test(function(t) { ...@@ -127,7 +122,6 @@ promise_test(function(t) {
var request = new Request(redirect_original_url, {redirect: 'error'}); var request = new Request(redirect_original_url, {redirect: 'error'});
assert_equals(request.url, redirect_original_url, assert_equals(request.url, redirect_original_url,
'Request\'s url is the original URL'); 'Request\'s url is the original URL');
assert_equals(request.context, '');
assert_equals(request.redirect, 'error'); assert_equals(request.redirect, 'error');
return fetch(request) return fetch(request)
...@@ -176,14 +170,12 @@ promise_test(function(t) { ...@@ -176,14 +170,12 @@ promise_test(function(t) {
method: 'POST', method: 'POST',
body: new Blob(['Test Blob'], {type: 'test/type'}) body: new Blob(['Test Blob'], {type: 'test/type'})
}); });
assert_equals(request.context, '');
return fetch(request) return fetch(request)
.then(function(response) { return response.text(); }) .then(function(response) { return response.text(); })
.then(evalJsonp) .then(evalJsonp)
.then(function(result) { .then(function(result) {
assert_equals(result.method, 'POST'); assert_equals(result.method, 'POST');
assert_equals(result.body, 'Test Blob'); assert_equals(result.body, 'Test Blob');
assert_equals(request.context, '');
}); });
}, 'Fetch with Blob body test'); }, 'Fetch with Blob body test');
......
...@@ -636,12 +636,4 @@ promise_test(function(t) { ...@@ -636,12 +636,4 @@ promise_test(function(t) {
}); });
}, 'Consume and pass'); }, '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(); done();
...@@ -8,12 +8,11 @@ ...@@ -8,12 +8,11 @@
var url_count = 0; var url_count = 0;
var expected_results = {}; var expected_results = {};
function image_test(frame, url, cross_origin, expected_context, function image_test(frame, url, cross_origin,
expected_mode, expected_credentials) { expected_mode, expected_credentials) {
var actual_url = url + (++url_count); var actual_url = url + (++url_count);
expected_results[actual_url] = { expected_results[actual_url] = {
cross_origin: cross_origin, cross_origin: cross_origin,
context: expected_context,
mode: expected_mode, mode: expected_mode,
credentials: expected_credentials, credentials: expected_credentials,
redirect: 'follow', redirect: 'follow',
...@@ -23,12 +22,11 @@ function image_test(frame, url, cross_origin, expected_context, ...@@ -23,12 +22,11 @@ function image_test(frame, url, cross_origin, expected_context,
return frame.contentWindow.load_image(actual_url, cross_origin); 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) { expected_mode, expected_credentials) {
var actual_url = url + (++url_count); var actual_url = url + (++url_count);
expected_results[actual_url] = { expected_results[actual_url] = {
cross_origin: cross_origin, cross_origin: cross_origin,
context: expected_context,
mode: expected_mode, mode: expected_mode,
credentials: expected_credentials, credentials: expected_credentials,
redirect: 'follow', redirect: 'follow',
...@@ -38,12 +36,11 @@ function script_test(frame, url, cross_origin, expected_context, ...@@ -38,12 +36,11 @@ function script_test(frame, url, cross_origin, expected_context,
return frame.contentWindow.load_script(actual_url, cross_origin); 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) { expected_mode, expected_credentials) {
var actual_url = url + (++url_count); var actual_url = url + (++url_count);
expected_results[actual_url] = { expected_results[actual_url] = {
cross_origin: cross_origin, cross_origin: cross_origin,
context: expected_context,
mode: expected_mode, mode: expected_mode,
credentials: expected_credentials, credentials: expected_credentials,
redirect: 'follow', redirect: 'follow',
...@@ -53,12 +50,11 @@ function css_test(frame, url, cross_origin, expected_context, ...@@ -53,12 +50,11 @@ function css_test(frame, url, cross_origin, expected_context,
return frame.contentWindow.load_css(actual_url, cross_origin); 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) { expected_credentials) {
var actual_url = url + (++url_count); var actual_url = url + (++url_count);
expected_results[actual_url] = { expected_results[actual_url] = {
url: actual_url, url: actual_url,
context: expected_context,
mode: expected_mode, mode: expected_mode,
credentials: expected_credentials, credentials: expected_credentials,
redirect: 'follow', redirect: 'follow',
...@@ -67,12 +63,11 @@ function font_face_test(frame, url, expected_context, expected_mode, ...@@ -67,12 +63,11 @@ function font_face_test(frame, url, expected_context, expected_mode,
return frame.contentWindow.load_font(actual_url); 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) { expected_mode, expected_credentials) {
var actual_url = url + (++url_count); var actual_url = url + (++url_count);
expected_results[actual_url] = { expected_results[actual_url] = {
url: actual_url, url: actual_url,
context: expected_context,
mode: expected_mode, mode: expected_mode,
credentials: expected_credentials, credentials: expected_credentials,
redirect: 'follow', redirect: 'follow',
...@@ -81,12 +76,11 @@ function css_image_test(frame, url, type, expected_context, ...@@ -81,12 +76,11 @@ function css_image_test(frame, url, type, expected_context,
return frame.contentWindow.load_css_image(actual_url, type); 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) { expected_mode, expected_credentials) {
var actual_url = url + (++url_count); var actual_url = url + (++url_count);
expected_results[actual_url] = { expected_results[actual_url] = {
url: actual_url, url: actual_url,
context: expected_context,
mode: expected_mode, mode: expected_mode,
credentials: expected_credentials, credentials: expected_credentials,
redirect: 'follow', redirect: 'follow',
...@@ -123,17 +117,6 @@ async_test(function(t) { ...@@ -123,17 +117,6 @@ async_test(function(t) {
if (!expected) { if (!expected) {
return; 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( assert_equals(
result.mode, expected.mode, result.mode, expected.mode,
'mode of ' + expected.message + ' must be ' + 'mode of ' + expected.message + ' must be ' +
...@@ -160,53 +143,43 @@ async_test(function(t) { ...@@ -160,53 +143,43 @@ async_test(function(t) {
.then(function() { return with_iframe(SCOPE); }) .then(function() { return with_iframe(SCOPE); })
.then(function(f) { .then(function(f) {
frame = f; frame = f;
image_test(f, LOCAL_URL, '', 'image', 'no-cors', 'same-origin'); image_test(f, LOCAL_URL, '', 'no-cors', 'same-origin');
image_test(f, LOCAL_URL, 'anonymous', 'image', 'cors', 'omit'); image_test(f, LOCAL_URL, 'anonymous', 'cors', 'omit');
image_test(f, LOCAL_URL, 'use-credentials', 'image', 'cors', image_test(f, LOCAL_URL, 'use-credentials', 'cors', 'include');
'include'); image_test(f, REMOTE_URL, '', 'no-cors', 'same-origin');
image_test(f, REMOTE_URL, '', 'image', 'no-cors', 'same-origin'); image_test(f, REMOTE_URL, 'anonymous', 'cors', 'omit');
image_test(f, REMOTE_URL, 'anonymous', 'image', 'cors', 'omit'); image_test(f, REMOTE_URL, 'use-credentials', 'cors', 'include');
image_test(f, REMOTE_URL, 'use-credentials', 'image', 'cors',
'include');
script_test(f, LOCAL_URL, '', 'script', 'no-cors', 'same-origin'); script_test(f, LOCAL_URL, '', 'no-cors', 'same-origin');
script_test(f, LOCAL_URL, 'anonymous', 'script', 'cors', 'omit'); script_test(f, LOCAL_URL, 'anonymous', 'cors', 'omit');
script_test(f, LOCAL_URL, 'use-credentials', 'script', 'cors', script_test(f, LOCAL_URL, 'use-credentials', 'cors', 'include');
'include'); script_test(f, REMOTE_URL, '', 'no-cors', 'same-origin');
script_test(f, REMOTE_URL, '', 'script', 'no-cors', 'same-origin'); script_test(f, REMOTE_URL, 'anonymous', 'cors', 'omit');
script_test(f, REMOTE_URL, 'anonymous', 'script', 'cors', 'omit'); script_test(f, REMOTE_URL, 'use-credentials', 'cors', 'include');
script_test(f, REMOTE_URL, 'use-credentials', 'script', 'cors',
'include');
css_test(f, LOCAL_URL, '', 'style', 'no-cors', 'same-origin'); css_test(f, LOCAL_URL, '', 'no-cors', 'same-origin');
css_test(f, LOCAL_URL, 'anonymous', 'style', 'cors', 'omit'); css_test(f, LOCAL_URL, 'anonymous', 'cors', 'omit');
css_test(f, LOCAL_URL, 'use-credentials', 'style', 'cors', css_test(f, LOCAL_URL, 'use-credentials', 'cors', 'include');
'include'); css_test(f, REMOTE_URL, '', 'no-cors', 'same-origin');
css_test(f, REMOTE_URL, '', 'style', 'no-cors', 'same-origin'); css_test(f, REMOTE_URL, 'anonymous', 'cors', 'omit');
css_test(f, REMOTE_URL, 'anonymous', 'style', 'cors', 'omit'); css_test(f, REMOTE_URL, 'use-credentials', 'cors', 'include');
css_test(f, REMOTE_URL, 'use-credentials', 'style', 'cors',
'include');
font_face_test(f, LOCAL_URL, 'font', 'cors', 'omit'); font_face_test(f, LOCAL_URL, 'cors', 'omit');
font_face_test(f, REMOTE_URL, 'font', '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'); 'no-cors', 'same-origin');
css_image_test(f, REMOTE_URL, 'backgroundImage', 'image', css_image_test(f, REMOTE_URL, 'backgroundImage',
'no-cors', 'same-origin'); 'no-cors', 'same-origin');
css_image_test(f, LOCAL_URL, 'shapeOutside', 'image', 'cors', css_image_test(f, LOCAL_URL, 'shapeOutside', 'cors', 'omit');
'omit'); css_image_test(f, REMOTE_URL, 'shapeOutside', 'cors', 'omit');
css_image_test(f, REMOTE_URL, 'shapeOutside', 'image', 'cors',
'omit');
css_image_set_test(f, LOCAL_URL, 'backgroundImage', 'image', css_image_set_test(f, LOCAL_URL, 'backgroundImage',
'no-cors', 'same-origin'); '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'); 'no-cors', 'same-origin');
css_image_set_test(f, LOCAL_URL, 'shapeOutside', 'image', 'cors', css_image_set_test(f, LOCAL_URL, 'shapeOutside', 'cors', 'omit');
'omit'); css_image_set_test(f, REMOTE_URL, 'shapeOutside', 'cors', 'omit');
css_image_set_test(f, REMOTE_URL, 'shapeOutside', 'image', 'cors',
'omit');
}) })
.catch(unreached_rejection(t)); .catch(unreached_rejection(t));
......
...@@ -16,9 +16,6 @@ self.addEventListener('fetch', function(event) { ...@@ -16,9 +16,6 @@ self.addEventListener('fetch', function(event) {
} }
port.postMessage({ port.postMessage({
url: url, url: url,
context: event.request.context,
context_clone: event.request.clone().context,
context_new: (new Request(event.request)).context,
mode: event.request.mode, mode: event.request.mode,
redirect: event.request.redirect, redirect: event.request.redirect,
credentials: event.request.credentials credentials: event.request.credentials
......
...@@ -58,7 +58,6 @@ function xhr_send(url_base, method, data, with_credentials) { ...@@ -58,7 +58,6 @@ function xhr_send(url_base, method, data, with_credentials) {
function string_test() { function string_test() {
return xhr_send(host_info['HTTP_ORIGIN'], 'POST', 'test string', false) return xhr_send(host_info['HTTP_ORIGIN'], 'POST', 'test string', false)
.then(function(response) { .then(function(response) {
assert_equals(response.context, 'xmlhttprequest');
assert_equals(response.method, 'POST'); assert_equals(response.method, 'POST');
assert_equals(response.body, 'test string'); assert_equals(response.body, 'test string');
}); });
...@@ -68,7 +67,6 @@ function blob_test() { ...@@ -68,7 +67,6 @@ function blob_test() {
return xhr_send(host_info['HTTP_ORIGIN'], 'POST', new Blob(['test blob']), return xhr_send(host_info['HTTP_ORIGIN'], 'POST', new Blob(['test blob']),
false) false)
.then(function(response) { .then(function(response) {
assert_equals(response.context, 'xmlhttprequest');
assert_equals(response.method, 'POST'); assert_equals(response.method, 'POST');
assert_equals(response.body, 'test blob'); assert_equals(response.body, 'test blob');
}); });
......
...@@ -12,7 +12,6 @@ self.addEventListener('fetch', function(event) { ...@@ -12,7 +12,6 @@ self.addEventListener('fetch', function(event) {
.then(function(result) { .then(function(result) {
resolve(new Response(JSON.stringify({ resolve(new Response(JSON.stringify({
method: event.request.method, method: event.request.method,
context: event.request.context,
mode: event.request.mode, mode: event.request.mode,
credentials: event.request.credentials, credentials: event.request.credentials,
headers: headers, headers: headers,
......
...@@ -495,7 +495,6 @@ interface ReadableStream ...@@ -495,7 +495,6 @@ interface ReadableStream
method getReader method getReader
interface Request interface Request
getter bodyUsed getter bodyUsed
getter context
getter credentials getter credentials
getter headers getter headers
getter method getter method
......
...@@ -422,7 +422,6 @@ interface ReadableStream ...@@ -422,7 +422,6 @@ interface ReadableStream
method getReader method getReader
interface Request interface Request
getter bodyUsed getter bodyUsed
getter context
getter credentials getter credentials
getter headers getter headers
getter method getter method
......
...@@ -408,7 +408,6 @@ Starting worker: resources/global-interface-listing.js ...@@ -408,7 +408,6 @@ Starting worker: resources/global-interface-listing.js
[Worker] method getReader [Worker] method getReader
[Worker] interface Request [Worker] interface Request
[Worker] getter bodyUsed [Worker] getter bodyUsed
[Worker] getter context
[Worker] getter credentials [Worker] getter credentials
[Worker] getter headers [Worker] getter headers
[Worker] getter method [Worker] getter method
......
...@@ -3366,7 +3366,6 @@ interface ReadableStream ...@@ -3366,7 +3366,6 @@ interface ReadableStream
method getReader method getReader
interface Request interface Request
getter bodyUsed getter bodyUsed
getter context
getter credentials getter credentials
getter headers getter headers
getter method getter method
......
...@@ -395,7 +395,6 @@ Starting worker: resources/global-interface-listing.js ...@@ -395,7 +395,6 @@ Starting worker: resources/global-interface-listing.js
[Worker] method getReader [Worker] method getReader
[Worker] interface Request [Worker] interface Request
[Worker] getter bodyUsed [Worker] getter bodyUsed
[Worker] getter context
[Worker] getter credentials [Worker] getter credentials
[Worker] getter headers [Worker] getter headers
[Worker] getter method [Worker] getter method
......
...@@ -446,7 +446,6 @@ Starting worker: resources/global-interface-listing.js ...@@ -446,7 +446,6 @@ Starting worker: resources/global-interface-listing.js
[Worker] method getReader [Worker] method getReader
[Worker] interface Request [Worker] interface Request
[Worker] getter bodyUsed [Worker] getter bodyUsed
[Worker] getter context
[Worker] getter credentials [Worker] getter credentials
[Worker] getter headers [Worker] getter headers
[Worker] getter method [Worker] getter method
......
...@@ -3845,7 +3845,6 @@ interface RelatedEvent ...@@ -3845,7 +3845,6 @@ interface RelatedEvent
method constructor method constructor
interface Request interface Request
getter bodyUsed getter bodyUsed
getter context
getter credentials getter credentials
getter headers getter headers
getter method getter method
......
...@@ -433,7 +433,6 @@ Starting worker: resources/global-interface-listing.js ...@@ -433,7 +433,6 @@ Starting worker: resources/global-interface-listing.js
[Worker] method getReader [Worker] method getReader
[Worker] interface Request [Worker] interface Request
[Worker] getter bodyUsed [Worker] getter bodyUsed
[Worker] getter context
[Worker] getter credentials [Worker] getter credentials
[Worker] getter headers [Worker] getter headers
[Worker] getter method [Worker] getter method
......
...@@ -29,7 +29,6 @@ enum RequestRedirect { "follow", "error", "manual" }; ...@@ -29,7 +29,6 @@ enum RequestRedirect { "follow", "error", "manual" };
readonly attribute ByteString method; readonly attribute ByteString method;
readonly attribute USVString url; readonly attribute USVString url;
readonly attribute Headers headers; readonly attribute Headers headers;
[DeprecateAs=FetchAPIRequestContext] readonly attribute RequestContext context;
readonly attribute DOMString referrer; readonly attribute DOMString referrer;
readonly attribute RequestMode mode; readonly attribute RequestMode mode;
readonly attribute RequestCredentials credentials; 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