From a808110c27e33e08936bbba924572fd37e4654d3 Mon Sep 17 00:00:00 2001 From: James Graham Date: Fri, 18 Nov 2022 10:20:40 +0000 Subject: [PATCH] Add WebDriver BiDi network request logging --- fetch.bs | 47 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 3 deletions(-) diff --git a/fetch.bs b/fetch.bs index 58579420d..7a33e7e76 100644 --- a/fetch.bs +++ b/fetch.bs @@ -2157,6 +2157,11 @@ Unless stated otherwise, it is false.

This is for exclusive use by HTML's navigate algorithm. [[!HTML]] +

A request has an associated WebDriver navigation id +(null or a string). Unless stated otherwise, it is null. + +

This is for exclusive use by HTML's navigate algorithm. [[!HTML]] +

A request has an associated boolean render-blocking. Unless stated otherwise, it is false. @@ -2198,6 +2203,15 @@ otherwise, it is unset. done flag, and timing allow failed flag are used as bookkeeping details by the fetch algorithm. +

A request has an associated +WebDriver id +which is a unique string automatically set when the request is created. + +

The [=request/WebDriver id=] is used by WebDriver-BiDi. It remains constant +across all requests resulting from a redirect of an initial request. When a +request is [=request/cloned=], the created request gets a unique +[=request/WebDriver id=]. [[!WEBDRIVER-BIDI]] +


A subresource request is a request @@ -2274,7 +2288,9 @@ is to return the result of serializing a request origin with request

  1. Let newRequest be a copy of request, except for its - body. + body and WebDriver id. + +

  2. Set newRequest's WebDriver id to a new unique string.

  3. If request's body is non-null, set newRequest's body to the result of cloning request's @@ -4824,6 +4840,11 @@ steps: URL, fetchParams's request's initiator type, global, cacheState, bodyInfo, and responseStatus. + +

  4. If response is a network error, run + the WebDriver BiDi fetch error steps with request. Otherwise + run the WebDriver BiDi response completed steps with + request and response.

  • @@ -5165,6 +5186,13 @@ these steps: filtered response; otherwise to response's internal response. +
  • Run the [=WebDriver BiDi response started=] steps with + request and response. + +

  • If one of the following is true @@ -5292,8 +5320,12 @@ these steps:

    "follow"
    -
    1. Set response to the result of running HTTP-redirect fetch given - fetchParams and response.

    +
      +
    1. Run the WebDriver BiDi response completed steps with request and + response. +
    2. Set response to the result of running HTTP-redirect fetch given + fetchParams and response. +

    @@ -5699,6 +5731,10 @@ run these steps:

    This intentionally does not depend on httpRequest's credentials mode. + +

  • Run the WebDriver BiDi before request sent steps with request. +

  • Set httpCache to the result of determining the HTTP cache partition, given httpRequest. @@ -5794,6 +5830,8 @@ run these steps:

  • If aborted, then return the appropriate network error for fetchParams. +

  • If response is not null, run the WebDriver BiDi response + started steps with request and response.

  • @@ -6057,6 +6095,9 @@ optional boolean forceNewConnection (default false), run these steps:
  • Wait until all the HTTP response headers are transmitted. +

  • Run the [=WebDriver BiDi response started=] steps with + |request| and |response|. +

  • Let status be the HTTP response's status code.