2016-09-01 [22:47:53.0000] annevk: yt? [22:53:20.0000] rniwa: yt? [22:53:25.0000] dominicc: yeah [22:53:35.0000] dominicc: so there's some confusion about brand check in https://dom.spec.whatwg.org/#concept-create-element [22:54:01.0000] dominicc: I think the intent is to check it against any HTMLElement interface, not just the one in the same global [22:54:43.0000] Can I try custom elements in WebKit Nightly? I ran your LayoutTests in Chrome yesterday, they were very informative, found a few good bugs. I also found some things which, if WebKit is passing the tests, might be contrary to the spec. I made a detailed list I can share with you if you're interested. [22:55:40.0000] dominicc: great :) [22:55:41.0000] dominicc: that would be graet [22:55:41.0000] great* [22:55:41.0000] dominicc: unfortunately, there is not a good way to enable a runtime flag at the moment :( [22:55:41.0000] I have a link, one second... [22:55:41.0000] dominicc: you basically have to modify the code :( [22:55:50.0000] I tried building WebKit but I think I need a newer framework; I have 10.10. Guess that is old. Got some macro failure spew about CF_AVAILABLE. [22:56:14.0000] dominicc: hm... [22:56:21.0000] dominicc: so I'm going to try enabling it in STP soon-ish [22:56:30.0000] dominicc: my goal is to finish implementing as much as I can before TPAC [22:56:36.0000] dominicc: so that we can just sit down & compare impls [22:56:46.0000] Here's my notes: http://goo.gl/yli9Ao [22:57:40.0000] Great! I plan to be at TPAC every day. [22:59:09.0000] re: confusion about the brand check, I guess it takes digging throw WebIDL to find out what "implements" means, but I could imagine that means any HTMLElement interface. What do you think? [22:59:41.0000] rniwa: I assume you mean in step 6.1.3? [22:59:48.0000] dominicc: yeah [23:00:35.0000] rniwa: There's a webidl issue linked in the note, it seems that any HTMLElement is certainly the intent. [23:01:02.0000] dominicc: yeah [23:02:58.0000] dominicc: cool. thanks for the notes [23:03:15.0000] dominicc: they were written way back in April or something when I first implemented the new spec [23:03:31.0000] dominicc: so all these things are fallouts from the spec changes that have happened since then [23:04:44.0000] dominicc: e.g. we don't implement any of sanity checks in 6.1.: https://dom.spec.whatwg.org/#concept-create-element [23:05:00.0000] although I'm fixing that right now. sort of. [23:16:42.0000] rniwa: around a bit, lack of branding is a known issue with IDL and DOM [23:17:14.0000] annevk, dominicc: for now, WebKit & Chrome implementations both do "the right thing". [23:17:20.0000] but this is a compat risk. [23:21:39.0000] rniwa: I guess we could clarify the issue and planned fix more, file an issue? [23:21:40.0000] annevk: I was about to but it seems like your issue is still open [23:21:40.0000] annevk: so i figured i don't need another one [23:21:40.0000] annevk: I'll just wait 'til the definition is added and then we can argue whether we need to fix it or not [23:21:40.0000] rniwa: IDL is on track to get maintained a bit more, but it'll take a while still I suspect [23:21:40.0000] rniwa: if Apple could find an editor somewhere… [23:21:40.0000] annevk: well, we need to first implement all these specs people have produced [23:21:40.0000] annevk: but yeah, i wish we had more man power to contribute there. [23:21:45.0000] rniwa: if only Apple had the money [23:22:14.0000] annevk: the money isn't usually issue though. finding a candidate is insanely hard :( [23:22:30.0000] annevk: we've had a position open for more than 12 months in our team for example [23:22:52.0000] heh [23:24:36.0000] annevk: the requirement that one has to work in Cupertino isn't helping there :( [23:25:16.0000] why does the location matter? [23:25:21.0000] annevk: so we can't tap on those good european software engineers who aren't willing to relocate, etc... :( [23:25:27.0000] boogyman: i don't know. [23:26:20.0000] maybe the fact that the position has been unoccupied for so long would spur the recruiters to consider other candidates [23:31:44.0000] annevk: are we supposed to be creating Element in a XML document when the custom element interface isn't defined and its name is a valid custom element name? [23:31:52.0000] annevk: or are we still supposed to create HTMLElement [23:37:15.0000] dominicc: ^ [23:37:23.0000] I think the current spec indicates that it should be Element. [23:37:31.0000] implies* [23:38:18.0000] rniwa: What does the HTML spec say about XML documents having browsing contexts? I think if you found a definition you'd create a HTML element; what do you think about the possibility of finding a definition? [23:38:54.0000] dominicc: I'm not following. [23:39:06.0000] rniwa: not sure [23:39:21.0000] dominicc: the existence of browsing context is independent of whether it's a XML document or a HTML docuemnt. [23:39:22.0000] To create a custom element you have to find a definition; to find a definition, you have to be creating an element in the HTML namespace. [23:39:25.0000] rniwa: forgot whether XML parser is patched [23:39:41.0000] dominicc: that's not entirely true. [23:39:46.0000] That is https://html.spec.whatwg.org/multipage/scripting.html#look-up-a-custom-element-definition step 1? [23:40:06.0000] dominicc: you can create an element inside a XML document, which uses the same global object as the one that as a browsing context [23:40:17.0000] dominicc: and then adopt that element into the document with a browsing context [23:40:18.0000] rniwa: Are you referring to create an element step 6.2.1? [23:40:30.0000] dominicc: not sure [23:40:34.0000] dominicc: not quite* [23:40:54.0000] dominicc: I'm trying to create an element in a detached XML document. e.g. one created by DOMImplementation [23:41:22.0000] dominicc: then adopt it back into a HTML document with a browsing context both of which shares a single global object [23:41:33.0000] /me this is getting complicated [23:41:59.0000] rniwa: OK. I'm with you so far. You do those things. [23:42:01.0000] dominicc: so in this case, the element we're creating isn't necessary in HTML namespace. [23:42:22.0000] dominicc: so I think it should be using Element interface [23:42:37.0000] dominicc: and upgrade should subsequently fail because it doesn't match the namespace [23:43:06.0000] more precisely, looking up a custom element definition step should not find any interface [23:43:13.0000] rniwa: Right. I think every algorithm checks the namespace is HTML and bails out/no ops if it isn't HTML. [23:43:19.0000] dominicc: something like that [23:43:31.0000] Right. That is look-up-a-custom-element-definition step 1 I linked to ^^^ [23:45:15.0000] dominicc: ah, okay. now I follow what you were saying earlier [23:45:39.0000] rniwa: Sorry for the bit about browsing contexts, you're right it's not a browsing context thing. [23:48:49.0000] dominicc: oh, np. [00:18:54.0000] dominicc: i forgot to reply but i'll be at TPAC for five days so hopefully we'll have a plenty of time to sort out details of custom elements [00:19:11.0000] rniwa: splendid, look forward to it! [00:19:24.0000] rniwa: domenic is coming too. [00:19:29.0000] dominicc: cool [00:20:08.0000] dominicc: luckily, custom elements have fewer contentious points than shadow DOM still [00:20:41.0000] dominicc: except is= [00:21:05.0000] dominicc: so hopefully it'd be straight forward to sort out the remaining issues at TPAC at least for autonomous custom elements [00:21:12.0000] rniwa: Yep! [00:22:09.0000] rniwa: We're working hard to get our tests in shape by that time. We need to do some updates for recent spec changes. [00:22:36.0000] dominicc: yeah, i'm doing the same for webkit tests as fast as I can [00:25:22.0000] dominicc: it looks like you haven't added "element definition is running flag"? [00:25:54.0000] rniwa: not yet. We still have the older check where reentrancy is allowed, as long as it is a different name. [00:26:05.0000] dominicc: I see. [00:26:06.0000] rniwa: This will change next week. [00:29:28.0000] dominicc: here's a way to enable custom elements on STP. [00:29:41.0000] rniwa: ooh goody, what? [00:29:42.0000] dominicc: on macOS Sierra, there's a submenu in "Develop" menu [00:30:22.0000] rniwa: interesting. I will have to set up Sierra... I'm travelling next week :/ [00:30:34.0000] dominicc: yeah, probably not a good idea :( [00:32:52.0000] dominicc: but going forward, you should be able to toggle experimental features on that submenu. [00:33:17.0000] so hopefully this pain of not being able to toggle features without having to build webkit will go away soon [00:50:15.0000] I wonder if we can start checking the MIME type for (classic) Worker()/SharedWorker() and importScripts() [00:51:44.0000] although maybe that doesn't help anything if [05:25:00.0000] or at least the effect is that document.characterSet in that case is windows-1252 [05:26:45.0000] hmm i suppose i should write tests in https://github.com/html5lib/html5lib-tests/tree/master/encoding [05:27:05.0000] are those in wpt also? [05:28:13.0000] no, partly because they're a total mess :\ [05:28:46.0000] we really need to deal with having tests for what the pre-scan is expected to find for a given pre-scan length, and what the eventual encoding at the end of parsing is [05:31:40.0000] gsnedders: so what should i do if i want to write new tests for https://github.com/whatwg/html/issues/1438 ? [05:32:52.0000] a) cry. b) ??? c) write tests. [05:33:09.0000] i could write straight wpt tests [05:35:24.0000] though it seems attractive to write in html5lib-test format and have a script generate wpt files [06:24:31.0000] annevk: are you doing anything fetch specific at TPAC? If not, happy to slant the service worker meeting towards fetch issues that are vaguely SW related [06:27:22.0000] MikeSmith: payments meeting not on today? [06:27:43.0000] (I realise I missed the first half) [06:54:30.0000] JakeA: was thinking we should have a session at some point [06:54:50.0000] JakeA: nothing organized though, so sounds good [08:56:25.0000] Hi! [08:56:41.0000] I would like to work in this issues https://github.com/whatwg/html/issues/507 [08:56:53.0000] my github account marti1125 [09:42:43.0000] marti_: you should be able to work on it by creating a fork [09:43:06.0000] marti_: and then creating a PR with your commits that implement the required changes [09:43:49.0000] marti_: if you're not familiar with pull requests, I found this that will probably help you out: https://yangsu.github.io/pull-request-tutorial/ [09:44:22.0000] (also, hi!) [09:46:41.0000] thanks :D [09:47:33.0000] for Remove top-level ForceType text/html is only remove this line https://github.com/whatwg/html/blob/master/.htaccess#L3 [09:47:43.0000] or remove all ForceType text/html [09:52:14.0000] marti_: just that line : [09:52:18.0000] :) [09:54:17.0000] ok thanks!! [09:55:02.0000] I will send a PR from my fork master to master [09:55:10.0000] or I have to create a new branch=? [09:55:39.0000] marti_: either will work, but creating a new branch will be easier for you if you want to work on other things in the future. Then you can do one branch per thing. [14:09:51.0000] It's here!! https://heycam.github.io/webidl/ \o/ yay tobie [14:10:06.0000] :) [14:10:26.0000] \o/ [14:12:23.0000] mkwst: ping [14:13:57.0000] Domenic: favorite glitch so far: Function (https://heycam.github.io/webidl/#Function) randomly referencing a Houdini spec. [14:14:17.0000] nice :P [14:18:01.0000] /me thought "houdini spec" was a joke [14:18:10.0000] apparently it's real [14:32:36.0000] KiChjang: well, I certainly wish it would magically disappear from the references on the spec. :D [14:35:46.0000] tobie: I'm sending the Houdini spec a change to avoid re-defining Function. [14:36:18.0000] jyasskin: oh, is _that_ why it's happening? [14:36:28.0000] Do I shave the yak that URL has url instead of just url? [14:40:01.0000] jyasskin: fwiw, filed an issue against Bikeshed here the other day https://github.com/tabatkins/bikeshed/issues/803 [14:40:19.0000] jyasskin: might want to reference in your PR so TabAtkins knows what's up. [14:41:04.0000] Still seems like argument names to Web IDL methods should never link to IDL terms defined elsewhere [14:41:49.0000] tobie: It's not really a bug in Bikeshed: https://drafts.css-houdini.org/worklets/#dom-function-arguments has `arguments`, which says any other use of Function/arguments should link to there. [14:42:38.0000] Houdini shouldn't be re-defining a name that's defined more authoritatively in WebIDL. [14:42:47.0000] jyasskin: I agree with Domenic, though. [14:43:22.0000] Is there never a case that you want to refer to a function's argument from another spec? [14:43:35.0000] I agree it's probably rare. [14:45:44.0000] I don't really have an opinion beyond wanting to get rid of a reference to worklets in WebIDL. :D [14:52:06.0000] I guess some specs do the thing where they have a table of arguments with a bunch of non-normative text about them :-/ [14:52:18.0000] Probably they should never export it [14:52:54.0000] tobie: I'm answering that issue right now. ^_^ [14:53:33.0000] Not a glitch - the Houdini spec defines a callback named Function already, so Bikeshed is assuming you want to link to it instead. [14:54:04.0000] I have code that ignores that for interfaces, and always defines (unless it's partial), but I'm generalizing it to all definition statements right now. [14:54:24.0000] TabAtkins: nice. [14:56:03.0000] And pushed. [14:56:57.0000] So now IDL blocks will always dfn; you only get a link if it's dfn'd elsewhere locally, or it's a `partial` construct [14:57:32.0000] Nice. [14:59:01.0000] TabAtkins: I must say filing issues against Bikeshed and seeing them fixed at such a pace is a pretty gratifying experience. [14:59:15.0000] Eventually you'll hit one that I let sit for a while. [14:59:28.0000] Thus why I have 70 open issues in the repo. ^_^ [14:59:43.0000] But I do like to get things fixed asap when I can. 2016-09-08 [22:46:19.0000] JakeA: I don’t attend the payment-apps meeting normally, so not sure if they were meeting this week or not [23:35:03.0000] tobie: oooh you did it [23:35:06.0000] tobie: congrats! [23:35:16.0000] tobie: and thanks for fast-forwarding the commits rather than merge commits [23:37:23.0000] annevk: yeah, didn't want to leave all other bikeshed users blocked until we shipped for too long. [23:38:16.0000] tobie: seems the last fixup commit isn't making use of bikeshed functionality () but I guess in general things are okay [23:39:24.0000] Oh, I have to look at that. Where is this? [23:41:43.0000] tobie: last commit: https://github.com/heycam/webidl/commits [23:43:19.0000] Oh. I hadn't seen it. [23:43:52.0000] I guess folks need to be schooled on the bikeshed way, now. [23:44:33.0000] tobie: seems https://github.com/heycam/webidl/issues/161 also wasn't closed as a result of fixing that [23:44:42.0000] Yeah [23:45:36.0000] Mmm. I'm much more worried about a chunk of an algorithm disappearing, tbh. [23:48:52.0000] tobie: well, yes [23:49:44.0000] I *had* to cut some corners, but this is really surprising. [23:54:26.0000] annevk: oh, it's this: https://github.com/heycam/webidl/blob/06bae58f/index.xml#L7667 [23:54:55.0000] I can see how that botched some of my regexes. [00:01:27.0000] OK, so I found three others places where the same thing happened. :( [00:02:02.0000] Will fix. Strongly hopping it's not the beginning of an avalanche or similar issues. :( [00:04:22.0000] tobie: I thought you used XSLT to generate bikeshed? [00:04:29.0000] tobie: XSLT has regular expressions? [00:06:19.0000] annevk: I did. [00:07:52.0000] annevk: but had to add a line by line post-processor to cleanup the indentation levels and markdownify the source, as XSLT's output can't really deal with this [00:08:30.0000] I'm not sure which of the two screwed those up. [01:04:55.0000] annevk: alright fixed those: https://github.com/heycam/webidl/pull/163 [01:05:20.0000] annevk: seems like a relatively well contained issue. [01:05:38.0000] Ah good [01:06:22.0000] annevk: combination of nested references and < > and related entities [01:07:28.0000] not sure where in the pipeline this broke and not sure it's really worth investigating either. [01:08:08.0000] heycam: what's your merging process for WebIDL? [01:08:47.0000] heycam: do you self-merge small fixes like these or get a second pair of eyes on them before you do? [01:14:36.0000] tobie: hi! I tend to commit my own changes without going through PRs unless I specifically want review from someone [01:15:46.0000] heycam: oh, nice. Less process. \o/ [01:16:00.0000] heh yes [01:16:17.0000] use your discretion I suppose [01:16:26.0000] I think bz errs on the side of getting reviews [01:23:18.0000] heycam: Well, as long as everyone feels confortable telling someone else they screwed up and need to revert, I'm all for favouring speed of protocol. [01:25:35.0000] speed OVER protocol. [01:27:08.0000] heycam: will you be at TPAC? [01:27:24.0000] tobie: no, won't be there [01:27:32.0000] :( [01:27:43.0000] :( [01:28:11.0000] heycam: not cool [01:29:32.0000] /me is not cool either [01:30:39.0000] Ms2ger: dude [01:31:13.0000] Well if it's going to be like this we might have to setup something else at some point [01:31:38.0000] yes [01:31:48.0000] we really should anyway [01:32:13.0000] Do one in Brussels and I'll consider it :) [01:33:31.0000] /me had forgotten that Ms2ger’s parole requirements prevent him for being able to travel outside Brussels [01:47:21.0000] MikeSmith: I'm going, btw. :) [01:56:54.0000] tobie: excellent [01:57:27.0000] tobie: so given that we should definitely schedule something concrete for WebIDL discussion [01:57:50.0000] Yeah, I pinged Yves. [01:57:54.0000] OK [01:58:17.0000] I have no idea how the super group is organized these days [01:58:24.0000] we can get a Tech Plenary breakout session of course, but that’d be just one hour [01:58:31.0000] oh [01:59:16.0000] yeah I forgot this was in the Web Platform WG [02:00:34.0000] Or, you know, folks could just go get coffee somewhere together. [02:00:38.0000] MikeSmith: I was thinking of: [02:00:39.0000] 1) short WPWG session just to update people on current status and plans [02:00:39.0000] 2) breakout session to gather requirements for future work [02:00:39.0000] 3) eventually ad-hoc meeting to get actual work done [02:01:09.0000] sounds good [02:01:16.0000] mkwst: yeah, see 3) above (so we get a room) [02:02:23.0000] mkwst: yeah agree and sometimes a lot more gets done in informal get-togethers between formal meetings [02:02:33.0000] "sometimes" [02:02:39.0000] heh [02:02:43.0000] I was being nice :) [02:03:09.0000] tobie: but what do you mean “we get a room”? [02:03:39.0000] MikeSmith: last time I looked, we could claim slots in rooms for ad-hoc meetings [02:03:49.0000] oh [02:03:56.0000] MikeSmith: think we did that for the sensor work last time [02:04:00.0000] OK [02:04:01.0000] booked half a day or so [02:05:30.0000] man the distinction between the bindings and the WebIDL stuff in there is just hard to grok in some places. [02:05:50.0000] that is why we should erase that distinction as much as we can [02:06:03.0000] How's an ES throw different from a WebIDL one? [02:06:21.0000] /me cries [02:07:11.0000] tobie, what do you mean? [02:08:14.0000] Ms2ger: http://heycam.github.io/webidl/#dfn-throw vs http://heycam.github.io/webidl/#ecmascript-throw [02:10:27.0000] I think it would be fine to redirect ecmascript-throw to dfn-throw [02:17:43.0000] tobie: the difference is that IDL still tries to be language-agnostic [02:18:05.0000] Kinda sorta [02:18:07.0000] "The meaning of each simple exception matches its corresponding Error object in the ECMAScript specification." [02:18:10.0000] tobie: I think we should give up on that to some extent [02:18:52.0000] We might actually short circuit some of IDL with wasm, but that should just become part of the IDL spec [02:19:07.0000] (E.g., a bunch of type coercion would no longer be needed.) [02:19:24.0000] Oh interesting [02:20:44.0000] Yeah, the extra level of indirection added by this near 1:1 mirroring makes things really complicated [02:22:28.0000] You have a {{SyntaxError}} IDL interface which has a SyntaxError name and maps the ES SyntaxError object. [02:22:46.0000] I'm not sure we're getting anything out of that beyond technical purity. [02:23:02.0000] I think it does make sense to have an IDL entry-point for all these things [02:23:34.0000] So if I define an IDL-algorithm, I use IDL-throw in it and IDL defines the implementation of that [02:24:18.0000] Basically IDL should define the language all spec-algorithms are written in [02:24:29.0000] How to do loops, comparisons, etc. [02:24:48.0000] A major outstanding issue is promise integration [02:25:00.0000] There's the promises guide, but that really needs to be part of IDL [02:25:35.0000] And once integrated IDL needs to really explain things in terms of ECMAScript, not hand-wavy language [02:27:22.0000] How much of that mean pulling in thing s described in HTML? [02:27:56.0000] (e.g. the infamous "in parallel" dfn everybody references) [02:30:39.0000] tobie: that might need to happen at some point [02:30:47.0000] tobie: baby steps [02:31:32.0000] tobie: but yeah, "in parallel" is a very special thing only available to IDL-algorithms and not really to ECMAScript [02:32:19.0000] annevk: oh yeah. Just trying to build a mental model of how the different pieces fit together so I can make educated decisions down the line. [02:33:11.0000] tobie: but IDL / HTML / DOM are intertwined [02:33:23.0000] tobie: Hixie would argue they should all be the same thing [02:34:02.0000] annevk: yeah, I'm just trying to figure out what the nodes are. [02:34:29.0000] tobie: points of overlap? [02:35:09.0000] yeah, I'm not exactly sure how to call these things yet. :) [02:35:39.0000] Let's not reuse node [02:35:52.0000] 😛 [02:36:15.0000] heh [02:36:41.0000] /me was thinking graph-theory node, fwiw. [02:37:26.0000] Fair [02:37:43.0000] tobie: next step is sorting through the bugs, right? [02:39:27.0000] annevk: if I do a window.open(url), does this create a fetch client for about:blank, then create another for the navigation to url? [02:39:41.0000] Or does the about:blank page use the client of the opener? [02:40:11.0000] annevk: There's a bunch of things [02:41:03.0000] annevk: removing the inline issues is one. [02:41:20.0000] JakeA: opener I think, but not defined yet [02:41:26.0000] annevk: triaging bugzilla is the second [02:41:52.0000] JakeA: and yeah, new one when you navigate [02:41:58.0000] annevk: ta. This matters for the reserved/target clientid stuff [02:42:05.0000] JakeA: and are especially hairy [02:42:11.0000] annevk: there are still parts of the spec that need fixing (bugs that were there before the conversion but whic are now a lot easier to spot) [02:42:15.0000] yeah, that's why we skip them with SW :D [02:42:23.0000] appcache does crazy dancing [02:42:47.0000] annevk: lots of low hanging fruits also (small issues, etc.) [02:43:02.0000] JakeA: for and you use the fetch group of the element, but then when you pass them to navigate (the response) they create a new fetch group and their own fetches get moved [02:43:25.0000] JakeA: there's notes in an issue somewhere, I haven't really defined it yet [02:43:54.0000] JakeA: we either need to drop AppCache fast or just embrace that it is there and actually make it a functional part of the platform [02:44:07.0000] JakeA: keeping it in its current state is not helping anyone [02:44:16.0000] annevk: can this be simplified if the object has type text/html and typemustmatch? We *know* that's iframe-like at that point [02:44:49.0000] JakeA: that wouldn't really simplify the existing code [02:44:57.0000] JakeA: that would just add a branch, with more chance for bugs [02:46:06.0000] annevk: hm, I was hoping we could use typemustmatch to send requests through SW [02:46:12.0000] but I'm not that bothered [02:46:24.0000] the only worthwhile thing it's used for is SVG [02:48:03.0000] JakeA: oh we could add it, just saying it's not a simplification [02:48:15.0000] fair [02:48:35.0000] JakeA: and if we do add it, I would appreciate if whoever wants to add it first cleans up how the elements are defined today, since they're known to be wrong [02:48:40.0000] JakeA: it's a rather messy area [02:49:00.0000] tobie: sounds really good to get those cleaned up first indeed [02:49:17.0000] tobie: will also help with getting yourself familiarized [02:49:29.0000] annevk: yeah, I'm getting there [02:49:37.0000] annevk: albeit slowly [02:57:46.0000] What's the difference between http://heycam.github.io/webidl/#dfn-dictionary and http://heycam.github.io/webidl/#idl-dictionary? [02:59:33.0000] I'm also not sure I understand what this means: "There is no way to represent a constant dictionary value in IDL." [03:04:29.0000] Oh, never mind the former. I now get it. [03:19:13.0000] tobie: IDL has support for constants [03:19:23.0000] tobie: I think that's just saying a dictionary value is not a valid value for it [03:19:38.0000] really? [03:20:06.0000] annevk: that seems super redundant given acceptable values for consts are whitelisted somewhere else [03:20:40.0000] annevk: the sequence type is defined as an interface in the type list (and now my head hurts) [03:21:50.0000] tobie: it's not a normative statement, so yeah, it's redundant [03:22:11.0000] (might still help someone though, or confuse) [03:23:02.0000] annevk: I guess whether it does one or the other depends on your programming background [03:29:26.0000] tobie: not sure how a sequence is an interface [03:29:48.0000] annevk: in the BS sense. [03:32:46.0000] annevk: for BS, long long is an interface [03:33:23.0000] tobie: oh, you mean bikeshed [03:33:46.0000] Guess it works both ways [03:34:46.0000] annevk: well, it's currently inconsistant across types which means that you must write [=null type=] but {{sequence|sequence type}} [03:37:39.0000] annevk: to make matters worse, the promise type is defined as Promise [03:38:04.0000] s/worse/more confusing to me/ [03:38:49.0000] tobie: you can probably fix some of that up with TabAtkins [03:39:00.0000] tobie: once you have more of an idea of what you want [03:39:23.0000] yeah--hoping to talk about these at TPAC. [03:39:41.0000] annevk: too confused in my head to have sensible asks for the time being. [03:40:25.0000] annevk: concerned about breaking things elsewhere (e.g. in DOM) if I fix these here. [03:41:12.0000] annevk: e.g. change type of Promise from interface to dfn to match other type defs [03:42:32.0000] tobie: right, those kind of changes need to happen through a PR and with some discussion [03:42:54.0000] tobie: but we can do them and should I think, where they make sense [03:43:04.0000] tobie: future is longer than the past [03:43:16.0000] (hopefully) [03:43:31.0000] tobie: but probably better to first have a holistic view of everything that needs to change and then figure out a game plan [03:43:42.0000] tobie: if that's false we might as well stop [03:44:26.0000] annevk: should we wait for November 8? [03:44:55.0000] ;) [03:48:41.0000] tobie: what's then? [03:52:33.0000] annevk: well, we *might* be a lot closer to nuclear armageddon if small hands gets elected, no? [03:52:55.0000] tobie: oh, good to know the date [03:53:05.0000] tobie: I kinda stopped paying attention [03:53:31.0000] annevk: I hope those who get a say haven't [05:08:09.0000] hmm, WICG has become a place to dump random ideas which may then get implemented without much feedback ? [05:09:09.0000] smaug: I’m guessing you have something specific in mind that’s happened [05:09:30.0000] nah, just the generic use of WICG [05:10:03.0000] smaug: yeah, seems like it [05:10:14.0000] as far as the implementation part, seems like not so much from WICG has been implemented yet [05:10:49.0000] Step up from impl random ideas [05:11:56.0000] yeah it’s not like any browser project would ever go ahead an unilaterally implement something without getting any feedback from other implementors first [05:12:16.0000] that would be crazy if we ever had any browser projects that did thank [05:12:26.0000] so thank god that never happens at least [05:18:49.0000] /me passes MikeSmith the booze [06:04:35.0000] Ms2ger: I don't think I've ever seen you drink any alcoholic beverage. [06:05:01.0000] It would surprise me if you had [07:01:03.0000] annevk: how do you feel about serviceWorkerRegistration.fetch being a place to get/set fetch options? Or would you rather it was fetchManager? [07:05:07.0000] JakeA: shorter is better [07:05:17.0000] ta [07:05:34.0000] JakeA: but not part of register dict? [07:07:17.0000] annevk: I'm in two minds about it. Facebook wanted a header that they could set at any point, but it feels like cookies by another name, and it complicates the implementation [07:07:43.0000] annevk: I'm moving towards putting it on the install or activate event [07:08:08.0000] oh I should say this is for the navigation preload thing [07:08:36.0000] It kinda feels like fetch options should sit with the thing handling the fetching [07:10:27.0000] As long as we have something that can be easily reused I suppose it's ok [07:11:02.0000] install/activateEvent is where I'd have static routes, if they were a thing [07:14:16.0000] You want install for static routes I guess [07:14:25.0000] Little weird otherwise [07:19:38.0000] annevk: just seen foreign fetch on install too, so I guess that's where fetch options are going. We should probably review foreign fetch at tpac, I don't think it's had a lot of eyes on it [07:21:03.0000] Yeah, makes sense [07:21:25.0000] Not sure how much changed since we first designed it [07:22:00.0000] But yeah, we should figure out a pattern for these things and make sure folks adopt them [08:06:28.0000] annevk: JakeA: why doesn't an about:blank frame get its own fetch client? I understand it inherits the origin from the parent, but inheriting the client itself seems really weird to me [08:11:02.0000] I don't mind which way we go with this [08:11:08.0000] Can about:blank have its own CSP? [08:55:58.0000] smaug: The point of WICG is to gather small groups of relevant people from the various browsers from each project, and dev the idea in a more silo'd repo. The hope is that this avoids (a) the noise of webapps "everything happens in this mailing list", and more importantly, (b) the pathology of long-lived groups where non-functioning trolls gather over time [08:55:58.0000] and reduce the usefulness of the group. [09:13:02.0000] deliberately impatient misreading: "The point of WICG is to … reduce the usefulness of the group" [09:23:22.0000] +1 [09:23:51.0000] TabAtkins: well, my tiny experience with WICG stuff has been that things have been designed behind closed doors, and doors have been opened around the time some vendors would like to implement and ship APIs [09:24:35.0000] smaug: Some of that's because, well, we really just started on WICG (and really pushing people to dev things there), and so things are entering the pipeline at various stages. [09:25:09.0000] If Google people are trying to use WICG to rubberstamp an already-designed API, please yell about it to slightlyoff. [09:26:45.0000] (We're also gradually trying to get more people into standards dev internally, so there's a lot more culture friction about it; sorry about that.) [09:28:11.0000] rbyers++ and a beer for reply to "[blink-dev] Intent to ship: Media tracks" [09:29:42.0000] (or port, offer only valid while at TPAC) [09:30:42.0000] ah yes, that's great [09:33:21.0000] TabAtkins: WICG seems to be mostly Google trying to push new APIs. Which is totally fine, but it isn't clear how to participate with discussions when new WICG drafts seem to pop up at random time. Or, this is very possible, I'm just not familiar at all with the working model WICG has. [09:34:35.0000] If you want to track new things popping up, that's just a matter of following the Discourse and muting everything that's not browser engineers. That's where new repos get proposed. [09:38:03.0000] /me doesn't know what is Discource [09:38:20.0000] This explains some of your problem, then. ^_^ [09:38:28.0000] https://discourse.wicg.io/ [09:38:47.0000] why is one group using that when others use email + irc? [09:39:05.0000] is it possible to get emails from discourse? [09:39:46.0000] I'm not sure what you mean by the first question. Yes to the second question; that's how I watch it. [09:40:48.0000] TabAtkins: whatwg and webapp (or whatever it is called these days), and HTML and audio and other WGs have traditionally used email for communication [09:40:54.0000] like w3c email lists [09:41:02.0000] or whatwg mailing list [09:41:11.0000] why is wicg doing something else [09:41:47.0000] I wasn't part of the decision, but I think it was meant to encourage webdev communication - normal people seem to find forums much less intimidating than mailling lists. [09:45:01.0000] WHATWG mostly uses GitHub and IRC for discourse [09:45:11.0000] We tried forums, but they failed [09:46:19.0000] I think the mailing lists are a pretty poor experience. Github works really well. [09:47:04.0000] In my experience, mailing list discussions get filibustered by a few [09:47:26.0000] Happens occasionally on github, but far less frequently [09:51:14.0000] I've started to cope with github, issue tracking and discussions. [09:51:37.0000] JakeA: yeah, the topic isolation of GitHub helps enormously [09:51:52.0000] how github still hides useful information is rather annoying. But I think that happens only in PRs or something, not in issues. [09:51:57.0000] JakeA: and only following what interests you [09:52:59.0000] smaug: yeah, that's how PRs handle commits that change lines someone previously commented on [09:56:53.0000] Less of a problem now with squashing meaning that you no longer need to force-push [09:57:22.0000] annevk: Thanks! I'm definitely trying to ratchet up interop discipline. You all can help by encouraging use of web-platform-test along with normative spec changes. [10:00:24.0000] Domenic: the problem also happens with follow up commits [10:00:31.0000] Domenic: it's that the comments get collapsed [10:00:40.0000] Domenic: that's not obvious to everyone [10:00:48.0000] annevk: ah right, yeah if you comment on the /files tab instead of on the specific commit that's true [10:01:50.0000] Ah, I didn't know that bit, maybe I should try to change my review habbits, although then I might end up commenting on outdated stuff [10:03:16.0000] Yeah not sure what the right way to do that is, /files is so convenient. [10:03:48.0000] smaug: My small experience with WICG has been a mixed bag. Most useful feedback has mainly been solicited via reaching out to relevant folks via email and not by publishing to WICG discourse. [10:05:04.0000] majidvp: right. That hints about something I've been thinking... many relevant people don't follow WICG discourse at all [10:05:11.0000] smaug: I have WICG setup so I receive an email for every new thread but I feel most people don't so most new proposals fall off radar. [10:05:34.0000] smaug: Yeah, and some of us try but fail to keep up with the threads also. [10:05:34.0000] smaug: Yep! agreed. [10:05:36.0000] I only ever look at WICG stuff when asked [10:06:06.0000] Too much of a grab bag [10:06:17.0000] IMHO the important bit is that feedback is solicited from relevant folks at other browser vendors before a new API is shipped in the first engine. [10:06:34.0000] This is why soliciting feedback is part of the blink launch process. [10:06:53.0000] Yeah, I'm surprised Mozilla is not copying more of that [10:07:13.0000] If people are doing it right, they're getting feedback early in the spec process, well before "intent to ship" and there's not much value in trying to watch for new specs appearing (from google at least) on WICG. [10:07:20.0000] "Intent to implement/ship" is really great [10:08:02.0000] Thanks. It's a tough tradeoff (eg. we also say we don't block waiting for feedback when there hasn't been any meaningful response) but we're trying to be pretty careful about it. [10:08:26.0000] And just eat the compat pain when we need to correct our mistakes (eg. ShadowDOM v1 vs. v0) [10:09:32.0000] smaug: Speaking of all this, you said https://github.com/NavidZ/auxclick seemed reasonable to you, right? If you say that at https://discourse.wicg.io/t/new-event-for-non-primary-button-click/1527/7 then we can move the repo to WICG (start getting IP protection etc.) [10:13:24.0000] rbyers: curious, why would it be added as WICG thing? [10:13:30.0000] and why not to UIEvents ? [10:13:46.0000] "incubation first standards policy" [10:13:55.0000] i.e. it's too early to move it to UIEvents. [10:14:02.0000] Maybe when a 2nd implementation ships... [10:14:25.0000] But that's absolutely where it should end upt. [10:15:01.0000] WICG is intended as a staging ground to get details ironed out and multiple interoperable implementations, not the ultimate standards destination. [10:16:29.0000] I'm having hard time to understand this model and what good it gives us. How is that better than WhatWG model? [10:17:17.0000] Only one big benefit: Microsoft will participate in it. [10:17:36.0000] if things are first hidden in some WICG draft, they sure don't get as much feedback or reviewing than if the feature was discussed in the place such feature is normally handled [10:17:49.0000] like, in this case, github issue would be ok place [10:17:57.0000] w3c github [10:18:03.0000] Otherwise it aims to have all the upside of WHATWG with very little of the problems of the W3C. [10:18:05.0000] so that MS can give feedback [10:18:48.0000] I'm worried that people start to think that once something from WICG is moved to some other kind of spec, it somehow becomes more official, more "standard" [10:19:33.0000] yet, given the current setup, WICG doesn't probably get enough feedback and real spec reviewing happens only once the feature is in some other spec [10:20:38.0000] Are you worried primarily here about spec quality or about interoperability risk (getting locked into APIs we'd like to change)? [10:21:16.0000] both [10:22:00.0000] I think it's absolutely intentional that WICG specs start sort of rough (you don't need to be a full-time standards professional to write one) and the spec quality matures as it moves through the standards process along with implementations. [10:22:52.0000] ok, then there should be some "DO NOT IMPLEMENT THIS" in WICG drafts [10:23:13.0000] or at least "DO NOT SHIP IMPLEMENTATIONS BASED ON THIS API" :) [10:26:33.0000] annevk: http://stackoverflow.com/questions/39393909/how-do-i-handle-javascript-fetch-errors [10:27:37.0000] We're trying to be more incremental about shipping new features rather than blocking every new feature on some WG reaching 100% consensus on it. I know that's controversial (you and I have talked about the tradeoffs before) and increases the risk of getting locked into things we regret. But the alternative is not really that much better - we regret plenty [10:27:38.0000] of things that shipped based on a W3C REC spec. [10:28:11.0000] And worse, the web almost became irrelevant when it couldn't respond to the shift to mobile in any sort of reasonable timeframe. [10:28:37.0000] rbyers: I don't see how you're preventing the bad stuff if you ship [10:28:51.0000] rbyers: it's shipping that's the main issue, not where you spec stuff [10:29:09.0000] rbyers: I totally agree with smaug that stuff that goes into UI Events should not be discussed elsewhere [10:29:22.0000] rbyers: that's the same shit as with passive listeners, that didn't go that well [10:30:02.0000] There is no "preventing the bad stuff" in any world - there's just risk/benefit tradeoffs. [10:30:07.0000] rbyers: and when shipping you don't want to look at the standard, as you already established on blink-dev [10:30:33.0000] rbyers: you look at which browsers are planning on shipping, who was involved, what's the testing story, who reviewed, etc. [10:30:47.0000] Anyway this isn't my call - Alex Russel has basically dictated that all new blink features go through incubation of some sort. See https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/PJ_E04kcFb8/ZXJXLJYYAAAJ [10:32:03.0000] I'm not sure what incubation means [10:32:04.0000] Not sure what you mean "don't want to look at the standard". Of course we want to look at it as one signal on the likely eventual interoperability. [10:35:00.0000] To me "incubation" means doing new feature development iteratively in collaboration with customers who are actually using the thing, and being agile in responding to their feedback and (when possible) making breaking changes. [10:35:29.0000] BTW I meant to say that having a UI Events issue for 'auxclick' is a good idea - I'm embarassed to find one doesn't exist yet. Will file it now. [10:36:36.0000] The first rule of monkey patching is to tell upstream it's happening [10:38:17.0000] for the purposes of Googlers, incubation means "do it at WICG or the ES stages process, or ping me directly and we'll figure something out" [10:50:17.0000] annevk: Oh we definitely discussed it with the UI Events editor (looking for a public thread, but you can see garykac was cc'd in the initial discourse thread: https://discourse.wicg.io/t/new-event-for-non-primary-button-click/1527/7). [10:50:31.0000] This isn't monkey patching though, it's an entirely stand-alone feature. [10:50:59.0000] Sure it makes logical sense to group into UI Events but it doesn't change the existing UI Events spec in any way. [10:51:14.0000] rbyers: the current UI spec isn't really complete though [10:51:35.0000] rbyers: there's some kind of processing model where this is a branch that's not yet defined [10:52:00.0000] UI Events is still in a rather sad state [10:54:07.0000] Yeah it could definitely be better. I think opinions differ on the urgency of defining a full processing model. Personally I'd much rather invest resources in having automated tests which watch the event stream generated for various types of input (that's at least where my team is currently investing for UI Events) [11:36:55.0000] Hmm I thought "Note:" shorthand in Bikeshed omitted the leading "Note:" in the output [11:39:11.0000] Domenic: What do you mean? It should be omitting it in text; it instead marks it up as a marker for the block. [11:39:51.0000] TabAtkins: it isn't omitting it; see https://heycam.github.io/webidl/#dfn-partial-interface [11:39:53.0000] Wait, hmmmm [11:40:03.0000] Did something start screwing up? Gonna investigate. [11:40:10.0000] No clue how this could have changed... [11:47:32.0000] Hm, no, looks like it's always been like that since the beginning. [11:54:05.0000] Can we change it? [11:54:36.0000] Hmm and "Warning:" doesn't work, sad [11:55:40.0000] Try "Advisement: " for something that might be better for your style? [11:55:48.0000] I guess that's it, yeah [11:56:03.0000] Recognizing "Warning:" as the same thing is a good idea, tho. [11:57:01.0000] Oh but that makes it strong, like tobie mentioned earlier, so we have to use

instead [11:57:18.0000] Why is this a problem? [11:57:43.0000] It doesn't match the style of all the other notes/examples/etc. [11:58:11.0000] Right, because it's calling out something important, correctly using semantics. [11:58:28.0000] Well, more precisely, the problem is that the style doesn't match between single and multiple element advisements. [11:58:32.0000] Nah, I don't think this is more important than the nearby note [11:58:32.0000] Notes and examples can be skipped; they're at the same level of importance as surrounding text (or less so). Advisements (/warnings) are *more* important. [11:59:32.0000] tobie: Yeah, if you're not using the shorthand, you have to provide the yourself. [11:59:46.0000] Domenic: Then it's not a advisement/warning. [11:59:56.0000] *shrug* I disagree. [12:00:24.0000] I mean, you can use whatever wording you want for it on your own. But the "Advisement: " pattern is meant to capture rare, important call-outs that shouldn't be ignored. [12:00:49.0000] If you have your own, different concept of advisements, that's cool. But it wont' be captured by the markup shorthand Bikeshed provides. [12:00:51.0000] Domenic, see: https://github.com/tabatkins/bikeshed/issues/790 and particularly the output of using the different markup strategies [12:01:07.0000] Yeah, that's why I have to use

[12:01:24.0000] I understand that my opinions differ from yours and so I can't use your shorthands [12:04:06.0000] TabAtkins: to be clear, I'm in the same position as Domenic: I'd like to use the shorthand but can't because it creates a stylistic difference with cases where I can't use the shorthand because there are multiple elements. [12:05:14.0000] tobie: Like I said above, it doesn't. You're just not using the same markup pattern in your "manual" examples. The styling created by the "Advisement:" shorthand is more than just what's applied via a class on the container; it also applies a , and styles that somewhat. [12:05:54.0000] This is different than note/issue, which derive all of their styling from a class on the container, but that's because they don't need any additional structure for their intended semantics. [12:06:42.0000] (heading to lunch, bbs) [12:08:04.0000] TabAtkins: yup, that's understood. I was just responding to your question about needing to add "strong" manually. (I don't want the strong at all.) [12:08:56.0000] But like I said, I haven't lost any sleep over the wontfix. :) [12:09:02.0000] Also, bon appetit! [12:28:27.0000] Is there a way to get rid of "This version:" I wonder [12:36:38.0000] Domenic: it would be nice to have a syntax to override or remove metadata. [12:36:57.0000] tobie: It looks like "This version:" is mandatory for non-living standards [12:37:18.0000] I wonder who would get made if we changed "ED" to "LS" in the bikeshed file :P [12:37:26.0000] Domenic: mandatory in the published drafts [12:37:41.0000] Even for EDs according to bikeshed [12:37:47.0000] I don't know what the rules are for EDs (or who enforces them) [12:38:15.0000] E.g. presumably it's important to have that giant "status of this document" thing clogging up your intro and people would get mad if it went away [12:40:22.0000] Domenic: there are things which are legal requirements and there are pubrules [12:40:51.0000] the latter don't apply to EDs. [12:41:18.0000] At some point I feel like trying to make the first screenful useful is just a worthless cause. Look at all that whitespace dedicated to the W3C logo, before the title "Web IDL" even appears [12:42:05.0000] Domenic: these are design issues to be brought with Fantasai during the tech plenary on the Wednesday. [12:42:14.0000] *brought up [12:42:59.0000] Domenic: those are neither pubrules nor legal reqs. [12:43:28.0000] Domenic: also sotd could most probably be turned into much smaller text [12:43:52.0000] with the approval of W3C legal [12:44:06.0000] Paragraphs 2 and 3 duplicate the header [12:44:27.0000] Anyway enough of that, back to the fun stuff :) [12:46:28.0000] there's isn't a definition of type in WebIDL [12:46:38.0000] shouldn't there be one? [12:48:14.0000] Domenic: ^ [12:48:33.0000] mehhh? I guess if people want to link to it? [12:56:39.0000] fantasai dedicated this year's redesign to (a) as much as possible, just CSS changes, and (b) overcoming the massive inertia against *any* change. [12:57:04.0000] Having accomplished both those goals, fixing the top-matter to be useful and tiny (and remove or move as much boilerplate as possible) is her next redesign goal. [13:04:40.0000] TabAtkins: Note that the Conformance section says that notes start with "Note:". If you start dropping it, you should also make the Conformance section match. [13:04:58.0000] jyasskin: Right, I think that's why I'm keeping it currently. [13:42:10.0000] Domenic: https://www.w3.org/2015/Process-20150901/#general-requirements are surprisingly light weight 2016-09-09 [01:17:53.0000] Is there a trick to close a PR when using the command line to modify a commit and push it to upstream directly? [01:18:27.0000] I just tried that with https://github.com/heycam/webidl/pull/165 and failed. [01:18:29.0000] tobie: you modify the commit on the branch, force push, then merge it using fast forward [01:19:04.0000] tobie: https://github.com/whatwg/html/blob/master/TEAM.md has various pointers [01:19:26.0000] annevk: thanks for the resource. [01:19:28.0000] tobie: https://github.com/whatwg/html/blob/master/TEAM.md#merging-pull-requests-from-branches in particular [01:20:18.0000] annevk: that implies having push rights to the branch, though, right? [01:24:11.0000] tobie: yeah, if you don't the only way to close the PR is to add close #{prnumber} to the commit message, but that's somewhat frowned upon for reasons not entirely clear to me [01:24:48.0000] annevk: because it closes the PR but the PR appears to not have been merged. [01:25:57.0000] Sure, but assuming you cannot merge the PR successfully (external branch that requires a change other than a commit message change) that's kinda your only option [01:26:10.0000] yup [01:26:38.0000] oh well. [01:31:00.0000] tobie: you should prolly give Domenic write access to that repo so he can create branches [01:31:18.0000] tobie: and then protect master to only give the editors push access to that branch [01:31:21.0000] tobie: or some such [01:32:07.0000] tobie: I think that's the way to go if you have contributors that come back a lot, just give them write access so you can collaborate on branches, but protect master from accidents (other than your own) [01:32:26.0000] annevk: I don't have admin access. [01:32:36.0000] annevk: I guess heycam does [01:32:43.0000] heycam: ^^ [01:32:52.0000] would be weird if not [01:35:26.0000] how do you do fine grained access control like that? [01:35:26.0000] branch protection for gh-pages says "Disables force-pushes to this branch and prevents it from being deleted" so I guess that's not it [01:39:03.0000] heycam: should be at https://github.com/heycam/webidl/settings/branches/master [01:39:20.0000] heycam: or https://github.com/heycam/webidl/settings/branches/gh-pages I guess [01:39:45.0000] heycam: should have "Restrict who can push to this branch" [01:39:55.0000] annevk: no I don't see that [01:39:59.0000] maybe that's only available for orgs? [01:40:59.0000] heycam: https://github.com/blog/2051-protected-branches-and-required-status-checks none of this is there? [01:41:35.0000] annevk: no I see that [01:41:47.0000] heycam: so maybe you first need to make gh-pages a protected branch [01:41:56.0000] heycam: and then once it is, you can add further protections [01:42:19.0000] I don't see any more options even after I enable protection [01:42:24.0000] just the "Require status checks " one [01:42:37.0000] oh that opens some more things when I check it [01:42:38.0000] grr [01:43:04.0000] though I'm not sure if the status checks one is what I want either... [01:43:39.0000] heycam: yeah, status checks isn't important unless you have some integration thing setup [01:44:35.0000] so I just see this: http://mcc.id.au/temp/branch.png [01:45:57.0000] heycam: fascinating [01:46:17.0000] heycam: maybe it's only available for "master" [01:46:22.0000] hmm [01:46:46.0000] heycam: no, it's an org feature as you thought [01:46:49.0000] ah [01:46:50.0000] how about I just add domenic and he can exercise restraint, in only pushing branches [01:46:52.0000] https://help.github.com/articles/about-protected-branches/ [01:46:57.0000] yeah [01:47:02.0000] do that [01:47:27.0000] ok done [02:15:57.0000] annevk, tobie: btw, there's also https://github.com/blog/2247-improving-collaboration-with-forks now [02:17:34.0000] Ms2ger: oh wow, that's great [02:27:32.0000] yeah very nice [02:32:11.0000] Ms2ger: oh, I thought I had seen that somewhere! Thanks for sharing. [07:49:05.0000] bz: sorry you're having issues building Bikeshed [07:49:38.0000] bz: TabAtkins should be able to help you debug. [08:34:02.0000] annevk: when/why did headers.getAll vanish? [08:48:22.0000] nm found https://github.com/whatwg/fetch/commit/42464c [08:54:17.0000] annevk: new Headers([['foo', 'bar'], ['foo', 'yay']]).get('foo') returns "bar" in both Firefox & Chrome. It should be "bar,yay" right? [08:54:34.0000] JakeA: yeah [08:54:50.0000] filing [08:55:19.0000] JakeA: WebKit made a convincing argument that since we don't expose cookies, we shouldn't expose non-mapness to developers [08:56:05.0000] annevk: should they be combined at iteration time too? [08:56:55.0000] [...new Headers([['foo', 'bar'], ['foo', 'yay']])].length == 2 in Chrome [08:57:04.0000] JakeA: yes [08:57:22.0000] JakeA: iteration is the result of https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine [08:58:50.0000] ta, will file [09:06:46.0000] annevk: Safari combines with ', ' rather than ',' - are they wrong? [09:10:37.0000] JakeA: technically, I think they're fixing that [09:10:47.0000] cool [09:11:50.0000] annevk: https://bugzilla.mozilla.org/show_bug.cgi?id=1301713 [09:12:46.0000] ta [09:14:41.0000] annevk: and https://bugzilla.mozilla.org/show_bug.cgi?id=1301714 [09:16:23.0000] JakeA: you might care about https://github.com/WICG/async-cookies-api/issues/36 [09:20:43.0000] I am, cheers! [09:20:54.0000] am interested that is [09:26:41.0000] dglazkov u around? [09:27:23.0000] actually... anybody around who might have more discussion history on this https://docs.google.com/document/d/1E16tmoOveGopys9Fx4Nn8x8P9q7Jm6CJIqoJyz31tlg/edit [09:35:54.0000] bkardell: What's up? [09:36:19.0000] do you have additional links on where aspects of this were discussed? [09:37:01.0000] No, tho there is some links in the doc, and several issues in the wicg repo you can look to for more details. [09:37:11.0000] like... I have concerns/thoughts but I'm sure it's pretty likely they've been discussed [09:37:13.0000] What's the context of your question? What specifically do you want to know? [09:37:15.0000] yeah I've been looking [09:43:06.0000] Domenic: Rebased https://github.com/heycam/webidl/pull/170, think you could give it a look? [09:52:31.0000] TabAtkins: see https://github.com/whatwg/dom/pull/313#issuecomment-242428180 for information about what might cause the span noise [09:53:06.0000] Oh, thanks! [09:53:09.0000] Hmm. [10:07:39.0000] My Pygments version is 2.0.2 [10:07:50.0000] Was there some regression inbetween? [10:08:18.0000] Yes, I think newer versions add empty spans [10:08:35.0000] Bah [10:11:45.0000] Maybe Bikeshed should do some kind of version check on pygments before running [10:18:08.0000] TabAtkins: in HTML, do I need to do `transferable objects` or will Bikeshed/Shepherd figure out the pluralness itself? [10:25:50.0000] Domenic: It's best to lt the "base" version. Bikeshed will handle conjugated => conjugate, but not conjugating. (It only goes to/from the base form once.) [10:26:28.0000] I didn't know there were empty spans in newer versions. Should be trivial to remove manually. [10:27:49.0000] Hm, looks like they're always just at the start of the highlight blocks? [10:55:04.0000] and fixed [11:34:01.0000] TabAtkins: https://github.com/tabatkins/bikeshed/commit/127d0ac944ee152012efcc16c66ed88b50177810 broke the permissions spec. Any suggestions for how to let other specs define the enum-values from https://w3c.github.io/permissions/#enumdef-permissionname? [11:51:01.0000] tobie Domenic: ^ [11:58:00.0000] I can define a bunch of new terms like `"bluetooth" permission-related algorithms`, and have a lookup table in the Permissions spec. We might have to do that anyway once PermissionName merges into the Feature Policy spec. [12:19:56.0000] jyasskin: If Permissions isn't defining the values, it shouldn't have them in WebIDL blocks, as those are inferred to be defining. (I'm really not sure what I was thinking with my original "link elsewhere if already defined" code in the first place; I think maybe I just didn't know about partial?) If you want it to look WebIDL-ish, just use

