@@ -38,9 +38,10 @@ class Response {
38
38
// The static error() method steps are to return the result of creating a
39
39
// Response object, given a new network error, "immutable", and this’s
40
40
// relevant Realm.
41
- const responseObject = new Response ( )
41
+ const responseObject = new Response ( kConstruct )
42
42
responseObject [ kState ] = makeNetworkError ( )
43
43
responseObject [ kRealm ] = relevantRealm
44
+ responseObject [ kHeaders ] = new Headers ( kConstruct )
44
45
responseObject [ kHeaders ] [ kHeadersList ] = responseObject [ kState ] . headersList
45
46
responseObject [ kHeaders ] [ kGuard ] = 'immutable'
46
47
responseObject [ kHeaders ] [ kRealm ] = relevantRealm
@@ -66,8 +67,11 @@ class Response {
66
67
// 3. Let responseObject be the result of creating a Response object, given a new response,
67
68
// "response", and this’s relevant Realm.
68
69
const relevantRealm = { settingsObject : { } }
69
- const responseObject = new Response ( )
70
+ const responseObject = new Response ( kConstruct )
71
+ responseObject [ kState ] = makeResponse ( { } )
70
72
responseObject [ kRealm ] = relevantRealm
73
+ responseObject [ kHeaders ] = new Headers ( kConstruct )
74
+ responseObject [ kHeaders ] [ kHeadersList ] = responseObject [ kState ] . headersList
71
75
responseObject [ kHeaders ] [ kGuard ] = 'response'
72
76
responseObject [ kHeaders ] [ kRealm ] = relevantRealm
73
77
@@ -107,8 +111,11 @@ class Response {
107
111
108
112
// 4. Let responseObject be the result of creating a Response object,
109
113
// given a new response, "immutable", and this’s relevant Realm.
110
- const responseObject = new Response ( )
114
+ const responseObject = new Response ( kConstruct )
115
+ responseObject [ kState ] = makeResponse ( { } )
111
116
responseObject [ kRealm ] = relevantRealm
117
+ responseObject [ kHeaders ] = new Headers ( kConstruct )
118
+ responseObject [ kHeaders ] [ kHeadersList ] = responseObject [ kState ] . headersList
112
119
responseObject [ kHeaders ] [ kGuard ] = 'immutable'
113
120
responseObject [ kHeaders ] [ kRealm ] = relevantRealm
114
121
@@ -127,6 +134,10 @@ class Response {
127
134
128
135
// https://fetch.spec.whatwg.org/#dom-response
129
136
constructor ( body = null , init = { } ) {
137
+ if ( body === kConstruct ) {
138
+ return
139
+ }
140
+
130
141
if ( body !== null ) {
131
142
body = webidl . converters . BodyInit ( body )
132
143
}
@@ -258,9 +269,10 @@ class Response {
258
269
259
270
// 3. Return the result of creating a Response object, given
260
271
// clonedResponse, this’s headers’s guard, and this’s relevant Realm.
261
- const clonedResponseObject = new Response ( )
272
+ const clonedResponseObject = new Response ( kConstruct )
262
273
clonedResponseObject [ kState ] = clonedResponse
263
274
clonedResponseObject [ kRealm ] = this [ kRealm ]
275
+ clonedResponseObject [ kHeaders ] = new Headers ( kConstruct )
264
276
clonedResponseObject [ kHeaders ] [ kHeadersList ] = clonedResponse . headersList
265
277
clonedResponseObject [ kHeaders ] [ kGuard ] = this [ kHeaders ] [ kGuard ]
266
278
clonedResponseObject [ kHeaders ] [ kRealm ] = this [ kHeaders ] [ kRealm ]
0 commit comments