Meeting minutes
<jgraham> RRSAgent: make logs public
<jgraham> RRSAgent: make minutes v2
script.callFunction
github: https://
sadym: I have been working on this and I want to check some topics
… first topic is "what should we do if the call is made but doesnt exist".
… currently we throw an invalid expression
… 2nd topic: what do we do to to make sure that something is callable?
… 3rd topic: whimboo asked why do we need local values and primative values here and the symmetry
<foolip> On the first topic, https://
jgraham: I think I suggested this in the PR
… if you send something and it's not actionable it should be a protocol error
… using a protocol error allows UA to return what they want and share a lot of info
… for the parenthisis function... I know it feels like a hack but I think it is fine
… I don't think it really matters
… re: local values I think this seems fine and it's what we agreed the last time
… 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
<whimboo> no comments but just a thank you to sadym for working on this!
sandboxed script execution
github: https://
jgraham: With the script.eval and script.call nearly ready to ship
… however some clients don't want to do this
… because they can call things in the page
… what they do instead is use a script sandbox to do this
… they get a very filtered "window" object
… so looking at this we probably want to get this implemented as soon as possible to help the playwright and puppeteer folks
… there are few questions in the issue that I could use some help with
… the way this works in CDP is that you can use the `createIsolatedWorld` API
… and you get access to the dom via the `window` object
… we need to think about how `onLoadRunJS` type APIs would work
… we could use what CDP does here and have 2+ APIs or we could figure out how to do it implicitly
… There is a rough strawman in the issue and could be a bit of a deep question
… so for now can we discuss what the protocol level API would look like
foolip: are you saying that his is a readonly thing?
… can the script execution set properties?
jgraham: I don't think it's readonly
… if you update the internal state of the DOM then it will be updated
… if you update a JS property then it won't necessarily be updated
… my understanding of how this works in blink is <describes technical section>
… however in gecko it's different
… I've not dug into the details that are observable differences
… I need to go back and look into it again
foolip: are we trying to figure out what we should do or...
jgraham: I am expecting that we will have implementation differences here
… and there are very few clients that we can hopefull solve things
… we are probably going to need to start with something sketchy and then build it up
… it's trying to work things that don't really exist to us
… fortunately there are some similarities with the webextensions groups here
foolip: that all makes sense to me
… and since webextensions already depend on it that we can converge here
… maybe there is something we can do
whimboo: when were implementing evaulate in the firefox cdp code we had issues around CSP
… has your issue taken that into account
jgraham: I haven't looked into it just yet but I think we should be fine
… We should probably look at making a note that CSP should not block the execute script in this area
… I assume this is how CDP already works
github: end topic
<jimevans> jgraham: not bidi related, but i've patched a hole in the webdriver html spec and would like a review (wpt test is forthcoming).
github-bot: end topic
<jgraham> RRSAgent: Make minutes v2