class=lang-webidl>, and write s in the source to link them up.

[12:20:12.0000] 
(Sorry for breaking your previous use; you didn't know it was non-idiomatic, and that was my fault.)

[13:32:58.0000] 
jyasskin: https://www.w3.org/Bugs/Public/show_bug.cgi?id=27048

[13:33:55.0000] 
jyasskin: and in particular: https://www.w3.org/Bugs/Public/show_bug.cgi?id=27048#c3

[13:34:22.0000] 
jyasskin: but there seems to be a lot of resistance to that idea.

[13:40:49.0000] 
tobie: Yeah, it's important that there be an index that points to all the enum values, although Shepherd might give us that soon. Faking the IDL block with explicit links might be the way to go here, until the next set of things changes.

[14:01:01.0000] 
TabAtkins: Using class=lang-webidl makes the enum disappear from the IDL Index.

[14:02:06.0000] 
Yes, because then you're not defining it. ^_^ Okay, let's start over from the beginning. You want to define an enum, but not define any of its values? Or maybe just some of its values, and let other specs define other values, but still document those external values in this core spec?

[14:02:18.0000] 
Exactly.

[14:02:45.0000] 
It's a registry, where remote specs ought to define their set of algorithms and types, and then the Permissions spec should link to them.

[14:03:15.0000] 
Initially, most of the entries are defined locally, but it doesn't work well for the Permissions editors to maintain the details of, say, the Media algorithms.

[14:03:57.0000] 
Okay. So. In a normal WebIDL block, put the enum and the values that you define in this spec. Then gimme a sec to fix up the (purposely undocumented)  element so it'll work for your use-case; it's 95% of the way there right now. It'll generate an index of all known enum-value values for the given enum.

[14:05:05.0000] 
!!! So then other specs can write, what, `enum PermissionName { "my-value" }`, and the  will automatically link to there?

[14:05:25.0000] 
Where would {{PermissionName}} link in that case? We really do want tobie's suggestion of partial enums for this.

[14:06:09.0000] 
Well, we dont' have partial enum support in WebIDL, so they'll have to do it manually, with "my-value", but yes.

[14:06:27.0000] 
Which is what they're doing right now, so that's fine.

[14:06:40.0000] 
If they did it with WebIDL, then {{PermissionName}} would just complain about multiple possible refs.

[14:07:18.0000] 
Will the  add the other values to the IDL Index in the Permissions spec?

[14:08:03.0000] 
No, it'll generate an index right there, like in https://drafts.csswg.org/indexes/

[14:08:29.0000] 
So you'd need some explanatory text around it to give it context.

[14:09:10.0000] 
Mhmm. And we'd lose the unified IDL for PermissionName that implementers can copy into their .idl files, but that's not the end of the world.

[14:10:19.0000] 
I could work on something to make that work a little better; I see the value in having a "unified" IDL block for anything that can be partial'd.

[14:10:28.0000] 
But the index thing is nearly ready right now. ^_^

[14:10:34.0000] 
We should probably add partial enums

[14:13:37.0000] 
Yeah, the index is probably better than what I'm doing right now.

[14:15:33.0000] 
It'll be automagical, so yeah.

[14:23:39.0000] 
jyasskin: in that case, isn't the unified block actually *not* what you want? As I mentioned in the comment linked above, why would you want an enum value representing a permission for something you haven't implemented?

[14:25:45.0000] 
tobie: For Bluetooth, we take the IDL blocks and comment out the lines we haven't implemented yet: https://cs.chromium.org/chromium/src/third_party/WebKit/Source/modules/bluetooth/BluetoothRemoteGATTCharacteristic.idl?l=17. But maybe people won't actually copy the PermissionName IDL block verbatim into their implementations.

[14:28:41.0000] 
jyasskin:

[14:29:21.0000] 
(sorry, auto tab mixup)

[14:38:43.0000] 
jyasskin: from an implementor's perspective, I guess this boils down to whether if fits the code structure more to group the permissions together, or scatter them across the different features they enable. I would imagine the former be easier to setup and the latter to maintain, by ymmv.

[14:40:29.0000] 
Yeah. I don't know for sure whether it'd help folks to have an IDL Index that includes everything.

[14:47:23.0000] 
Domenic/annevk: I'd like to use "relevant settings object" without an explicit platform object to refer to the relevant settings object of the *context object*. Does that sound like a good idea? I'll send you an HTML patch if so.

[14:47:51.0000] 
I could also just write "this's relevant settings object".

[15:14:38.0000] 
jyasskin: yeah seems bad. This's or the context object's seems better.

[15:17:39.0000] 
Domenic: 'k


2016-09-10
[22:57:12.0000] 
Yeah, was should use "context object"

[22:57:22.0000] 
Well, really IDL should define "context object" as "this"

[01:06:00.0000] 
heycam|away, at 2016-05-10 15:52 UTC, halindrome said: ping me about webidl and sequences

[07:05:27.0000] 
I prefer "this"... "context object" was very confusing to me the first 100 times I saw it

[08:53:08.0000] 
Domenic: yeah, if IDL doesn't adopt it fast I think I'll change context object in DOM to "this"

[10:27:56.0000] 
HTML currently recommends the relevant settings object when 'this' exists, or the current settings object otherwise. If we write `this's relevant settings object` in places that aren't directly inside a method or attribute definition (e.g. the default in https://w3c.github.io/permissions/#permission-state), sometimes they'll be used from a constructor or

[10:27:57.0000] 
another place that `this` doesn't exist. Should we define a fallback to 'current' in that case?

[13:13:51.0000] 
jyasskin: I don't quite understand the question. You can't write `this's relevant settings object` in places that aren't directly inside a method or attribute definition.

[13:14:23.0000] 
jyasskin: in general for situations like permission state I think the settings object should be mandatory


2016-09-11
[19:54:37.0000] 
what's the relationship between a browsing context and a window?

[19:56:00.0000] 
KiChjang: depends on what you mean by a window

[19:56:32.0000] 
Domenic, i mean it by the HTML spec's definition of a window

[19:56:41.0000] 
https://html.spec.whatwg.org/multipage/browsers.html#window

[19:56:42.0000] 
KiChjang: you mean the Window class?

[19:56:46.0000] 
yes

[19:56:51.0000] 
well, the window object

[19:57:05.0000] 
OK, so not the thing that has many tabs on a computer

[19:57:16.0000] 
A browsing context has many windows

[19:57:22.0000] 
it navigates from one to the next

[19:57:34.0000] 
its WindowProxy proxies to a different Window upon each navigation

[19:58:04.0000] 
can there be a browsing context without a window?

[19:58:26.0000] 
I think so, if you e.g. remove an iframe

[19:58:27.0000] 
and vice versa?

[19:58:49.0000] 
i have to remember what happens when you remove an iframe...

[19:59:10.0000] 
well, let's not complicate things by considering iframes first

[19:59:29.0000] 
let's just consider the normal case where you only have tabs or windows

[19:59:42.0000] 
OK, without iframes then all browsing contexts will have at least one Window and all Windows will belong to a browsing context

[20:00:20.0000] 
and i assume a browsing context has its own unique document as well?

[20:00:43.0000] 
It's not quite that simple...

[20:00:51.0000] 
Each browsing context has an active document

[20:01:43.0000] 
but there can be up to two documents per Window (due to about:blank) and many Windows per document (due to document.open())

[20:03:23.0000] 
what does it mean when a document is inactive?

[20:03:32.0000] 
as in, it's not being displayed?

[20:05:13.0000] 
Basically, yes.

[20:06:54.0000] 
but there's no active window...

[20:08:04.0000] 
basically, i'm trying to determine that whether i can trust that there's going to be a browsing context, if i'm given a window

[20:08:21.0000] 
looks like the answer is yes

[20:08:34.0000] 
since all windows belong to a browsing context

[20:09:21.0000] 
but is it the same as the browsing context that a particular element's owner document's browsing context?

[20:09:53.0000] 
s/that/of/

[20:10:20.0000] 
no wait

[20:10:38.0000] 
is it the same as the browsing context that a particular element's owner document contains?

[20:43:34.0000] 
Not necessarily, e.g. for document.implementation.createDocument()

[20:43:46.0000] 
(and elements from there)

[20:43:56.0000] 
Those documents do not have a browsing context

[20:44:04.0000] 
Same for template contents

[20:46:24.0000] 
And I think the bc can go away even if the Window is still around, given detached iframes. (If JS captures the window value)


2016-09-12
[05:14:57.0000] 
https://github.com/whatwg/html/issues/192#issuecomment-146830020 - http://people.mozilla.org/~roc/videosync.html is gone :-(

[05:18:01.0000] 
This is what happens if we let roc leave the building :(

[08:13:45.0000] 
https://github.com/w3c/web-platform-tests/pull/3697 - it's not clear to me why some events have exposed=Worker and some others do not. should all events be exposed? or only those that get fired on objects that are exposed in workers?

[09:37:16.0000] 
replied to zcorpan in the PR

[10:18:48.0000] 
Hixie: hi there, I have a question about your data: URI kitchen

[10:18:57.0000] 
Hixie: you have a checkbox for "base64", but looking at your code i'm not sure why you first base64-encode the data, then URI encode it. often. the "=" character will still need to be URI-escaped. what's the purpose of the base64 encoding?

[11:47:17.0000] 
Given a HTMLScriptElement that has been loaded and executed, is there any way to find the src of what was loaded and executed? Assume the src attribute is unchanged, but the document base URL has.

[11:57:34.0000] 
gsnedders: I can't think of any way.

[12:15:33.0000] 
Domenic: thx

[12:52:08.0000] 
crazy stuff https://wicg.github.io/shape-detection-api/

[12:52:16.0000] 
totally crazy to add that as web api

[12:53:54.0000] 
smaug: What's your criterion for something to make a good web API?

[12:54:33.0000] 
some API which is defined properly and which isn't something one is expected to implement on top of other web APIS

[12:55:08.0000] 
this shape detection API is so something which should either run over some code running in workers

[12:55:19.0000] 
or it should send data to server side and get it there

[12:55:27.0000] 
How does the code in the workers access the hardware acceleration?

[12:56:47.0000] 
shape-detection-api doesn't seem to in anyway define the algorithms detection is supposed to do

[12:56:53.0000] 
And it seems bad to require web code to expose extra data to servers, and use extra network bandwidth, for use cases that native apps can achieve locally.

[12:57:59.0000] 
I think that's a good place the spec could be improved: nail down a little more precisely what these detectors actually detect.

[12:58:35.0000] 
That said, it also seems bad to forbid UAs from improving their object detection.

[12:59:28.0000] 
jyasskin: how is this API supposed to be implemented when it doesn't define what to do?

[13:03:49.0000] 
Taking just https://wicg.github.io/shape-detection-api/#barcode-detection-api, the spec seems clear enough: it identifies QR codes (it should link to ISO/IEC 18004:2015 or similar to define that) in an image. It doesn't say how to do that, and different implementations might do a better or worse job, making testing difficult, but IIRC the same is true of

[13:03:49.0000] 
font rendering.

[13:10:32.0000] 
qr code detection using JS isn't exactly hard

[13:11:08.0000] 
smaug@ help me understand your concerns

[13:11:41.0000] 
my concern is to add API which can be implemented on top of other stuff and/or adding API which isn't defined properly

[13:11:42.0000] 
the API is not providing any sw-fallback. If there's hw acceleration sitting there in the platform, it'll be surfaced; otherwise is JS-business as usual

[13:12:07.0000] 
currently the draft is more like an idea

[13:12:44.0000] 
the API is the simplest you can find, and mimics the underlying Hw/OS: pass a single image, get the metadata back

[13:12:50.0000] 
near-zero state

[13:13:37.0000] 
which Hw/OS?

[13:13:56.0000] 
mcasas: I think smaug wants a more rigorous definition of what the HW/OS actually do.

[13:13:56.0000] 
and it lends itself nicely to a polyfill: if there is hw acceleration, use it, otherwise fallback to one of a number of JS libraries implementing, e.g. Face Detection

[13:14:09.0000] 
Yeah, let me pull some links

[13:14:50.0000] 
we shouldn't add APIs which possibly require polyfills to the platform

[13:15:55.0000] 
smaug: So you'd be happier if the spec required UAs to include the software fallback?

[13:16:15.0000] 
People going to TPAC, where are you staying?

[13:16:49.0000] 
Currently there are a number of JS libraries providing Face Detection. My idea was that, if the platform (i.e. the OS) provides hardware acceleration for such tasks, developers can use it, saving CPU and battery/energy.

[13:16:58.0000] 
jyasskin: right, and some kind of default algorithm how it all should work

[13:17:02.0000] 
AVFoundation face detection is implemented here: https://developer.apple.com/library/ios/documentation/CoreImage/Reference/CIDetector_Ref/

[13:17:26.0000] 
UAs would be then free to implement it all using HW or whatnot, but the end result should be still the same

[13:17:27.0000] 
(-featuresInImage: is the function to actually detect)

[13:18:25.0000] 
Android has the FaceDetector class: https://developer.android.com/reference/android/media/FaceDetector.html

[13:18:38.0000] 
the method being findFaces(...)

[13:18:55.0000] 
mcasas: and what about desktop OSes?

[13:18:58.0000] 
Ever since the OpenCV implementation in ~2000, all Face/shape detectors work pretty much the same

[13:19:15.0000] 
so hardware manufacturers just took that pseudo-API

[13:19:34.0000] 
Desktop OSes: I've only seen hw implementation in MacBooks

[13:20:00.0000] 
some USB sophisticated cameras have that as well

[13:20:34.0000] 
mcasas: ok, so you'd have sw implementation on Windows and Linux and others

[13:20:50.0000] 
JS comparison of libraries doing face detection: https://github.com/mtschirs/js-objectdetect#performance

[13:21:18.0000] 
Re. having a sw fallback implementation: I don't think the browser should include such a large piece of code, for a perhaps-not-too-popular use case.

[13:21:44.0000] 
If the platform has some accelerated capabilities, the browser may offer them, but the sw-fallback would be getting into deep waters

[13:22:02.0000] 
mcasas: so browsers would ship this API only on mobile and OSX?

[13:22:07.0000] 
that would be quite some new API

[13:22:14.0000] 
(by "deep waters" I mean e.g. what algorithm to provide, etc)

[13:22:32.0000] 
mcasas: The CIDetector_Ref API documentation is much less precise than we're used to for web specs. It may be as precise as it can be, given the freedom we want to give implementations to optimize and improve their detection, but you should try to defend that.

[13:23:05.0000] 
(We could move that to an issue on https://github.com/WICG/shape-detection-api/issues.)

[13:23:12.0000] 
the proposed API would reject the Promises if the underlying platform does not provide such acceleration

[13:23:24.0000] 
it's similar to e.g., having a gps unit or not,

[13:23:29.0000] 
or having a compass

[13:23:47.0000] 
but yeah, feel free to open bugs to the wicg spec

[13:49:18.0000] 
Windows 10 has built-in face detection I am pretty sure

[13:49:30.0000] 
i will never use that malware

[13:51:35.0000] 
domenic@: investigating. Would love to have more platforms.

[13:52:02.0000] 
Windows.Media.FaceAnalysis

[13:52:22.0000] 
https://msdn.microsoft.com/library/windows/apps/dn974129

[13:54:55.0000] 
jez9999: Please stay civil on this forum.

[13:55:05.0000] 
how is that uncivil?

[13:56:28.0000] 
https://msdn.microsoft.com/library/windows/apps/windows.media.faceanalysis.aspx yeah, now the question is if that's accelerated in any way (probably yes)

[13:57:06.0000] 
Surfaces come with these Intel depth cameras for real face detection (so you can't fool them by holding up a picture). I guess that's a whole nother thing

[13:59:47.0000] 
jez9999, i'm not sure how calling an entire software package malware without good reason is considered civil

[13:59:58.0000] 
i have perfectly good reason

[14:02:10.0000] 
jez9999: regardless, it's not appropriate for this channel.

[14:08:10.0000] 
Yes, most important is that it's off-topic and annoying.

[14:14:49.0000] 
To be fair there has traditionally been a very loose sense of "off topic" in this channel

[14:34:45.0000] 
Yeah, but context-free "windoze sux lololol" is definitely outside of the topic, whatever it is.


2016-09-13
[17:50:44.0000] 
annevk: For Document and ASCII case-insensitive, should I be reffing DOM or HTML?

[20:27:42.0000] 
This is a good question

[20:27:52.0000] 
I guess Document should probably be DOM

[20:27:54.0000] 
HTML is partial

[20:28:28.0000] 
Maybe we should consolidate the string stuff in one of the two specs

[23:15:29.0000] 
annevk: the min 1s timeout in background tabs isn't spec'ed anywhere, right?

[23:15:56.0000] 
it is just spec'ed that UA is allowed to do something like that

[23:16:11.0000] 
smaug: think so

[23:16:18.0000] 
k

[00:56:19.0000] 
zcorpan: I guess I'll leave that PR to Domenic

[00:56:21.0000] 
zcorpan: seems like he knows what needs doing

[00:56:41.0000] 
sounds like a good idea :-)

[00:57:02.0000] 
Anything else someone wants me to look at? I'm back to being fulltime available for the remainder of this week

[02:16:33.0000] 
annevk: why add a separate file instead of changing cross-origin-objects.html directly?

[02:17:37.0000] 
zcorpan: because bholley wanted points for throwing "whatever" exceptions

[02:18:02.0000] 
zcorpan: long term it should just be one file

[02:18:42.0000] 
annevk: ok

[05:06:48.0000] 
tobie: Ping for a quick specref question. You around?

[05:07:17.0000] 
mkwst: yes

[05:08:39.0000] 
tobie: https://w3c.github.io/webappsec-csp/ is pointing to CSP1 for some IDL references. I'm sure half of this is a bikeshed issue, but I think the other half is specref/W3C not being clear about the relationship between CSP{1,2,3}.

[05:09:46.0000] 
https://specref.herokuapp.com/bibrefs?refs=CSP shows an `aliasOf` CSP1, for instance. CSP{2,3} don't seem to fit into that chain. Is this a red herring, or can I poke at the data somewhere to link these together?

[05:10:57.0000] 
/me looking

[05:13:42.0000] 
mkwst: so…

[05:14:27.0000] 
mkwst: the aliasing bit comes from W3C

[05:15:27.0000] 
what should it alias to? CSP2 or CSP3?

[05:15:50.0000] 
(it could also be a bug in the import script, LMK check)

[05:16:15.0000] 
Ideally, CSP would mean CSP3. And CSP2 and CSP1 would be obsoleted.

[05:16:38.0000] 
I have no idea how the W3C represents this data, so I'm happy to believe that that's the issue. :)

[05:17:19.0000] 
tobie: seems DOM xref "call a user object's operation" to IDL broke

[05:17:51.0000] 
mkwst: in RDF, what else?

[05:17:54.0000] 
:D

[05:18:12.0000] 
tobie: Ah. Not JSONLD? I thought that was the new hotness.

[05:18:41.0000] 
mkwst: think there is one such API that happened since

[05:19:11.0000] 
annevk: yeah, I think the apostrophes caused issues

[05:19:36.0000] 
tobie: they don't in bikeshed

[05:19:57.0000] 
tobie: I guess it's fairly new so I could change DOM, but it seems nicer not to have to add an lt=""

[05:20:16.0000] 
annevk: let me look into this

[05:20:35.0000] 
ta

[05:22:07.0000] 
mkwst: so… the redirects on TR point to CSP2 while the ones in the RDF file point to CSP1

[05:22:28.0000] 
tobie: who should I poke?

[05:22:53.0000] 
plh?

[05:23:11.0000] 
mkwst: no there's an email address, let me check

[05:25:23.0000] 
mkwst: sysreq⊙wo

[05:26:06.0000] 
mkwst: you want to tell them to change the following in https://www.w3.org/2002/01/tr-automation/tr.rdf:

[05:26:08.0000] 
Ok. And I'll say "The RDF file is wrong. You know. The RDF file. That you use. For the thing."

[05:26:17.0000] 
Thanks. ;)

[05:26:59.0000] 
mkwst: here's the content they'll want to modify:

[05:27:04.0000] 
https://www.irccloud.com/pastebin/I4XHs8XV/

[05:27:54.0000] 
You can always /cc me on the mail: tobie⊙cc

[05:28:12.0000] 
mkwst: that said, I'm not sure this will magically fix your IDL issue

[05:28:43.0000] 
mkwst: as I'm not sure how exactly Tab handles this in Bikeshed

[05:28:50.0000] 
Like I said, I'm sure half of it is me holding Bikeshed wrong.

[05:29:09.0000] 
But the CSP1 reference is weird enough that I'm sure the W3C is somehow responsible. :)

[05:29:18.0000] 
mkwst: well, that needed fixing anyway

[05:29:32.0000] 
mkwst: plus you might ask them to fix the redirects on TR while you're at it

[05:29:47.0000] 
mkwst: it would be nice to have more consistency there, tbh

[05:31:30.0000] 
is there something I can do about it, other than writing this email?

[05:31:44.0000] 
like, some structure I (or Bikeshed?) should be adding to the published documents?

[05:36:29.0000] 
annevk: this seems to be a line break issue in the original spec

[05:36:39.0000] 
(Emailed. Thanks for the help, tobie!)

[05:36:49.0000] 
mkwst: np

[05:37:59.0000] 
Is this spec governed by WhatWG: https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API

[05:38:41.0000] 
mkwst: regarding the shortname -301-> shortname[LEVEL], this is done in a completely ad-hoc manner

[05:38:46.0000] 
jez9999: it's part of html.spec.whatwg.org/multipage

[05:39:06.0000] 
mkwst: generally this is reflected automatically in the rdf file, but sometimes not

[05:40:59.0000] 
annevk: the x-ref seems to WFM

[05:41:07.0000] 
annevk: did you fix things already?

[05:41:12.0000] 
/me is confused

[05:43:16.0000] 
tobie: I get a warning locally when generating DOM

[05:43:31.0000] 
annevk: oh

[05:43:34.0000] 
annevk: i see that it defines the event handlers that must be supported by all HTML elements, but is there anywhere where it actually defines the behaviour of the drag/drop API events?

[05:44:06.0000] 
annevk: what does the warning say?

[05:44:41.0000] 
tobie: "No 'dfn' refs found for 'call a user object's operation'"

[05:45:11.0000] 
tobie: it seems this isn't really introduced by you though, since afaict this should just work

[05:45:32.0000] 
annevk: I mean, it works now...

[05:45:45.0000] 
annevk: so I don't know

[05:45:59.0000] 
tobie: I'm guessing Shepherd is doing something wrong hmmmmm

[05:46:16.0000] 
annevk: might have to do with line breaks that I removed

[05:47:04.0000] 
annevk: there was a line break in the middle of the text before the bikeshed conversion

[05:47:27.0000] 
annevk: so if something along the pipeline is sensitive to this, it might be causing the problem

[05:47:31.0000] 
tobie: that'd be a very weird

[05:48:54.0000] 
tobie: filed https://github.com/tabatkins/bikeshed/issues/815

[05:49:09.0000] 
Suggestion: https://html.spec.whatwg.org/#datatransferitem

[05:49:24.0000] 
a DataTransferItem should allow the code to see whether it is a file or folder.

[05:50:11.0000] 
alternatively, the DataTransferItemList interface could allow Chrome's .getAsEntry() method, which can be a FileEntry or a DirectoryEntry

[05:50:16.0000] 
see: https://developers.google.com/web/updates/2012/07/Drag-and-drop-a-folder-onto-Chrome-now-available?hl=en

[05:50:40.0000] 
jez9999: there should be a processing model somewhere in the spec

[05:50:49.0000] 
processing model?

[05:50:50.0000] 
jez9999: that defines when events are dispatched (and where)

[05:51:08.0000] 
jez9999: as for new features, best to file GitHub issues for those

[05:51:18.0000] 
annevk: yeah i'm talking about the definition of the event received by ondrop

[05:51:29.0000] 
where's the place on github to file?

[05:51:44.0000] 
jez9999: and keep https://wiki.whatwg.org/wiki/FAQ#Is_there_a_process_for_adding_new_features_to_a_specification.3F in mind, though if a feature already has an impl it definitely deserves to be filed

[05:51:53.0000] 
jez9999: https://github.com/whatwg/html/issues/new is the place

[05:51:58.0000] 
ok

[06:03:58.0000] 
annevk: https://github.com/whatwg/html/issues/1777

[07:06:29.0000] 
JakeA: can https://github.com/w3c/ServiceWorker/blob/master/Makefile be removed?

[07:10:42.0000] 
annevk: hah, yeah. *gone*

[07:12:07.0000] 
JakeA: also, it seems "assets" in spec/ can be removed?

[07:12:21.0000] 
JakeA: and the contribution guidelines should no longer talk about the web components framework?

[07:15:56.0000] 
JakeA: means you can get rid of .gitmodules

[07:18:06.0000] 
annevk: agreed. Fixing now. Also want to make https://w3c.github.io/ServiceWorker/ the spec url

[07:18:27.0000] 
JakeA: that'd be nice

[07:19:13.0000] 
annevk: I don't have admin rights, I guess I'm not allowed them, but will ask w3 folks to make the changes

[07:20:41.0000] 
MikeSmith, give the man access already

[08:25:17.0000] 
annevk: done the cleanup, and waiting on a switch to be flipped for moving the spec to /

[08:25:24.0000] 
https://github.com/w3c/ServiceWorker/issues/966#issuecomment-246709306

[08:28:55.0000] 
JakeA: saw that, hope it works out

[08:28:59.0000] 
and thanks

[08:58:18.0000] 
https://browser-issue-tracker-search.appspot.com/ looks useful

[08:59:02.0000] 
Hmmm still pretty WIP I guess

[08:59:38.0000] 
https://browser-issue-tracker-search.appspot.com/?q=same-origin%20data%20URL

[09:56:17.0000] 
http://stackoverflow.com/questions/15363632/background-size-contain-but-dont-scale-up

[09:56:28.0000] 
are there any plans to fix this?  it seems crazy that there is no way to do this in CSS

[10:07:17.0000] 
Hey TabAtkins, https://html.spec.whatwg.org/multipage/dom.html#document has data-dfn-lt="", but `bikeshed refs --text Document` still finds it.

[10:42:32.0000] 
Ugh, I'll bet Shepherd's heuristic mode is just looking for that being falsey and using the text instead. I'll bug plinss.


2016-09-19
[01:46:11.0000] 
Domenic: annevk: happy to look at particular fetch+streams issues during the service worker meeting tomorrow since we're in the same building

[01:49:35.0000] 
sg

[02:12:47.0000] 
esprehn: ok, the global delayed microtask delivery point would still be consistent, so I can buy that. I assume it would be per global and not per connected-same-origin-global or such

[02:14:00.0000] 
mkwst: https://bugzilla.mozilla.org/show_bug.cgi?id=1302539 seems weird?

[02:34:09.0000] 
yoav: FWIW https://twitter.com/annevk/status/777800561366274048

[02:34:23.0000] 
FYI, really

[02:35:13.0000] 
annevk: Saw it :)

