W3C

– DRAFT –
WebDriver

10 February 2021

Attendees

Present
AutomatedTester, brwalder, cb, drousso, foolip, Honza, jdescottes, jgraham, jimevans, sadym, shengfa, simonstewart, whimboo
Regrets
-
Chair
AutomatedTester
Scribe
AutomatedTester, jgraham

Meeting minutes

RRSAgent: quiet

RRSAgent: silence

<jgraham> RRSAgent: draft minutes v2

<jgraham> RRSAgent: make logs public

<jgraham> RRSAgent: draft minutes v2

https://www.w3.org/wiki/WebDriver/2021-02-BiDi

Charter

AutomatedTester: WG is rechartered for 3 months as an intermin charter. Longer recharter is requested from plh/MikeSmith. Deliverables as discussed in the previous meeting. New charter should be for 2 years, which is the timeframe for delivering BiDi and updates to original WebDriver

AutomatedTester: No action required at this time. Should be up on the charter website. Thanks to MikeSmith for doing the heavy lifting here.

foolip: Will the rechartering change the charter?

AutomatedTester: Charter should be the same. Needs to go through the W3C Process for rechartering. 3 months is an extension to allow that to happen, since the charter had expired.

AutomatedTester: So far no concerns.

foolip: Sounds like it shouldn't require much additional review

Start adding Logging module

github https://github.com/w3c/webdriver-bidi/pull/73

github: https://github.com/w3c/webdriver-bidi/pull/73

jgraham: the update from my side is I havent been able to do much

sadym: the main question, should we focus on scalability or the end user usability
… as we focus on scalable we can create a situation that becomes unusable from a UX point of view

jgraham: My understandin here is on the question is [describes how log events might work]. In the spec we js errors or log messages. These can have different types of arguments that come up.
… There are a few ways we could structure the data and go for the Union of all the fields that could come through
… that feels like a bad idea and you're encoding which fields could be null
… one way we can solve this it to have a base type that has the basic fields and then have items that build off that
… and the suggestion that was made lets have a flat structure and then have an "inheritence" type model
… I don't have a strong oppinion
… and it feels like what we decide here will set the precedent for the rest of the spec

simonstewart: The inheritence model makes sense because it make gives you how that would go
… but lets rather think of them as mixins

jgraham: that makes sense

foolip: At the protocol level we can have this in CDDL
… and it seems we all agree

Adding `Description` to the serialised objects

sadym: I was working on the prototype and it seemed quite hard to figure out what was being returned based
… and I am wondering if we can add something that would help real people to understand what is going on to real people
… and e.g. For an array we have the description with the name which is more human friendly
… if the object is a Window it has a `description` with Window in it

jgraham: the serialisation we have is different to CDP so we have recursive serialisation
… and we have specific properties that describe the object instead of having a description
… the main worry for me it will be vendor/implementor specific which makes it a liability for interop

sadym: what about node elements?

jgraham: for those we are already sending back details that tells you what element it is

simonstewart: one thing to be aware of is that we can't always be done on localhost so we need to do minimise the wire calls is going to be healthy for people's tests

foolip: I was looking at the CDDL for arrays specifically
… and we can't work out the length of the array without fully knowing the objects in the array

jgraham: We should allow people to get the array length without having to serialise the children and that should be cheap to implment

simonstewart: is there a way from WebDriver HTTP and augment?

jgraham: I believe we already do a superset and if we dont we should

sadym: a question to simonstewart. is there with the remote users

simonstewart: devtools assume that they are on the same machine and optimise it
… but a goal for webdriver-bidi is that we may have users that are very far from them

sadym: so we shouldn't add preview?

simonstewart: I am meaning that we should not have a lot of calls to be able to deserialise items because we are sent remote objects

foolip: if we are optimising of fewer round trips then adding length and other items is good

drousso: to qualify what simonstewart said... There are cases where we will need to do that and we can't get around that
… and we need to avoid sending too much data because the protocol might not allow it

jgraham: the speccurrently has depth limit and we should keep trying to make sure it doesnt blow up in these cases

simonstewart: webdriver http doesnt limit the data sent back, if we don't allow it in bidi we should probably update the original spec to allow where there is overlapping

Event backfilling

github: https://github.com/w3c/webdriver-bidi/pull/85

jgraham: This is mostly FYI
… as discussed in the previous meeting that we wanted a way of replaying of events
… and for console logging (not spec'ed yet) you will get a buffer size of it
… and this changes the model that has been originally discussed
… this is a request for people to read and review the PR

foolip: is there anyone here that understands this from working on this on their browser? Is there fundamental differences?

jgraham: THis is based how I understood tools to work and tried to improve it slightly

Navigation

github: https://github.com/w3c/webdriver-bidi/issues/43

jgraham: This is the next feature that I want to work on
… we have previously discussed this at TPAC
… and I have documented it in the issue
… since this is async we can allow people to return when they see fit
… and we will likely need to define lifecycle steps for this
… and a question I have for Googlers. What is a loader id and what is it's lifecycle? THis is in CDP and blink and it's very different to requests

simonstewart: 2 things: We are wanting to do network interceptions
… 2nd thing: It would be good to reformul.ate the page loading strategies from Webdriver http in the bidi

jgraham: THe way that I imagine this working is that we would have a way of setting these
… and people will say when the call returns and they can go from there

<foolip> https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/loader/document_loader.h;l=245;drc=2ac64302ae161cd6b5e4b1254497bdf5fd6d3415

foolip: I don't know what loader id is and found this...
… it seems to be attached to a browsing context
… and it looks to have been around for a while and could be in webkit for the inspector is
… and I don't know the smart questions to ask for will help ask questions to the relevant people

<jgraham> RRSAgent: make minutes v2

Minutes manually created (not a transcript), formatted by scribe.perl version 127 (Wed Dec 30 17:39:58 2020 UTC).

Diagnostics

Succeeded: s/loses its value/makes it a liability for interop/

Maybe present: RRSAgent