Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(97)

Side by Side Diff: third_party/WebKit/LayoutTests/http/tests/fetch/script-tests/thorough/redirect-password.js

Issue 2524703002: Introduce Response.redirect attribute and add LayoutTest. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 if (self.importScripts) { 1 if (self.importScripts) {
2 importScripts('/fetch/resources/fetch-test-helpers.js'); 2 importScripts('/fetch/resources/fetch-test-helpers.js');
3 importScripts('/fetch/resources/thorough-util.js'); 3 importScripts('/fetch/resources/thorough-util.js');
4 } 4 }
5 5
6 var TEST_TARGETS = [ 6 var TEST_TARGETS = [
7 // Redirects to URLs with username/password. 7 // Redirects to URLs with username/password.
8 // Spec: https://fetch.spec.whatwg.org/#concept-http-fetch 8 // Spec: https://fetch.spec.whatwg.org/#concept-http-fetch
9 // Step 5, redirect status, Step 10.1 and 10.2: 9 // Step 5, redirect status, Step 10.1 and 10.2:
10 // "If |request|'s mode is "cors", |request|'s origin is not same origin with 10 // "If |request|'s mode is "cors", |request|'s origin is not same origin with
11 // |locationURL|'s origin, and |locationURL| includes credentials, return a 11 // |locationURL|'s origin, and |locationURL| includes credentials, return a
12 // network error." 12 // network error."
13 // "If the CORS flag is set and |locationURL| includes credentials, return 13 // "If the CORS flag is set and |locationURL| includes credentials, return
14 // a network error." 14 // a network error."
15 15
16 // Origin A -[fetch]-> Origin A -[redirect]-> Origin A 16 // Origin A -[fetch]-> Origin A -[redirect]-> Origin A
17 [REDIRECT_URL + encodeURIComponent(BASE_URL_WITH_USERNAME) + 17 [REDIRECT_URL + encodeURIComponent(BASE_URL_WITH_USERNAME) +
18 '&mode=same-origin&method=GET', 18 '&mode=same-origin&method=GET',
19 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic, 19 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic,
20 checkURLList.bind(self, [BASE_URL_WITH_USERNAME])], 20 responseRedirected, checkURLList.bind(self, [BASE_URL_WITH_USERNAME])],
21 [methodIsGET]], 21 [methodIsGET]],
22 [REDIRECT_URL + encodeURIComponent(BASE_URL_WITH_PASSWORD) + 22 [REDIRECT_URL + encodeURIComponent(BASE_URL_WITH_PASSWORD) +
23 '&mode=same-origin&method=GET', 23 '&mode=same-origin&method=GET',
24 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic, 24 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic,
25 checkURLList.bind(self, [BASE_URL_WITH_PASSWORD])], 25 responseRedirected, checkURLList.bind(self, [BASE_URL_WITH_PASSWORD])],
26 [methodIsGET]], 26 [methodIsGET]],
27 [REDIRECT_URL + encodeURIComponent(BASE_URL_WITH_USERNAME) + 27 [REDIRECT_URL + encodeURIComponent(BASE_URL_WITH_USERNAME) +
28 '&mode=cors&method=GET', 28 '&mode=cors&method=GET',
29 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic, 29 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic,
30 checkURLList.bind(self, [BASE_URL_WITH_USERNAME])], 30 responseRedirected, checkURLList.bind(self, [BASE_URL_WITH_USERNAME])],
31 [methodIsGET]], 31 [methodIsGET]],
32 [REDIRECT_URL + encodeURIComponent(BASE_URL_WITH_PASSWORD) + 32 [REDIRECT_URL + encodeURIComponent(BASE_URL_WITH_PASSWORD) +
33 '&mode=cors&method=GET', 33 '&mode=cors&method=GET',
34 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic, 34 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic,
35 checkURLList.bind(self, [BASE_URL_WITH_PASSWORD])], 35 responseRedirected, checkURLList.bind(self, [BASE_URL_WITH_PASSWORD])],
36 [methodIsGET]], 36 [methodIsGET]],
37 [REDIRECT_URL + encodeURIComponent(BASE_URL_WITH_USERNAME) + 37 [REDIRECT_URL + encodeURIComponent(BASE_URL_WITH_USERNAME) +
38 '&mode=no-cors&method=GET', 38 '&mode=no-cors&method=GET',
39 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic, 39 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic,
40 checkURLList.bind(self, [BASE_URL_WITH_USERNAME])], 40 responseRedirected, checkURLList.bind(self, [BASE_URL_WITH_USERNAME])],
41 [methodIsGET]], 41 [methodIsGET]],
42 [REDIRECT_URL + encodeURIComponent(BASE_URL_WITH_PASSWORD) + 42 [REDIRECT_URL + encodeURIComponent(BASE_URL_WITH_PASSWORD) +
43 '&mode=no-cors&method=GET', 43 '&mode=no-cors&method=GET',
44 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic, 44 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic,
45 checkURLList.bind(self, [BASE_URL_WITH_PASSWORD])], 45 responseRedirected, checkURLList.bind(self, [BASE_URL_WITH_PASSWORD])],
46 [methodIsGET]], 46 [methodIsGET]],
47 47
48 // Origin A -[fetch]-> Origin A -[redirect]-> Origin B 48 // Origin A -[fetch]-> Origin A -[redirect]-> Origin B
49 [REDIRECT_URL + 49 [REDIRECT_URL +
50 encodeURIComponent(OTHER_BASE_URL_WITH_USERNAME + '&ACAOrigin=*') + 50 encodeURIComponent(OTHER_BASE_URL_WITH_USERNAME + '&ACAOrigin=*') +
51 '&mode=cors&method=GET', 51 '&mode=cors&method=GET',
52 [fetchRejected]], 52 [fetchRejected]],
53 [REDIRECT_URL + 53 [REDIRECT_URL +
54 encodeURIComponent(OTHER_BASE_URL_WITH_PASSWORD + '&ACAOrigin=*') + 54 encodeURIComponent(OTHER_BASE_URL_WITH_PASSWORD + '&ACAOrigin=*') +
55 '&mode=cors&method=GET', 55 '&mode=cors&method=GET',
56 [fetchRejected]], 56 [fetchRejected]],
57 [REDIRECT_URL + 57 [REDIRECT_URL +
58 encodeURIComponent(OTHER_BASE_URL_WITH_USERNAME + '&ACAOrigin=*') + 58 encodeURIComponent(OTHER_BASE_URL_WITH_USERNAME + '&ACAOrigin=*') +
59 '&mode=no-cors&method=GET', 59 '&mode=no-cors&method=GET',
60 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque, 60 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque,
61 responseNotRedirected,
61 checkURLList.bind(self, [OTHER_BASE_URL_WITH_USERNAME + '&ACAOrigin=*'])], 62 checkURLList.bind(self, [OTHER_BASE_URL_WITH_USERNAME + '&ACAOrigin=*'])],
62 onlyOnServiceWorkerProxiedTest([methodIsGET])], 63 onlyOnServiceWorkerProxiedTest([methodIsGET])],
63 [REDIRECT_URL + 64 [REDIRECT_URL +
64 encodeURIComponent(OTHER_BASE_URL_WITH_PASSWORD + '&ACAOrigin=*') + 65 encodeURIComponent(OTHER_BASE_URL_WITH_PASSWORD + '&ACAOrigin=*') +
65 '&mode=no-cors&method=GET', 66 '&mode=no-cors&method=GET',
66 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque, 67 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque,
68 responseNotRedirected,
67 checkURLList.bind(self, [OTHER_BASE_URL_WITH_PASSWORD + '&ACAOrigin=*'])], 69 checkURLList.bind(self, [OTHER_BASE_URL_WITH_PASSWORD + '&ACAOrigin=*'])],
68 onlyOnServiceWorkerProxiedTest([methodIsGET])], 70 onlyOnServiceWorkerProxiedTest([methodIsGET])],
69 71
70 // Origin A -[fetch]-> Origin B -[redirect]-> Origin A 72 // Origin A -[fetch]-> Origin B -[redirect]-> Origin A
71 [OTHER_REDIRECT_URL + 73 [OTHER_REDIRECT_URL +
72 encodeURIComponent(BASE_URL_WITH_USERNAME + 'ACAOrigin=*') + 74 encodeURIComponent(BASE_URL_WITH_USERNAME + 'ACAOrigin=*') +
73 '&mode=cors&method=GET&ACAOrigin=*', 75 '&mode=cors&method=GET&ACAOrigin=*',
74 [fetchRejected]], 76 [fetchRejected]],
75 [OTHER_REDIRECT_URL + 77 [OTHER_REDIRECT_URL +
76 encodeURIComponent(BASE_URL_WITH_PASSWORD + 'ACAOrigin=*') + 78 encodeURIComponent(BASE_URL_WITH_PASSWORD + 'ACAOrigin=*') +
77 '&mode=cors&method=GET&ACAOrigin=*', 79 '&mode=cors&method=GET&ACAOrigin=*',
78 [fetchRejected]], 80 [fetchRejected]],
79 [OTHER_REDIRECT_URL + 81 [OTHER_REDIRECT_URL +
80 encodeURIComponent(BASE_URL_WITH_USERNAME + 'ACAOrigin=*') + 82 encodeURIComponent(BASE_URL_WITH_USERNAME + 'ACAOrigin=*') +
81 '&mode=no-cors&method=GET&ACAOrigin=*', 83 '&mode=no-cors&method=GET&ACAOrigin=*',
82 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque, 84 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque,
85 responseNotRedirected,
83 checkURLList.bind(self, [BASE_URL_WITH_USERNAME + 'ACAOrigin=*'])], 86 checkURLList.bind(self, [BASE_URL_WITH_USERNAME + 'ACAOrigin=*'])],
84 onlyOnServiceWorkerProxiedTest([methodIsGET])], 87 onlyOnServiceWorkerProxiedTest([methodIsGET])],
85 [OTHER_REDIRECT_URL + 88 [OTHER_REDIRECT_URL +
86 encodeURIComponent(BASE_URL_WITH_PASSWORD + 'ACAOrigin=*') + 89 encodeURIComponent(BASE_URL_WITH_PASSWORD + 'ACAOrigin=*') +
87 '&mode=no-cors&method=GET&ACAOrigin=*', 90 '&mode=no-cors&method=GET&ACAOrigin=*',
88 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque, 91 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque,
92 responseNotRedirected,
89 checkURLList.bind(self, [BASE_URL_WITH_PASSWORD + 'ACAOrigin=*'])], 93 checkURLList.bind(self, [BASE_URL_WITH_PASSWORD + 'ACAOrigin=*'])],
90 onlyOnServiceWorkerProxiedTest([methodIsGET])], 94 onlyOnServiceWorkerProxiedTest([methodIsGET])],
91 95
92 // Origin A -[fetch]-> Origin B -[redirect]-> Origin B 96 // Origin A -[fetch]-> Origin B -[redirect]-> Origin B
93 [OTHER_REDIRECT_URL + 97 [OTHER_REDIRECT_URL +
94 encodeURIComponent(OTHER_BASE_URL_WITH_USERNAME + 'ACAOrigin=*') + 98 encodeURIComponent(OTHER_BASE_URL_WITH_USERNAME + 'ACAOrigin=*') +
95 '&mode=cors&method=GET&ACAOrigin=*', 99 '&mode=cors&method=GET&ACAOrigin=*',
96 [fetchRejected]], 100 [fetchRejected]],
97 [OTHER_REDIRECT_URL + 101 [OTHER_REDIRECT_URL +
98 encodeURIComponent(OTHER_BASE_URL_WITH_PASSWORD + 'ACAOrigin=*') + 102 encodeURIComponent(OTHER_BASE_URL_WITH_PASSWORD + 'ACAOrigin=*') +
99 '&mode=cors&method=GET&ACAOrigin=*', 103 '&mode=cors&method=GET&ACAOrigin=*',
100 [fetchRejected]], 104 [fetchRejected]],
101 [OTHER_REDIRECT_URL + 105 [OTHER_REDIRECT_URL +
102 encodeURIComponent(OTHER_BASE_URL_WITH_USERNAME + 'ACAOrigin=*') + 106 encodeURIComponent(OTHER_BASE_URL_WITH_USERNAME + 'ACAOrigin=*') +
103 '&mode=no-cors&method=GET&ACAOrigin=*', 107 '&mode=no-cors&method=GET&ACAOrigin=*',
104 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque, 108 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque,
109 responseNotRedirected,
105 checkURLList.bind(self, [OTHER_BASE_URL_WITH_USERNAME + 'ACAOrigin=*'])], 110 checkURLList.bind(self, [OTHER_BASE_URL_WITH_USERNAME + 'ACAOrigin=*'])],
106 onlyOnServiceWorkerProxiedTest([methodIsGET])], 111 onlyOnServiceWorkerProxiedTest([methodIsGET])],
107 [OTHER_REDIRECT_URL + 112 [OTHER_REDIRECT_URL +
108 encodeURIComponent(OTHER_BASE_URL_WITH_PASSWORD + 'ACAOrigin=*') + 113 encodeURIComponent(OTHER_BASE_URL_WITH_PASSWORD + 'ACAOrigin=*') +
109 '&mode=no-cors&method=GET&ACAOrigin=*', 114 '&mode=no-cors&method=GET&ACAOrigin=*',
110 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque, 115 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque,
116 responseNotRedirected,
111 checkURLList.bind(self, [OTHER_BASE_URL_WITH_PASSWORD + 'ACAOrigin=*'])], 117 checkURLList.bind(self, [OTHER_BASE_URL_WITH_PASSWORD + 'ACAOrigin=*'])],
112 onlyOnServiceWorkerProxiedTest([methodIsGET])], 118 onlyOnServiceWorkerProxiedTest([methodIsGET])],
113 ]; 119 ];
114 120
115 if (self.importScripts) { 121 if (self.importScripts) {
116 executeTests(TEST_TARGETS); 122 executeTests(TEST_TARGETS);
117 done(); 123 done();
118 } 124 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698