16:51:01 RRSAgent has joined #webdriver 16:51:01 logging to https://www.w3.org/2021/11/10-webdriver-irc 16:51:36 Meeting: WebDriver 16:51:40 Chair: AutomatedTester 16:52:01 Agenda: https://www.w3.org/wiki/WebDriver/2021-11-BiDi#Agenda 16:52:14 ScribeNick: AutomatedTester 16:52:23 RRSAgent: make logs public 16:52:29 RRSAgent: make minutes v2 16:52:29 I have made the request to generate https://www.w3.org/2021/11/10-webdriver-minutes.html jgraham 16:59:58 jdescottes has joined #webdriver 17:01:40 present+ 17:02:09 present+ 17:02:17 present+ 17:02:45 brwalder has joined #webdriver 17:02:49 present+ 17:02:50 present+ 17:02:58 present+ 17:04:29 jimevans has joined #webdriver 17:04:39 present+ 17:05:01 https://www.w3.org/wiki/WebDriver/2021-11-BiDi#Agenda 17:08:49 topic: script.callFunction 17:08:56 github: https://github.com/w3c/webdriver-bidi/pull/142 17:09:32 sadym: I have been working on this and I want to check some topics 17:10:00 ... first topic is "what should we do if the call is made but doesnt exist". 17:10:19 ... currently we throw an invalid expression 17:10:42 ... 2nd topic: what do we do to to make sure that something is callable? 17:11:14 ...3rd topic: whimboo asked why do we need local values and primative values here and the symmetry 17:11:20 q+ 17:11:23 q? 17:11:28 On the first topic, https://pr-preview.s3.amazonaws.com/sadym-chromium/webdriver-bidi/pull/142.html#command-script-callFunction defines this at step 7: "If function body evaluation status.[[Type]] is throw, return error with error code invalid argument." 17:11:35 ack jgraham 17:11:47 jgraham: I think I suggested this in the PR 17:12:08 ... if you send something and it's not actionable it should be a protocol error 17:12:32 ... using a protocol error allows UA to return what they want and share a lot of info 17:13:09 ... for the parenthisis function... I know it feels like a hack but I think it is fine 17:13:21 ... I don't think it really matters 17:13:38 ... re: local values I think this seems fine and it's what we agreed the last time 17:14:12 q? 17:14:42 ... and think you for writing the PR, I have been reviewing it and it's great and unless there are concerns its really close to be landed 17:14:43 q? 17:15:17 no comments but just a thank you to sadym for working on this! 17:16:16 topic: sandboxed script execution 17:16:22 github: https://github.com/w3c/webdriver-bidi/issues/144 17:17:19 jgraham: With the script.eval and script.call nearly ready to ship 17:17:43 ... however some clients don't want to do this 17:18:03 ... because they can call things in the page 17:18:27 ... what they do instead is use a script sandbox to do this 17:18:48 ... they get a very filtered "window" object 17:19:20 ... so looking at this we probably want to get this implemented as soon as possible to help the playwright and puppeteer folks 17:19:38 ... there are few questions in the issue that I could use some help wit 17:19:44 s/wit/with/ 17:20:47 ... the way this works in CDP is that you can use the `createIsolatedWorld` API 17:21:23 ... and you get access to the dom via the `window` object 17:22:10 ... we need to think about how `onLoadRunJS` type APIs would work 17:23:17 ... we could use what CDP does here and have 2+ APIs or we could figure out how to do it implicitly 17:23:21 q? 17:25:34 ... There is a rough strawman in the issue and could be a bit of a deep question 17:25:50 ... so for now can we discuss what the protocol level API would look like 17:26:14 q+ 17:26:18 q? 17:26:26 ack foolip 17:26:40 foolip: are you saying that his is a readonly thing? 17:26:48 ... can the script execution set properties? 17:26:58 jgraham: I don't think it's readonly 17:27:21 ... if you update the internal state of the DOM then it will be updated 17:27:39 ... if you update a JS property then it won't necessarily be updated 17:28:20 ... my understanding of how this works in blink is 17:28:30 ... however in gecko it's different 17:28:52 ... I've not dug into the details that are observable differences 17:29:18 ... I need to go back and look into it again 17:29:55 foolip: are we trying to figure out what we should do or... 17:30:11 jgraham: I am expecting that we will have implementation differences here 17:30:35 ... and there are very few clients that we can hopefull solve things 17:30:43 simonstewart has joined #webdriver 17:31:09 ... we are probably going to need to start with something sketchy and then build it up 17:31:38 ... it's trying to work things that don't really exist to us 17:32:01 ... fortunately there are some similarities with the webextensions groups here 17:32:57 q+ 17:33:10 ack foolip 17:33:37 foolip: that all makes sense to me 17:34:09 ... and since webextensions already depend on it that we can converge here 17:34:15 ... maybe there is something we can do 17:34:25 q? 17:34:28 q+ 17:34:59 ack whimboo 17:35:32 whimboo: when were implementing evaulate in the firefox cdp code we had issues around CSP 17:35:50 ... has your issue taken that into account 17:36:10 jgraham: I haven't looked into it just yet but I think we should be fine 17:36:43 ... We should probably look at making a note that CSP should not block the execute script in this area 17:36:55 ... I assume this is how CDP already works 17:36:57 q? 17:37:13 q? 17:40:36 github: end topic 17:40:38 simonstewart has joined #webdriver 17:40:47 jgraham: not bidi related, but i've patched a hole in the webdriver html spec and would like a review (wpt test is forthcoming). 17:40:53 github-bot: end topic 17:41:02 RRSAgent: Make minutes v2 17:41:02 I have made the request to generate https://www.w3.org/2021/11/10-webdriver-minutes.html jgraham 17:41:09 https://github.com/w3c/webdriver/pull/1631 17:41:10 Zakim, bye 17:41:10 leaving. As of this point the attendees have been sadym, whimboo, jdescottes, jgraham, brwalder, foolip, jimevans 17:41:10 Zakim has left #webdriver 17:41:25 jimevans (IRC): I had a quick look at the PR, looks good just need the test 17:41:36 and I might be able to help later if you're still stuck 17:41:37 RRSAgent: bye 17:41:37 I see no action items