[02:35:44.0000] 
not my call, but I think we should just break those pages and make them feel bad about themselves

[02:35:54.0000] 
(assuming usage is low enough)

[02:38:37.0000] 
Hi! Yeah, WebKit/Blink never implemented `nosniff` for anything other than script and style. From a security perspective, there didn't seem to be much value to doing so.

[02:38:48.0000] 
If it's hurting interop, it's certainly something we could investigate doing.

[02:38:57.0000] 
Do y'all have any numbers?

[02:39:32.0000] 
If only someone wrote a fucking spec when it was implemented

[02:40:14.0000] 
Ms2ger: Eh. It's an artifact from a different era. I think it shipped in IE8 or something.

[02:42:11.0000] 
Like I said, if Chrome's behavior is breaking Firefox, then it's something we should address. But Chrome's behavior hasn't changed in at least ~3 years, so...

[02:47:37.0000] 
mkwst: I asked for numbers in the bug

[03:19:11.0000] 
annevk: now would be a the right time to visit the Web Payments room

[03:19:48.0000] 
same for anybody else here who’s interested in the payments stuff

[03:19:57.0000] 
MikeSmith: What's the topic?

[03:20:54.0000] 
mkwst: Rouslan talking about the Chrome implementation of the PaymentRequest API

[03:21:21.0000] 
MikeSmith: stuck elsewhere

