2018-07-02 [21:31:56.0000] hello [21:32:54.0000] bye i will tlak later [01:24:03.0000] annevk: should I expect to have to cherrypick a new version of WPT's IDL parser in order to have your addition of window.event to the IDL tests work? [01:24:20.0000] just putting the IDL change in m-c breaks all WPT IDL tests [01:24:56.0000] are HTTP(S) documents allowed to fetch anything at all from file: URLs? Where would that be specified? [01:30:33.0000] I see WebIDL tests including a script called /resources/WebIDLParser.js, but I don't see a file of that name in the WPT repo [01:30:38.0000] where does it come from? [01:31:11.0000] looks like wpt serve magically serves it [01:34:22.0000] lots of changes between m-c and the wpt repo for /resources/idlharness.js :-( [01:48:00.0000] hsivonen, yeah, m-c is more than a month out of date [01:48:14.0000] hsivonen, but jgraham is back from vacation today [01:49:10.0000] hsivonen, /resources/WebIDLParser.js is in https://github.com/web-platform-tests/wpt/blob/master/resources/webidl2/lib/webidl2.js for historical reasons [02:01:23.0000] Ms2ger: thanks [02:41:59.0000] now attachShadow is not a function. Is that part of an old shadow DOM spec and got removed or is that part of the latest spec but isn't turned on by default in Gecko? [02:43:30.0000] The latter [02:43:33.0000] weird. dom.webcomponents.shadowdom.enabled shows up as *modified* to false [06:16:49.0000] SimonSapin: Chrome blocks `file:` from `http:`/`https:`. It falls into the exception sketched out in the `file:` bits of https://fetch.spec.whatwg.org/#scheme-fetch, that throws its hands in the air and says "Do whatever. Ugh." :) [07:22:01.0000] thanks mkwst [07:22:54.0000] Another unhelpful piece of the puzzle is at https://url.spec.whatwg.org/#origin [07:23:54.0000] (the context of this question is https://github.com/w3c/csswg-drafts/issues/2757#issuecomment-401656627) [09:16:04.0000] TabAtkins: Do you have a minute to talk about Bikeshed? [10:28:14.0000] jugglinmike: he's in Sydney now, AFAIK [10:28:38.0000] ah, got it [10:28:41.0000] thanks for the heads up [10:32:38.0000] Does anyone know if Edge has a bfcache? [11:07:41.0000] Domenic: it seems to reload based on casual inspection, but I could be wrong [11:07:54.0000] or using devtools could disable it or something [15:59:28.0000] Domenic: yt? 2018-07-03 [20:10:48.0000] annevk: yt? [20:27:37.0000] rniwa: annevk is on holiday for a few weeks I think [20:35:16.0000] 🏝 [20:37:33.0000] I see. [20:37:40.0000] does anyone know about media loading? [21:52:56.0000] rniwa: you want to email foolip and JakeA [21:53:11.0000] annevk: ok, thanks [01:41:32.0000] rniwa: I've been looking into this recently, but I'm about to go on holiday for a week. I'm around for the next~5 hours though [01:41:43.0000] JakeA: okay. [01:42:21.0000] JakeA [01:42:33.0000] JakeA: so we have "If a source element is inserted as a child of a media element that has no src attribute and whose networkState has the value NETWORK_EMPTY, the user agent must invoke the media element's resource selection algorithm." [01:42:44.0000] JakeA: what prevents this step from running inside a template element? [01:44:09.0000] rniwa: ah, I've been looking at it from more of a fetch perspective. For HTML integration, I guess foolip will know more. [01:44:11.0000] Sorry! [01:44:30.0000] I don't even know how template prevents img loading off the top of my head [01:45:55.0000] JakeA: ok, thanks [01:48:33.0000] JakeA [01:48:52.0000] JakeA: but surely, there is some choke point for a document without a browsing context from issuing a network request?? [01:54:34.0000] rniwa: not within fetch. It looks like [07:51:30.0000] This message was brought to you by Private Internet Access [08:08:33.0000] [08:08:36.0000] This message was brought to you by Private Internet Access [08:20:23.0000] [08:20:26.0000] This message was brought to you by Private Internet Access [08:37:31.0000] Ah ffs they are back [08:46:25.0000] [08:46:28.0000] This message was brought to you by Private Internet Access [08:58:41.0000] [08:58:44.0000] This message was brought to you by Private Internet Access [08:58:51.0000] [08:58:54.0000] This message was brought to you by Private Internet Access [09:03:29.0000] [09:03:31.0000] This message was brought to you by Private Internet Access [09:03:55.0000] annevk: You probably want to make the channel +r before this shit settles down. [09:12:04.0000] [09:12:07.0000] This message was brought to you by Private Internet Access [09:26:29.0000] [09:26:32.0000] This message was brought to you by Private Internet Access [09:33:09.0000] [09:33:11.0000] [09:33:12.0000] This message was brought to you by Private Internet Access [09:33:14.0000] This message was brought to you by Private Internet Access [09:33:21.0000] [09:33:24.0000] This message was brought to you by Private Internet Access [10:31:24.0000] So I'm trying to figure out how to IRC to ban these folks and no luck... [10:31:36.0000] I'm in the access list, but I cannot op myself [10:31:54.0000] annevk: How come you can't? [10:31:58.0000] And I also cannot find good documentation suitable for Freenode [10:32:03.0000] nox: if only I knew [10:32:19.0000] annevk: /cs op #whatwg annevk [10:32:21.0000] Should work. [10:33:01.0000] [10:33:04.0000] This message was brought to you by Private Internet Access [10:34:00.0000] mst: Seems like sigyn left? [10:34:35.0000] annevk: Sigyn should kill all of this automatically, it's a network bot. [10:34:59.0000] anybody objecting to me deploying the network anti-spambot, please bitch now because I'm having a really stupid day [10:35:03.0000] mst: ^ [10:35:03.0000] also wtf [10:35:06.0000] Hah. [10:35:16.0000] mst: go ahead [10:35:20.0000] mst: Good luck my friend. [10:35:33.0000] annevk: can you '/invite sigyn' please [10:35:35.0000] nox: apparently I wasn't logged in for some reason [10:35:46.0000] mst: done [10:36:00.0000] while I get somebody to tell me what I did wrong that made her leave after 10s [10:36:25.0000] If I ever feel like I'm having a shitty day this Summer, I'll remember mst's today. [10:36:30.0000] annevk: basically, if she parts again, re-/invite her [10:36:42.0000] she *shouldn't* but I think she's under fairly heavy load atm [10:36:51.0000] mst: okay, I'll be afk for a while, but hopefully someone else will read up on this [10:36:51.0000] /me pets the murderbot [10:37:06.0000] if nobody else is around likely nox will ping me :) [10:38:07.0000] https://irccloud.mozilla.com/file/wW0S1fPk/Capture%20d%E2%80%99e%CC%81cran%202018-07-25%20a%CC%80%2019.37.46.png [10:38:10.0000] mst: Literally my job ^ [11:10:59.0000] Oh I thought we already had Sigyn [11:21:57.0000] ugh [13:18:08.0000] The anti-spam bots are not helping -_- [13:46:11.0000] I thought about using https://mimesniff.spec.whatwg.org/#supplied-mime-type to pull out the Content-Type of a response, but it's noexport. Should I take the last Content-Type header manually, or do something else? [14:09:14.0000] jyasskin: it doesn't look like the noexport is intentional. So it'd just be a matter of adding export="" to the source. [14:09:27.0000] Domenic: Thanks. 2018-07-26 [22:42:21.0000] 8/w 23 [22:42:25.0000] damn [00:53:53.0000] man the spambots are hitting hard today 2018-07-27 [05:24:49.0000] URLSearchParams::forEach [05:24:54.0000] please, where is this specced? [05:42:10.0000] ondras, probably https://heycam.github.io/webidl/#es-forEach [05:43:03.0000] Ms2ger: a-ha! I looked at the URLSearchParams specifically and there was no sign of forEach :/ [05:44:59.0000] But there was! Only it was spelled "iterable;" :) [05:45:20.0000] :D [05:46:03.0000] yeah, the "iterable" looked more like "haz @@iterator" [05:48:43.0000] And of course it *also* means that! [05:48:58.0000] /me returns to cursing RelativeTimeFormat [05:49:02.0000] :P [10:57:06.0000] Domenic: Yo, which is the canonical definition of ReadableStream, Fetch or Streams? They're both claiming to define the term right now. [11:09:33.0000] TabAtkins: Domenic's traveling, but it's Streams [11:09:40.0000] I think there's an issue open somewhere for removing one of the definitions [11:09:48.0000] Doesn't look like it, but I'm opening one right now anyway. [11:09:49.0000] https://github.com/whatwg/streams/issues/861 [11:09:49.0000] https://github.com/heycam/webidl/issues/445 [11:09:49.0000] https://github.com/whatwg/streams/issues/372 [11:09:56.0000] Ah, that didn't come up when I searched. [11:12:25.0000] All right, I went ahead and filed my issue anyway, as I can provide an actual suggestion for a fix that doesn't disrupt the current spec. [11:12:57.0000] One way of looking at the issue is that Bikeshed's overload of "interface" to mean both "JS class" and "Web IDL type" is causing problems, because internally Streams wants to refer to its JS class definition, whereas most other specs want to refer to Fetch's Web IDL type definition. [11:13:42.0000] ...what's the purpose for distinguishing the two? [11:15:03.0000] Well, JS classes are defined using JS semantics, then you define a Web IDL type to wrap them. A bit like Array vs. sequence<>, or Object vs. object. [11:15:24.0000] Yes, they're definitely distinct things, but what's the *purpose* in distinguishing them in a spec? [11:16:06.0000] Specs that don't use Web IDL, like Streams itself, appreciate the distinction? [11:16:27.0000] Whereas specs that do, are a bit ill-founded if they don't refer to a proper Web IDL type [11:16:36.0000] It's not a great system [11:16:48.0000] (Streams, I mean, not Bikeshed's) [11:19:23.0000] I don't understand why Streams isn't defining the IDL type too, tho; the rest of the ecosystem needs IDL to work on. [11:23:35.0000] (This is relevant to me because I'm currently defining the CSS Parser API to be able to take in a ReadableStream as input: http://wicg.github.io/CSS-Parser-API/#typedefdef-cssstringsource) [13:21:50.0000] TabAtkins: If you're trying to use those streams from an `in parallel` context, check out the very in-progress "Stream algorithms" section in https://github.com/jyasskin/webpackage/blob/loading-spec/loading.bs. [13:22:58.0000] Domenic: Let me know if I definitely shouldn't define those helpers. :) [13:34:38.0000] Is there any interest in an "ascii encode" next to https://infra.spec.whatwg.org/#isomorphic-encode that would assert all the codepoints are <=0x7f? 2018-07-28 [18:29:05.0000] does anyone recall the original author of this cute little fingerprint icon? [18:29:06.0000] https://github.com/whatwg/html/blob/master/images/fingerprint.png [18:29:39.0000] it would be nice to have a higher resolution or SVG version to refer to, from other specs and from guidance on mitigating browser fingerprinting [00:55:49.0000] jyasskin: ascii encode/decode seems reasonable; fairly useful info given a number of types [09:55:02.0000] Hello could you fix that typo? https://github.com/whatwg/xhr/commit/972797fb12106ca00292b9a2e2cb91d8766c4640#r29848015 [09:58:49.0000] mouv___: Could you file an issue? [09:59:02.0000] for better visibility [10:01:17.0000] TimothyGu: The repo has an issue that was open in 2015 which is still open. [10:01:27.0000] I don't think it will help. [10:01:42.0000] mouv___: That doesn't mean we don't know about it, rather it's hard to fix [10:02:26.0000] Can you confirm that the bug exist ? [10:02:46.0000] I am not taking the time to fill it if it's invalid. [10:02:46.0000] I'm not an expert on the XHR spec, so I can't really say one way or another [10:03:30.0000] You don't have to do any extra work :) Just copying the commit comment to the issue should be fine [10:04:01.0000] annevk: could you confirm that https://github.com/whatwg/xhr/commit/972797fb12106ca00292b9a2e2cb91d8766c4640#r29848015 is a typo? [10:31:30.0000] TimothyGu: https://github.com/whatwg/xhr/issues/217 [10:31:44.0000] mouv___: thanks! [10:33:30.0000] I hope it's valid, if it's not and you can timeout after onload but before onloadend Ill have work to do. 2018-07-30 [05:12:15.0000] If a realm only has one instance of a particular object (enforced through the spec), is it ok to say "Let |foo| be the only instance of {{Foo}} within |realm|"? [06:02:55.0000] JakeA: seems unambiguous, but also unlikely to match how implemenations will do things, so meh? [06:07:19.0000] I'll take "meh" until implementations guide towards something better. [07:04:47.0000] I mean, seems like it would be pretty standard to say "each WindowOrWorkerGlobalScope has a foo, an instance of {{Foo}}" [08:58:33.0000] Yeah, that might make more sense [08:59:06.0000] Is there a definitive on null vs undefined? When to use one or the other [09:21:46.0000] JakeA: `undefined` doesn't exist in spec land [09:21:52.0000] IDL converts it to null usually [09:22:19.0000] and in certain cases (dictionary, overload resolution) it's called "not present" [09:23:44.0000] (Not sure if that's what you're asking) [09:57:39.0000] JakeA: yeah it's pretty bad right now. Most places use null because that's all that exists. A few places started using undefined to be more consistent with ES, e.g. on get() return values from map-esque things. Now it's just inconsistent.... [11:12:56.0000] Hmm what would you call the boolean (not flag) version of "transient activation flag" [12:32:49.0000] JakeA: What Domenic said, but I'd match ES conventions if possible. Unfortunately that means having operations return `any` and then clarify in prose; when I've done this I've put a comment in the IDL explaining it. [12:33:35.0000] https://github.com/heycam/webidl/issues/60 [14:08:28.0000] JakeA: What are you using null vs undefined for? A not-present value for an Infra-struct's items, or something that'll be exposed to JS? 2018-07-31 [20:14:31.0000] JakeA: FWIW, I'd personally use null for Infra structs since the item is always defined, unless there's a particular need for 2 distinct "empty" values. [01:58:57.0000] Thanks all! In this case it's `thing.getRegistration(id)`. I've made it return undefined since it matches what service worker does when getting registrations. [01:59:09.0000] And also because that's what `map.get` does [08:00:17.0000] jgraham: in wpt, when one uses non-default domain and does something like iframe.src = "https://{{domains[www2]}}:{{ports[https][0]}}..." [08:00:25.0000] what replaces all that {} [08:00:35.0000] or how does that work [08:02:32.0000] smaug____: The server does; it reads the data from its configuration file and applies substitutions [08:02:46.0000] If the filename has .sub. in it or you load with ?pipe=sub [08:03:18.0000] jgraham: so server preprocesses the file? [08:03:23.0000] Yes [08:03:34.0000] ok [15:39:02.0000] are async iterables a thing these days yet? I.e. if I want to design an API that asyncronously returns a bunch of entries, what is the best way to express that in WebIDL? [16:30:49.0000] Mek: yes they are a thing. No Web IDL support yet but we can make it happen.