08:55
<hsivonen>
I think I saw a tweet go by saying that Chrome disabled sync XHR from onunload in the latest release. Do I recall correctly? Is it now disabled?
08:56
<annevk>
hsivonen: could be, someone did reach out about standardizing it, but that hasn't really happened yet
08:56
<hsivonen>
Twitter search doesn't find the tweet
08:57
<annevk>
hsivonen: per "[blink-dev] Intent to Implement & Ship: Disallow Sync XHR in Page Dismissal" it'll be enabled by default in M75
08:59
<annevk>
That thread also basically ignored my question on standardization it seems
08:59
<annevk>
Ugh
09:02
<hsivonen>
annevk: thanks. must have been the intent to implement twitter account, because I couldn't find anything from @ChromiumDev or the personal accounts of folks who'd usually tweet stuff like this
09:07
<hsivonen>
annevk: no reply to bz's comment in the thread...
09:14
<hsivonen>
hmm. do Blink and WebKit support IE's event.fromElement?
09:17
<hsivonen>
at least Blink does...
09:20
<annevk>
hsivonen: tracked by https://github.com/w3c/uievents/issues/84
09:23
<Ms2ger>
annevk, wanna review https://github.com/web-platform-tests/wpt/pull/16278 ?
09:25
<annevk>
Ms2ger: are there bugs to be filed?
09:26
<Ms2ger>
annevk, I was planning to do that after I merged the spec PR
09:26
<annevk>
Ms2ger: also, () =>, let/const, are cool, you should start using them
09:30
<Ms2ger>
Thanks
10:16
<hsivonen>
annevk: thanks
12:54
<GPHemsley>
Domenic: Does this test pass for your stuff? https://github.com/web-platform-tests/wpt/commit/8553d30dd590715a63273e90da1951b8b0b37672
12:54
<GPHemsley>
(this commit bypassed GitHub PR review)
12:59
<annevk>
GPHemsley: that looks correct
12:59
<annevk>
fwiw
13:00
<GPHemsley>
I'm curious as to why my code failed in exactly the same way as the commit message suggests Chromium does
13:01
<GPHemsley>
there must be some commonality somewhere
13:03
<annevk>
GPHemsley: https://jsdom.github.io/whatwg-url/#url=d293Ou+/vQ==&base=YWJvdXQ6Ymxhbms=
13:03
<annevk>
GPHemsley: seems Chrome/Safari get it right at least
13:05
<GPHemsley>
annevk: I'm seeing them percent-encoded as %EF%BF%BD everywhere I'm looking
13:05
<annevk>
GPHemsley: yes, which is what the test asserts
13:06
<GPHemsley>
annevk: the test is expecting %EF%BF%BF
13:06
<annevk>
GPHemsley: oh wat
13:07
<annevk>
GPHemsley: oh, but the input is U+FFFF, not U+FFFD
13:07
<annevk>
GPHemsley: so I think that's still good
13:07
<annevk>
(my corresponding test uses U+FFFD, which is why the off-by-two)
13:10
<GPHemsley>
annevk: Unless I'm doing this wrong (which I probably am), U+FFFF is still being coerced to U+FFFD before being percent-encoded
13:12
<GPHemsley>
yeah, no, I think I'm doing it wrong
13:13
<GPHemsley>
so jsdom is handling this correctly?
13:18
<annevk>
GPHemsley: where is that coercion happening?
13:18
<GPHemsley>
annevk: It's not, I was misreading the output
13:18
<annevk>
GPHemsley: it has to happen for lone surrogates, e.g., U+D800, but not U+FFFF, afaict
13:18
<annevk>
not sure if there's coverage for lone surrogates, I'd hope so
13:18
<GPHemsley>
annevk: My code is using the replacement character for invalid characters like U+FFFF, but it seems that jsdom is not doing that
13:19
<annevk>
GPHemsley: there's nothing that says that should happen
13:20
<GPHemsley>
annevk: Yeah, I think it may be a side effect of how I'm doing UTF-8 encoding
13:20
<GPHemsley>
(this is the first time a test has failed for it)
13:24
<Domenic>
Isn't this USVString coercion?
13:25
<GPHemsley>
annevk: Am I correct in my understanding that the UTF-8 encoder in Encoding is the "non-strict" version of UTF-8?
13:25
<Domenic>
"Otherwise, d < 0xDC00 or d > 0xDFFF. Append to U a U+FFFD REPLACEMENT CHARACTER."
13:25
<Domenic>
From https://heycam.github.io/webidl/#dfn-obtain-unicode
13:26
<dtapuska>
annevk: I've got a question about SharedArrayBuffers and window.opener = null. Does the agent cluster key change at window.opener = null?
13:26
<annevk>
Domenic: it's not therefore, right?
13:26
<Domenic>
annevk: USVString coercion makes U+FFFF go to U+FFFD by my reading. This explains jsdom's output, I think.
13:26
<GPHemsley>
Domenic: Aren't we at "c < 0xD800 or c > 0xDFFF
13:26
<GPHemsley>
Append to U the Unicode character with code point c.
13:26
<GPHemsley>
"?
13:27
<annevk>
dtapuska: setting window.opener cannot affect agent clusters as you already have/had access at that point
13:27
<Domenic>
Hmm right
13:27
<annevk>
Domenic: I suggest you read again
13:27
<annevk>
Domenic: it says if it's greater than 0xDFFF, which 0xFFFF is, you use it as a code point and don't coerce
13:28
<annevk>
dtapuska: setting window.opener to null does change window name lookup a bit
13:28
<annevk>
dtapuska: defining that properly is issue 313
13:28
<annevk>
hope that helps
13:29
<Domenic>
Debugger reveals that it gets turned into U+FFFD before it even hits the whatwg-url parser code. Something in the deserialization maybe.
13:29
<dtapuska>
annevk: ya it was just in context of implementing the Agent, etc in Chrome.. and I wondered if it should support changing at a time but it seems it doesn't need to. Everything is determined at construction time
13:30
<dtapuska>
annevk: also take a look at https://github.com/whatwg/fetch/pull/853
13:30
<annevk>
dtapuska: right, it's very similar to a process boundary, dynamically changing it would be...
13:30
<dtapuska>
annevk: I think I've addressed the issues you raised before.. there isn't a good way to link into the RFC though
13:30
<GPHemsley>
Domenic, annevk: So now I'm confused. Is jsdom replacing or not?
13:31
<Domenic>
GPHemsley: I don't think it is, but the online viewer is broken so I can't be sure.
13:31
<GPHemsley>
also, it seems we need more tests for this
13:31
<Domenic>
I'll boot up the actual library tests
13:32
<annevk>
Domenic: I suspect you cannot get U+FFFF in your clipboard easily
13:32
<Domenic>
Well the url=d293Ou+/vQ==&base=YWJvdXQ6Ymxhbms= fragment either encodes U+FFFD or is decoded as U+FFFD
13:32
<annevk>
dtapuska: yeah, I think that's good enough
13:32
<Domenic>
I am using TextEncoder/TextDecoder
13:32
<GPHemsley>
Is there a way to view all the mentions of an externally-defined term in a spec?
13:33
<annevk>
GPHemsley: no :-(
13:33
<GPHemsley>
boo :(
13:33
<annevk>
It's becoming a bit of an issue
13:33
<Ms2ger>
There is in bikeshed
13:33
<annevk>
I guess there is some kind of dumping thing, indeed
13:33
<Ms2ger>
Click on the term in the "Terms defined by reference" section
13:34
<Domenic>
Ugh and the test file formats have changed since last I updated the tests
13:34
<Domenic>
Going to file an issue on whatwg-url and get to this later
13:34
<GPHemsley>
it seems we need more tests for strict vs. non-strict UTF-8
13:35
<GPHemsley>
now, granted, this would be a bug in an Encoding implementation
13:35
<GPHemsley>
but it would still be useful to have for URL IMO
13:35
<Ms2ger>
Domenic, pushed a fixup for https://github.com/heycam/webidl/pull/705 ; do you want to look or should I merge straight away?
13:35
<Domenic>
Ms2ger: LGTM
13:36
<GPHemsley>
Ms2ger++
13:36
<Ms2ger>
Thanks
13:36
Ms2ger
waves at GPHemsley
13:45
<GPHemsley>
annevk: Am I correct in my understanding that U+FFFF will UTF-8 encode as EF BF BF but that will UTF-8 decode as U+FFFD (as defined in Encoding)?
13:45
<annevk>
GPHemsley: I don't think so
13:46
<GPHemsley>
:/
13:46
<annevk>
GPHemsley: U+FFFF roundtrips afaik
13:46
<GPHemsley>
oh
13:46
<GPHemsley>
because it's BF now
13:46
<GPHemsley>
ok
13:48
<GPHemsley>
annevk: What do you make of this text? "However, thanks to later revisions to the applicable standards, official UTF-8 is now rather stricter than that. For example, its range is much narrower (0 .. 0x10_FFFF to cover only 21 bits instead of 32 or 64 bits) and some sequences are not allowed, like those used in surrogate pairs, the 31 non-character code points 0xFDD0 .. 0xFDEF, the last two code points in any plane (0xXX_FFFE and
13:48
<GPHemsley>
0xXX_FFFF), all non-shortest encodings, etc."
13:48
<GPHemsley>
does this seem correct?
13:51
<annevk>
GPHemsley: no
13:52
<GPHemsley>
annevk: Where is it wrong?
13:52
<annevk>
GPHemsley: after surrogate pairs
13:52
<GPHemsley>
hmm, ok
13:57
<d410>
hello
13:57
<d410>
can someone begin to explain to me why the context.commit() method of offscreen canvas was removed?
13:58
<d410>
It seems very useful, right?
14:02
<annevk>
d410: the commit log should have some pointers
14:03
<d410>
wait are we talking about commit log of github? :P
14:03
<d410>
or commit log of commit()?
14:03
<d410>
hehe
14:03
<annevk>
d410: of whatwg/html
14:04
<d410>
ok, ambiguity
14:04
<d410>
thanks
14:06
<Ms2ger>
annevk, quick editorial review at https://github.com/heycam/webidl/pull/713 , if you want :)
14:33
<annevk>
nox: https://github.com/whatwg/dom/pull/754 might be of interest
14:39
<annevk>
Domenic: do you remember if there are tests for adoptedCallback?
14:40
<Domenic>
There should be...
14:40
<annevk>
Domenic: I suspect the ordering is different between Firefox and others atm
14:40
<annevk>
Domenic: when the c-e is a child of a document fragment
14:49
<annevk>
Domenic: looks like it's already tested and somehow goes right
14:57
<annevk>
Domenic: actually, nope
14:58
<Domenic>
Yeah, testing document fragments I could easily see being omitted
14:58
<annevk>
Domenic: it's very close, but it only moves the host
15:41
<annevk>
overall though rniwa did an amazing job with custom element / shadow tree tests
15:44
<annevk>
Domenic: your poll might also need desktop/mobile caveats, at least for those voting for option 2
15:44
<Domenic>
Hmm, you think it'd make sense to have 1 for all desktop platforms and 1 for all mobile platforms?
15:45
<annevk>
Domenic: I mean, I voted for option 1, but I wouldn't want my desktop date picker to match the one on my phone and vice versa
15:45
<Domenic>
I guess popup-based controls are a bit different
15:46
<annevk>
Domenic: on some platforms date is mixed
15:46
<annevk>
Domenic: and time is a popup on mobile and text on desktop, iirc
15:47
<Domenic>
I'm not sure the desktop control is any good though... let me check what Windows 10 does...
15:47
<Domenic>
Hmm https://usercontent.irccloud-cdn.com/file/P03TNBfo/image.png
15:47
<annevk>
heh
15:48
<Domenic>
Hmmmmmm https://usercontent.irccloud-cdn.com/file/WhZHUtdy/image.png
15:48
<annevk>
I'd prefer typing 12:30, but to each their own I suppose
15:48
<annevk>
aah, that reminds of the Windows I know and love
15:48
<Domenic>
Yeah maybe Windows 10 doesn't have its act together... curious about macOS.
15:49
<annevk>
Date & Time preference panel is definitely very different from iOS
15:49
<Domenic>
https://docs.microsoft.com/en-us/windows/uwp/design/controls-and-patterns/date-and-time is apparently the new Windows app recommendation... which is neither of those. Such churn O_O
15:50
<annevk>
I guess the weird thing with iOS is that <input type=checkbox> isn't rendered as a switch
15:50
<Domenic>
On Android and Windows at least checkbox and switch have different uses https://docs.microsoft.com/en-us/windows/uwp/design/controls-and-patterns/toggles#choosing-between-toggle-switch-and-check-box
15:50
<Domenic>
I admit not remembering any checkboxes on iOS
15:51
<annevk>
Ooh, immediate effect is nice
15:51
<annevk>
That does argue for having something like <input type=checkbox switch>
15:51
<annevk>
Oh well, one day
15:54
<Domenic>
My team is hopefully doing switch next quarter, but it's surprisingly complicated... http://adrianroselli.com/2019/03/under-engineered-toggles.html is a great overview of all the things to consider
15:56
<annevk>
Domenic: interesting, I guess indeterminate kinda argues for type=switch, even though backcompat is less nice
15:56
<annevk>
I guess we can make it not apply either way
15:57
<Domenic>
We're currently thinking a new element would be better to start paving away from the problematic design of everything being a single element. Especially with form-associated CE stuff it should be pretty polyfillable either way.
15:57
<annevk>
Domenic: well, except for all the focus and activation handling that isn't really covered yet?
15:58
<Domenic>
Yeah, this is the excuse to fix all that ^_^
15:58
<Domenic>
a11y too
15:58
<annevk>
yeah, there's quite a bit more indeed
15:58
<annevk>
anyway, interesting
16:03
<gsnedders>
annevk: what's <input type=checkbox> on iOS?
16:05
<annevk>
gsnedders: macOs-style checkbox, though grey when checked
17:31
<bkardell>
domenic: "We're currently thinking a new element would be better to start paving away from the problematic design of everything being a single element. " - would this be maybe a built-in module path thing?
17:40
<Domenic>
bkardell: not sure what you mean
17:42
<bkardell>
like, 'layered api'?
17:43
<Domenic>
Still not sure what you mean :). Is there a concrete technical question?
17:46
<bkardell>
I thought the topic above was your team maybe working on a new element.. if so, would that work be done in the way I think that is described in the layered api proposals - basically, nothing magical, a custom element that might ship with the browser? or am I misunderstanding that proposal too?
17:51
<Domenic>
The hope is that the element would be 100% polyfillable, yes.
17:55
<bkardell>
yeah, I would love to follow this or even help maybe.. it seems like this idea (esp the browser potentially shipping something that you don't have to request) seems full of interesting questions and potential
17:56
<Domenic>
I mean it's just a new HTML element. Chrome hopes to implement it in JS, but that's our strategy and it might not work out.
18:03
<bkardell>
if you implement it in js, wouldn't it necessarily have a dash?
18:04
<bkardell>
I mean, it's very possible that there is a lot more sketched out and discussed here than I currently understand and this is entirely plain to you but it's not yet to me so sorry if this seems remedial somehow
18:04
<Domenic>
Yes, that's one of the trickier parts.
18:04
<Domenic>
<toggleswitch-> or <std-toggleswitch> or similar probably.
18:05
<Domenic>
Or we could discuss removing the dash restriction on custom elements.
18:05
<Domenic>
On the assumption that all future new HTML elements will be opt-in (via importing modules)
18:13
<bkardell>
right, this is where I was getting to... it seems full of interesting /important topics and challenges on where we go next - really things that have interested for a long time...
18:14
<d410>
wow innovati im not surprised you are here
18:14
<d410>
you seem to be everywhere that's web related lol
18:15
<innovati>
:3
18:15
<d410>
see you on codesupport :)
18:17
<bkardell>
it seems like some things like 'can it have a shadow dom' is a slightly different problem in that context... maybe a better one?
21:39
<TabAtkins>
Domenic / annevk: If y'all wanna send me some pictures to add to https://drafts.csswg.org/css-forms/#examples I wouldn't mind ^_^