[03:21:30.0000] 
and in general about POV from implementors

[03:21:34.0000] 
annevk: ok

[03:21:55.0000] 
smaug: yeah per global, I don't understand the implementation complexity there since our microtask queue is inside v8 though

[03:22:18.0000] 
we're about to reach testing in the CSS WG, FWIW

[03:26:17.0000] 
esprehn: in Gecko microtask handling (used by MutationObserver, not Promises yet) could be quite easily modified to that delivery happens at end of task. I think. Except in case one MutationObserver is used to observe changes from a normal document _and_ changes form a document where delayed delivery is needed

[03:26:26.0000] 
hmm, I guess that should be reasonable easy too

[03:27:33.0000] 
(need to still sort out microtask handling in the spec too. I think there are couple of bugs and it is unclear to me why there ended up this special microtask thingie for mutation observers.)

[03:27:48.0000] 
okay

[03:28:27.0000] 
I need to think about the complexity of delivering for some documents and not others. I was imagining that the thing doing the calling skips it, so it'd be all contexts that would be invoked there

[03:29:11.0000] 
ex. a child iframe that does parentWindow.requestAnimationFrame or a childWindow.mutationObserver.observe(parentWindow) wouldn't make it behave different

[03:29:45.0000] 
if that's what you're suggesting, but it might be possible :)

