06:10 | <annevk> | Domenic: what prevents you from having a scripting relationship with a bfcache'd document? I guess there's some unspecified(?) magic that might kick it out of bfcache, but you can hold a reference just fine right? |
06:11 | <Domenic> | annevk: right, I guess it's the fact that no browser bfcaches iframes or windows with openers. (Not a matter of kicking you out; they just never get bfcached in the first place.) Allowing that would probably break tons of specs that are not prepared for it. We offered to add this to the spec in the past but I think there wasn't appetite. |
06:11 | <annevk> | Domenic: you don't need an opener to hold a reference to a nested document though |
06:12 | <Domenic> | No browser bfcaches iframes |
06:13 | <annevk> | Oh, that's new to me |
06:13 | <Domenic> | So much stuff would break |
06:14 | <annevk> | TabAtkins: why would you define them as a new URL scheme and not a particular MIME type? |
10:00 | <Luke Warlow> | Stuff like the otpauth (/apple-otpauth) scheme can already be used for generating a specific type of qr code. In case of otpauth it's a scheme so it can be used in links. I guess the design might depend on whether it makes sense to linkify this new type of data? Is that the sort of thing you were after Tab? is it something more generic? |
11:23 | <annevk> | Panos Astithas: maybe we should cancel WHATNOT tomorrow. It's a German holiday and currently only Mu-An Chiou @muan, Domenic, and you are confirmed. We also just had TPAC. |
12:45 | <annevk> | I wonder if https://x.com/Mike_DiDomizio/status/1839692898670879128 is the direct result of encoding the state in an attribute or if there would be some way to avoid this. I guess the only way would be some kind of parser hack? |
12:51 | <Luke Warlow> | I wonder if https://x.com/Mike_DiDomizio/status/1839692898670879128 is the direct result of encoding the state in an attribute or if there would be some way to avoid this. I guess the only way would be some kind of parser hack? |
13:21 | <Domenic> | I mean we could thread through "did the parser set this" to the attribute changed steps. It'd just be a lot of annoying work for unclear gain. |
13:23 | <Domenic> | A new MIME type is more elegant than a new URL scheme but it does come with extra baggage. E.g. you'd expect that if the server served an image/qr-code file then that would also work, which maybe is not what Tab is going for. Unsure. |
14:57 | <Panos Astithas> | Agreed, I will cancel it. |
15:12 | <annevk> | A new URL scheme also comes with a lot of baggage though. Is it local, when is it same origin, what if you navigate to it, etc. But yeah, I guess it depends a bit on what you want. |
15:52 | <keithamus> | I noticed someone tweeting about a pain point of custom elements; https://x.com/Rich_Harris/status/1841494391346590072. In which they point out I know this was raised before in https://github.com/whatwg/dom/issues/922 where annevk said:
While I obviously respect that position I'm wondering if there's any possibility of movement on this? It seems unfortunate that this is the only place where elements can be created without a definition, but I guess this would mean a performance hit regardless? |
16:01 | <Ms2ger> | Probably not just perf, but masses of CVEs |
16:16 | <annevk> | keithamus: I actually forgot how cloning works. Is the main issue that it does not happen synchronously or that you do not get any information at all? CER timing could maybe allow for something here, but I don't actually know what we have today. I'm also surprised there hasn't been more noise about this since 2020, but Rich Harris usually knows what's up so it's worth looking into I think. |
16:17 | <Luke Warlow> |
|
16:18 | <keithamus> | I was wondering if we could do something with CEReactions. The main issue is that cloneNode won't construct custom elements until they're connecting which is somewhat incongruent with the rest of the platform (importNode retains the definition for example) |
16:18 | <keithamus> | I imagine importNode is slower because it steps into scripting? |
16:19 | <keithamus> | cloneNode is the only method which calls creating an element with synchronous custom elements flag unset AFAICT. |
16:20 | <annevk> | Hmm, importNode() and cloneNode() are almost identical underneath. If they have serious perf differences that should be fixable. |
16:22 | <keithamus> | Yes I wonder if we should test the perf disparity claims. The vibe I get from this post was that it was a while ago and maybe that no longer holds true? |
16:23 | <annevk> | Also, "creating an element" is invoked with that flag unset from the HTML parser at times I think. HTML calls it and that flag value is a variable. |
16:23 | <keithamus> | ah apologies I missed that |
16:24 | <keithamus> | oh yeah so https://html.spec.whatwg.org/#create-an-element-for-the-token also explicitly calls out the flag which is sometimes set. |
23:37 | <TabAtkins> | A new MIME type is more elegant than a new URL scheme but it does come with extra baggage. E.g. you'd expect that if the server served an image/qr-code file then that would also work, which maybe is not what Tab is going for. Unsure. |
23:39 | <TabAtkins> | And the ability for a server to return a QR code image using this MIME type wasn't in my initial use-cases, but does seem reasonable imo; the server could generate an appropriate response from cookie data, for instance, and not have to go to the effort (and additional bandwidth) of actually generating the QR code as a PNG or something and returning that. Seems useful. |