@@ -212,6 +212,7 @@ spec: HTML; urlPrefix: https://html.spec.whatwg.org/multipage/
212
212
text: prompt; url: timers-and-user-prompts.html#dom-prompt
213
213
text: remove a browsing context; url: browsers.html#bcg-remove
214
214
text: report an error; url: webappapis.html#report-the-error
215
+ text: resource; url: infrastructure.html#resources
215
216
text: run the animation frame callbacks; url: imagebitmap-and-animations.html#run-the-animation-frame-callbacks
216
217
text: same origin domain; url: browsers.html#same-origin-domain
217
218
text: select an image source from a source set; url: images.html#select-an-image-source-from-a-source-set
@@ -5219,54 +5220,64 @@ To <dfn>deserialize header</dfn> given |protocol header|:
5219
5220
5220
5221
<pre class="cddl local-cddl">
5221
5222
network.Initiator = {
5222
- type: "parser" / "script" / "preflight" / "other",
5223
+ type: text,
5224
+ ? isCorsPreflight: bool,
5223
5225
? columnNumber: js-uint,
5224
5226
? lineNumber: js-uint,
5225
5227
? stackTrace: script.StackTrace,
5226
- ? request: network.Request
5228
+ ? url: text,
5227
5229
};
5228
5230
</pre>
5229
5231
5230
5232
The <code> network.Initiatior</code> type represents the source of a network
5231
5233
request.
5232
5234
5235
+ Note: the purpose of the initiator in the spec is to be able to compute
5236
+ the chain of resources that lead to a particular network request using
5237
+ URLs and positions within resources.
5238
+
5233
5239
<div algorithm>
5234
5240
To <dfn>get the initiator</dfn> given |request|:
5235
5241
5236
- 1. Let |request id| be |request|'s [=request id=] .
5242
+ 1. Let |type| be |request|'s [=request/initiator type=] .
5243
+
5244
+ 1. Let |is cors prefligt| be true, if |request| is a [=CORS-Preflight Request=] , and false otherwise.
5245
+
5246
+ 1. Let |stack trace| be the [=current stack trace=] .
5247
+
5248
+ Issue: current stack trace might not always be available.
5237
5249
5238
- 1. Let |type| be " <code> other </code> ".
5250
+ 1. If |stack trace| has size of 1 or greater:
5239
5251
5240
- 1. If |request| is a [=CORS-Preflight Request=] , set |type| to
5241
- "<code> preflight</code> ".
5252
+ 1. Let |url| be value of the <code> url<code> in |stack trace|[0] .
5242
5253
5243
- 1. TODO: Get the |type|. It's not quite clear how this ought to work; the CDP
5244
- data depends on whether the navigation was kicked off by the parser or by
5245
- script (so e.g. inserting an image from script causes the initiator to be
5246
- "<code> script</code> "), but that doesn't correspond to anything in Fetch.
5254
+ 1. Let |line number| be value of the <code> lineNumber</code> field in
5255
+ |stack trace|[0] .
5256
+
5257
+ 1. Let |column number| be the value of the <code> columnNumber</code>
5258
+ field in |stack trace|[0] .
5259
+
5260
+ 1. Otherwise:
5247
5261
5248
- 1. If |request|'s [=request/initiator type=] is "<code> fetch</code> " or
5249
- "<code> xmlhttprequest</code> ":
5262
+ 1. Let |stack trace| be null.
5250
5263
5251
- 1. Let |stack trace| be the [=current stack trace=] .
5264
+ Issue: TODO
5252
5265
5253
- 1. If |stack trace| has size of 1 or greater, let |line number| be value of the
5254
- <code> lineNumber</code> field in |stack trace|[0] , and let |column number| be
5255
- the value of the <code> columnNumber</code> field in |stack trace|[0] . Otherwise
5256
- let |line number| and |column number| be 0.
5266
+ 1. Let |url| be the URL of the [=resource=] that initiated |request|.
5257
5267
5258
- Otherwise, let |stack trace|, | column number|, and |line number| all be null .
5268
+ 1. Let |column number| be the column number within the [=resource=] that initiated |request| .
5259
5269
5260
- TODO: Chrome includes the current parser position as column number / line
5261
- number for parser-inserted resources.
5270
+ 1. Let |line number| be the line number within the [=resource=] that initiated |request|.
5262
5271
5263
- 1. Return a [=/map=] matching the <code> network.Initiator</code> production, with
5264
- the <code> type</code> field set to |type|, the <code> columnNumber</code>
5265
- field set to |column number| if it's not null, or omitted otherwise, the
5266
- <code> lineNumber</code> field set to |line number| if it's not null, or
5267
- omitted otherwise, the <code> stackTrace</code> field set to |stack trace| if
5268
- it's not null, or omitted otherwise, and the <code> request</code> field set
5269
- to |request id|.
5272
+ 1. Return a [=/map=] matching the <code> network.Initiator</code>
5273
+ production, with the <code> type</code> field set to |type|, the
5274
+ <code> isCorsPreflight</code> set to |is cors prefligt|, the
5275
+ <code> columnNumber</code> field set to |column number| if it's not
5276
+ null, or omitted otherwise, the <code> lineNumber</code> field set to
5277
+ |line number| if it's not null, or omitted otherwise, the
5278
+ <code> stackTrace</code> field set to |stack trace| if it's not null,
5279
+ or omitted otherwise, and the <code> url</code> field set to |url| if
5280
+ it's not null, or omitted otherwise.
5270
5281
5271
5282
</div>
5272
5283
0 commit comments