[03:33:54.0000] 
esprehn: so if the behavior is per global and parent window has delayed mt but child doesn't, and childWindow's MO observes itself and parent, that is the case I'm talking about

[03:36:13.0000] 
I still wonder if the issue could be solved in Custom elements level

[03:37:22.0000] 
maybe not

[03:38:54.0000] 
it could be solved there, that during parsing callbacks are called at the end of the task

[05:42:59.0000] 
CSSWG seems to be discussing XSL:FO

[05:43:03.0000] 
What year is it?

[05:47:35.0000] 
Nah mang it's dead.

[05:47:54.0000] 
But still had some useful things that we had plans to import, if someone will actually do the work to dig it out.

[07:31:05.0000] 
Ms2ger: Earlier they were discussing tables. Next up jsss

[07:32:52.0000] 
spaces gifs were also mentioned

[15:22:54.0000] 
I have a map from shorts to a particular dictionary type ({data:BufferSource, mask:BufferSource}), to express as an argument to a function. I want to have folks just pass objects, but getting the k/v pairs out is pretty hard to express in WebIDL. My fallback is to express it as an array of {id: short, data: bufferSource, mask: BufferSource}, and I'm leaning

[15:22:54.0000] 
toward that. Anyone have preferences?


2016-09-20
[01:13:29.0000] 
jyasskin: Shouldn't make decisions based on what is easiest in WebIDL, particularly since this is just prose handling.

