08:29
<hsivonen>
jgraham: did annevk land changes to the tests on that day to change the expectation of how unmappables are escaped in URLs?
08:31
<hsivonen>
jgraham: it should be fixed on Nighly. This is a case where defaulting to results from release builds is not useful.
09:29
<jgraham>
hsivonen: Yeah, foolip happened to be looking at a graph of release builds. I agree it's misleading here
10:22
<nox>
Domenic: I had an idea!
10:23
<nox>
Domenic: For jsdom,
10:24
<nox>
the Node instance exposed to content could be a proxy around a mostly useless object,
10:24
<nox>
where the proxy handler is the actual Node impl object, with a 'get' method that just returns the handler itself if passed const impl = Symbol("impl").
10:24
<nox>
See what I mean?
10:41
<nox>
Domenic: https://jsfiddle.net/2x0rq31j/
10:55
<nox>
https://jsfiddle.net/2x0rq31j/1/ Ah, you can break it with an additional proxy. :(
13:03
<annevk>
hsivonen: can you look at https://github.com/whatwg/html/issues/3257?
14:06
<Domenic>
nox: it seems like the straightforward thing is to avoid proxies and just switch from symbols to weakmaps, no?
14:07
<nox>
Domenic: I was trying to find a different way that is easier for JITs.
14:07
<nox>
But yeah the WeakMap solution is correct out of the box. Just slow.
14:07
<Domenic>
Heh, I've never heard of people saying proxies were easy for JITs...
14:07
<nox>
True.
14:08
<nox>
That was an assumption on my part and SM people told me it was wrong. :D
14:08
<Domenic>
Well, we're getting proper private state soon in the language. Although it won't support "friend class" use cases which pretty important for DOM.
14:08
<nox>
Oh?
14:08
<nox>
Link please? :)
14:08
<Domenic>
https://github.com/tc39/proposal-class-fields
14:09
<nox>
Domenic: For my pet project I plan to just use the SM-specific slot API.
14:09
<Domenic>
Yeah, makes sense
14:09
<Domenic>
Oh, I remember, there is a hacky way to do friend access
14:11
<nox>
Domenic: Note that I have yet to write a single line of code anyway. :)
14:11
<nox>
Domenic: Oh btw I wanted to suggest a change for webidl2js, for overloads specifically.
14:11
<Domenic>
Something like `class X { #y; static getY(x) { return x.#y; } static setY(x, val) { x.#y = val; } }; const { getY, setY } = X; delete X.getY; delete X.setY; /* now give getY and setY to any friend classes */`
14:12
<Domenic>
I could swear we had an open issue on overloads
14:12
<Domenic>
I really want to switch them to call impl.foo_1(), impl.foo_2()...
14:12
<nox>
Wouldn’t it be better if it dispatched calls to `nameofthemethod{typenameofthedisambiguatingargument}`?
14:12
<nox>
Yeah same but with a better name.
14:12
<Domenic>
Yeah it would be way better
14:13
<Domenic>
That project needs a little bit more love than it currently has
14:13
<nox>
In Servo we tack n _ for the nth overload and it makes me pretty sad. :D
14:13
<Domenic>
TimothyGu did some great work, then got busy with other things
14:13
<Domenic>
https://github.com/jsdom/webidl2js/issues has some pretty good first bugs if you want to dive in ;)
14:33
<Domenic>
annevk: FYI https://whatpr.org/fetch/831.html#concept-header-list-get-decode-split has some markup messups I guess
14:33
<Domenic>
Also "value might be the empty string" should be temporaryValue, I suppose
14:33
<Domenic>
I guess I should really review these things...
14:34
<Domenic>
Also "collecting a sequence of code points" is supposed to take the position variable as an argument
14:34
<Domenic>
Oh nevermind, it's there at the end of the sentence
14:37
<annevk>
Domenic: heh yeah, I was hoping you'd implement this in jsdom, sorry for putting up a somewhat bad PR; I didn't have time to run all the checks and wanted to at least commit this before leaving
14:37
<Domenic>
Unfortunately we have no fetch implementation, so it's not easy to slot in :)
14:40
<annevk>
ah
14:42
<MikeSmith>
https://stackoverflow.com/questions/53227009/set-a-default-for-feature-policy-http-header
14:49
<annevk>
Splitting while caring about quotes though
14:50
<nox>
Domenic: I feel like there is a missing lib between the webidl parser and webidl2js.
14:50
<annevk>
Did not expect the amount of prose I got
15:59
<Domenic>
nox: how so?
16:01
<nox>
Domenic: One that validates the WebIDL, merges the implemented partial interfaces with the main one, merges overloads together, etc.
16:04
<Domenic>
It makes sense that could be separate. Currently it's handled as part of the compilation flow.
20:14
<fserb>
annevk, Domenic: I've just uploaded a summary of the wide gamut changes (https://github.com/whatwg/html/issues/4167)
20:15
<fserb>
Could you help me get some feedback from other browsers? It would unblock the intent to ship on Chrome.
20:57
<Domenic>
fserb: one thing I would suggest for that purpose is removing Chrome-specific IDL from your post
21:25
<fserb>
Domenic: geeez, good point.
21:26
<fserb>
done.