[02:00:06.0000] 
longdesc brought up in the CSS WG / APA joint meeting. I just don't even.

[02:05:42.0000] 
Brought up by the a11y people in an offhand comment, with the rest of us groaning and shushing.

[02:13:35.0000] 
TabAtkins: don't forget the creepy voice version of LOOOONGDESC

[02:13:36.0000] 
we really needed video (or at least audio) of that

[02:27:00.0000] 
jyasskin: maybe also propose the API sketch on public-script-coord

[03:25:57.0000] 
https://news.ycombinator.com/item?id=12520865 sounds like it might be a parser bug?

[03:26:19.0000] 
like, the whitespace difference?

[03:48:52.0000] 
jyasskin: you at TPAC?

[06:48:10.0000] 
hey annevk, you busy? I have some follow-up questions regarding https://github.com/w3c/web-platform-tests/pull/3592 (nothing urgent though)

[06:49:30.0000] 
gsnedders: jyasskin is not at TPAC

[06:49:34.0000] 
kk

[08:04:55.0000] 
FND: next week would be much easier

[08:05:43.0000] 
that's cool, annevk - I've left a few comments on the PR (it seems like we need to make sure we're observing the same behavior), so we can continue asynchronously

[08:09:44.0000] 
annevk: Domenic: when are you going to fix session history in the spec? :)

[08:10:12.0000] 
smaug: some time after TPAC and TC39? I was hoping those researchers would answer more of my questions but I think I can do the work myself.

[08:10:14.0000] 
/me is trying to design this shadow dom part, and would like to rely on the behavior Gecko has for dynamically added iframes

[08:10:28.0000] 
Domenic: TC39 is when ?

[08:10:33.0000] 
smaug: next week

[08:10:48.0000] 
Domenic: indeed would be good to get some feedback from servo folks

[08:31:09.0000] 
gsnedders: I'm still on the U.S. west coast. jsbell's my designated proxy if you need to talk to someone in person, and he's probably more knowledgeable about testing than me anyway.

[08:34:47.0000] 
jyasskin: jsbell's here? huh. haven't seen him. :)

[08:35:06.0000] 
He might only have arrived today.

[08:36:13.0000] 
/me has not see him yet but I was not in the SW meeting or wherever else he might have been

[08:40:38.0000] 
Hi! The HTML5 validator at https://html5.validator.nu/ returns an server error when validation a html text: 500 Internal Server Error nginx/1.11.4

[08:42:07.0000] 
Any idea who can look into the validator error message?

[08:43:26.0000] 
hsivonen: ⬆

[08:43:46.0000] 
LeoLux: use https://checker.html5.org/ instead for the time being

[08:44:11.0000] 
they are exactly the same backend

[08:44:34.0000] 
Ok, testing the same input at the moment...

[08:45:18.0000] 
yes, this site works! Thanks Mike!

[08:45:51.0000] 
cheers

[13:21:11.0000] 
TabAtkins, annevk: Thanks for the API advice. I'll send a sketch to public-script-coord.


2016-09-21
[02:47:51.0000] 
annevk: can you connect to moznet?

[03:09:06.0000] 
smaug: I'm there, no?

[03:16:05.0000] 
annevk, yeah

[06:21:25.0000] 
anybody know what channel the Intersection Observer sesssion is in?

[06:23:32.0000] 
also the WebIDL discussion

[06:24:15.0000] 
annevk, ^

[06:25:02.0000] 
MikeSmith: webidl isn't minuting - we're doing #webapps for passing links and such, but are otherwise summarizing in https://public.etherpad-mozilla.org/p/webidl

[06:25:04.0000] 
webidl is in #webapps, but we're not taking minutes (there's an etherpad for results)

[06:25:07.0000] 
MikeSmith: IDL is in 5C

[06:25:22.0000] 
oh channel

[06:25:23.0000] 
doh

[06:33:50.0000] 
what about manifest? any idea?

[06:34:39.0000] 
manifest/publications is in #collection

[06:41:56.0000] 
I guess nobody is in the Intersection Observer session

[06:43:00.0000] 
You can't observe an intersection between the atendees and people in this channel?

[06:55:57.0000] 
JakeA: can you think of a reasonable use case for keeping a FetchEvent.resolveWith() open for longer than 5 minutes *without* streams?

[06:57:26.0000] 
wanderview: not that I can think of

[06:58:14.0000] 
JakeA: thanks!  I guess chrome does not have any kind of kill timer on FetchEvent.respondWith(), right?

[06:58:42.0000] 
wanderview: I don't think so

[06:59:12.0000] 
JakeA: does chrome kill the worker if FetchEvent.respondWith() is holding it alive, but then the last controlled window is closed?

[06:59:51.0000] 
wanderview: hmm, I don't know :(

[07:00:02.0000] 
ok, thanks

[07:00:40.0000] 
JakeA: we currently have a 5 minute kill timer on FetchEvent.respondWith()... we'll have to remove it once we get stream support, but I worry about the case where the window is closed while its being held alive...

[07:56:41.0000] 
JakeA: did you guys discuss this SW issue at all yesterday? https://github.com/w3c/ServiceWorker/issues/962

[07:57:47.0000] 
JakeA: seems in-process memory caches offer order-of-magnitude perf benefits... so enabling those should probably be a priority even if impls aren't there yet

[08:40:06.0000] 
wanderview: we didn't discuss it, but it still doesn't feel like a service worker thing. More that we need programmatic access to something like the img cache

[08:51:43.0000] 
mkwst: so in your idea of isolation, how does a domain tell it wants isolation? Would that be part of origin-policy-manifest?

[08:53:53.0000] 
mkwst: and another question... since I think what some people at mozilla have been thinking about - the process isolation to get clean addressspace on 32bit, is in many ways still very similar to your idea of isolation, how could these two ideas be merged

[09:07:30.0000] 
mkwst: and nm, you answered to my questions :)

[09:08:59.0000] 
JakeA: its more that the service worker needs a way to hint "I'm not going to change this resource every time its accessed" so the browser can then do higher level caching

[09:09:28.0000] 
wanderview: what's the lifetime of that statement?

[09:09:50.0000] 
JakeA: till the service worker that served the response goes Redundant

[09:10:51.0000] 
wanderview: ohhh ok. Static routes? :D

[09:11:48.0000] 
JakeA: that could have a similar effect, but not necessarily the same thing

[09:12:17.0000] 
JakeA: static routes feels closer to http cache to me (on disk) vs allowing the browser to do memory caches that sit on top of http cache

[09:13:07.0000] 
wanderview: welllll these aren't memory caches if their lifetime is tied to the SW, as the SW survives if the browser is closed & reopened

[09:13:58.0000] 
JakeA: I meant SW going redundant would be upper bound on these caches... browser free to not cache at all or cache sometimes up until then

[09:14:10.0000] 
JakeA: or cache until a memory limit is hit, etc

[09:14:33.0000] 
wanderview: I guess I'm worried about "what if something ends up in that cache by accident?"

[09:14:48.0000] 
would you have an API to remove items from that cache?

[09:16:07.0000] 
JakeA: we could say hard-refresh also requires revisiting SW... but by "accident" you mean SW didn't intend to put the "allow extra caching" bit on the response, but did anyway, and now it regrets that decision?

[09:16:48.0000] 
wanderview: Yeah. Like "whooops I put a 404 in there"

[09:16:55.0000] 
JakeA: I view this like cache-control:immutable, but between the SW and higher level caches

[09:17:29.0000] 
JakeA: not sure why the browser would choose to cache a failure response

[09:19:33.0000] 
wanderview: I guess it depends what the API looks like. If I pass a response to something and say "please memory-cache this response for this request", it might be weird if it sometimes decides not to do that

[09:20:01.0000] 
JakeA: its not saying "please memory cache it"... its saying "its ok if you choose to memory cache it because I'll never return a different value"

[09:22:39.0000] 
wanderview: I think I need to think about this more when I'm not tired and grumpy :D struggling to imagine the API

[09:23:15.0000] 
JakeA: if you think of cache-control as a hint from the server to browser http-cache... something similar from SW hinting to a higher level browser memory cache

[09:23:19.0000] 
JakeA: but yes, get some sleep\

[09:30:54.0000] 
wanderview: the tough part is where to put that signal. respondWith is too early, and it's tough to add things to response objects

[09:31:33.0000] 
JakeA: why is respondWith() too early?  it could certainly be added there for anything that is pre-cached at install time

[09:33:19.0000] 
I mean, you would add this extra header or whatever when you do the pre-cache in the install event

[09:35:10.0000] 
wanderview: maybe it's fine, but having to decide this synchronously when you can decide the response async could be weird

[09:36:13.0000] 
JakeA: I would say the more dynamic the response the less likely this thing should be used... again this is an opportunistic optimization and shouldn't be required for every response

[09:36:54.0000] 
but this also seems like a space where browsers could experiment without too much compat risk

[16:48:10.0000] 
heh, nice nuclear attack in the blog post

[16:48:29.0000] 
what just happened?

[16:49:29.0000] 
https://blog.whatwg.org/drm-and-web-security

[16:49:40.0000] 
I mean, I'm obviously exaggerating, but :-)

[16:57:17.0000] 
woah, so much animosity towards W3C

[16:57:38.0000] 
but that's why WHATWG was created in the first place, wasn't it?

[16:57:52.0000] 
because W3C published standards that nobody was willing to implement

[16:58:00.0000] 
and totally out of touch with reality


2016-09-22
[17:00:41.0000] 
certainly this is a somewhat different axis of disagreement

[17:46:07.0000] 
"Members of the World Wide Web Consortium (W3C) are getting ready to launch the HTML 5.1 specification and have already started work on the upcoming HTML 5.2 version since mid-August."

[17:46:15.0000] 
What happened to "HTML now has no version number"?

[17:46:28.0000] 
I guess that lasted until they decided to make a 5.1.

[17:46:34.0000] 
Wasn't it supposed to be a "living standard"?

[17:47:23.0000] 
I've still no idea how much of HTML 5 I understand. Maybe there are features in it that I would find useful, such as a native way to "uncheck/check all checkboxes with this class".

[17:47:42.0000] 
There is a distinct lack of good summaries.

[17:50:08.0000] 
i don't think it matters much though, i believe browsers are following WHATWG's HTML spec instead?

[17:51:44.0000] 
KiChjang: yes, browser developers are largely following WHATWG HTML, except maybe Microsoft Edge.

[17:52:16.0000] 
athenes19, W3C still publishes versioned HTML specs for reasons

[17:52:23.0000] 
Is the WHATWG one better? Does it have version numbers?

[17:52:27.0000] 
athenes19: W3C is continuing with "versioned" HTML 5.x "snapshots" which are following a different criteria/path in terms of stability / modularization

[17:52:43.0000] 
WHATWG's HTML spec is a living document

[17:52:50.0000] 
Seems like W3C is the sane one for once... in that particular aspect.

[17:53:01.0000] 
But otherwise, I have nothing but contempt for W3C.

[17:53:07.0000] 
athenes19: no version numbers fo the WHATWG one, it tends be more up to date (bug fixes etc.) and have more prospective features that are in progress.

[17:53:10.0000] 
Or W3 or WC whatever they call themselves this week.

[17:53:44.0000] 
athenes19: W3C has a different way of working with HTML 5.x than WHATWG has with HTML

[17:54:08.0000] 
athenes19: sorry to hear about the "nothing but contempt" - I mean, it's likely not worth your energy to feel such contempt.

[17:54:44.0000] 
OTOH if there's a specific bad behavior you know of from W3C (spec, working group etc.) please feel free to let me know (citations helpful) and I'll see what I can do about it.

[17:55:07.0000] 
The main thing I like about "HTML 5" (I hate how this is such a "volatile" standard) is how it enabled a lot of simplification of insanely verbose code from 4.01.

[17:55:57.0000] 
Such as