2016-11-01 [20:14:46.0000] anybody else having problems with GitHub issues right now? [20:14:53.0000] yep, 500s [20:14:56.0000] getting 500s [20:14:58.0000] ah OK [20:15:29.0000] well rhwn I guess I need to find something else to do for a while [20:28:45.0000] kinda weird that affects only some issues/PRs but not others [01:00:06.0000] MikeSmith: the app is probably running on multiple servers in parallel [01:14:08.0000] marcosc: re permission spec, have you considered opening up the API to ask for permission passing an object, not a string, e.g.: [01:14:38.0000] let gyro = new Gyroscope(); permissions.request(gyro).then... [01:15:50.0000] Developers wouldn't need to know what permissions they would need for an object, just pass the object instead to be able to use it. [02:10:12.0000] mounir: ^ [03:02:06.0000] tobie: the permission request takes an objec [03:02:25.0000] tobie: but it's not a random object [03:09:28.0000] Mounir: I know. I'm asking if you've considered a mechanism by which you'd ask for permission not by using a string or permDesc object that you had to know about as a developer, but just create the object you need and pass it to the permission API to get permission to use it. [03:10:10.0000] tobie: no, it wasn't [03:11:10.0000] mounir: would you, though? [03:12:41.0000] tobie: I no longer actively work on this so my opinion probably doesn't matter [03:13:19.0000] mounir: who does? [03:13:33.0000] tobie: but I have two concernS: you will have to have a way thot doesn't take an object and the object solution sounds really hard to spec [03:13:54.0000] or it would have to be spec'd in the client spec which might be fine [03:13:57.0000] tobie: jeffrey [03:14:27.0000] but I think he is on paternity leave so might be hard to get a hold of him [03:14:42.0000] mounir: indeed [03:15:12.0000] The objects could expose a special property or method. [03:15:51.0000] That would hold a perm descriptor. [04:56:48.0000] MikeSmith: can you rebuild the checker so the messages use the current spec's content models in the error messages? [04:57:00.0000] yeah [04:57:06.0000] lemme do that right now [04:57:20.0000] šŸ‘ [05:04:43.0000] zcorpan: ok, now updated [05:05:31.0000] MikeSmith: thanks [05:06:13.0000] thanks for the heads-up about it [05:06:32.0000] the excerpts were out of date in other places as well [05:07:28.0000] MikeSmith: what are the steps to fix this locally? i tried `python ./build/build.py all` but it uses the old messages [05:08:35.0000] yeah it does not download the spec copies automatically at startup as it does for the wiki things [05:08:39.0000] you need to do this: [05:08:40.0000] cd resources/spec && make update && make [05:10:27.0000] ok. would it be a good idea to have that happen as part of build.py, so it is kept up-to-date? [05:27:49.0000] zcorpan: yes it would be right now it would then add a new requirement that anybody running the python build script would also need to have make make(1) installed [05:28:30.0000] so I think the right way to do it would be to move it into the python script [05:28:35.0000] MikeSmith: ah ok, yeah [05:28:54.0000] anyway I think that is not much work [05:28:59.0000] will take a look right now [05:31:01.0000] OK yeah it should be relatively easy [05:36:34.0000] zcorpan: https://github.com/validator/validator/issues/393 [06:49:56.0000] tobie: I'd like to make some progress on https://www.w3.org/Bugs/Public/show_bug.cgi?id=27301 [06:50:34.0000] tobie: if we were to expose "this object", what would we call it and how would we expose it (argument vs ambient value)? [06:50:58.0000] tobie: the "context object" thing from DOM is still spreading and that's not particularly great for a hack [06:53:29.0000] I'm busy with the sensor work atm (and also admin stuff), was planning to spend Thursday + Friday on WebIDL this week. [06:53:52.0000] annevk: would you be available to chat about this on either one of these days? [06:54:36.0000] annevk: it would be useful to get me up to pace. [06:54:46.0000] tobie: sounds good [06:54:52.0000] annevk: cool [07:10:14.0000] annevk: fwiw, I don't really like ambient values, I think it makes everything harder to reason about and adds magic. [07:10:43.0000] tobie: fair, but note that the alternative will be a ton of work [07:10:51.0000] tobie: and even more refactoring of all the things [07:11:01.0000] annevk: oh--well in that case... :D [07:11:32.0000] Anyone happen to know if it is ok to do (trying to figure out how to convert manifest icons to a srcset) [07:14:09.0000] daleharvey: I think you're supposed to do src="source.png" srcset="small.png 100w" [07:15:42.0000] annevk: tobie: I think it should be either "this value" (like ES), "this" in some special font/bold (nice and short, and helps with internal slots like this.[[foo]]; streams does this); or maybe "this X object" (very precise, what we're doing in HTML these days). [07:15:59.0000] I guess I should leave that comment on the bug [07:16:52.0000] Domenic: ok cool cheers [07:17:20.0000] I'd like just "this" [08:36:29.0000] MikeSmith: FYI I failed to push changes to jdm's web-platform-test branch using checkout-pr; https://github.com/w3c/web-platform-tests/pull/1427#issuecomment-257593016 [08:51:07.0000] zcorpan: what failed? does jdm have the branch writable by you? [08:51:30.0000] MikeSmith: he said he checked the checkbox in the PR [08:51:41.0000] MikeSmith: git push failed [08:51:53.0000] OK that sounds like a github bug [08:52:20.0000] checkout-pr is not doing anything special in that regard as far as I can see [08:52:30.0000] yeah [08:53:06.0000] you using the https URL for the remote, not the ssh one? [08:53:27.0000] if so I wonder if that may affect it [08:53:46.0000] I have never tested myself with https URLs for PRs [09:18:21.0000] zcorpan: I also get ā€œERROR: Permission to jdm/web-platform-tests.git denied to sideshowbarker.ā€ when using the SSH URL for that remote [09:18:28.0000] when trying to push [09:18:55.0000] using https, yes [09:20:06.0000] yeah so it seems like if jdm has the box checked, tehre must be some github bug causing it to not actually be making the branch writeable by upstream committers [09:58:29.0000] Is there a best practice to write an async abstract operation that returns a value? [10:18:28.0000] tobie: not really yet but I have done e.g. https://html.spec.whatwg.org/multipage/webappapis.html#fetch-a-classic-worker-script [10:19:09.0000] Domenic: thanks. Will have a look. [12:15:32.0000] Domenic, daleharvey: Domenic's suggestion (putting the "plain" one in src) is preferred, but just for back-compat. The two are otherwise equivalent. [13:21:41.0000] tobie: returns a value sync (early) or when the async part is finished? [13:22:07.0000] zcorpan_: the latter [13:22:29.0000] I need algo prose for Promise.all([...]) [13:23:38.0000] That exists in the Promises Guide [13:23:50.0000] waiting for all [13:23:58.0000] It's not defined super-great but it's what we've got for now [13:24:08.0000] https://www.w3.org/2001/tag/doc/promises-guide/#aggregating-promises [13:24:15.0000] Whoops, beat me. [13:25:33.0000] TabAtkins, Domenic: except its for abstract operations which don't return a promise (the resolved value isn't exposed, e.g. getting a permission or figuring out if a sensor is present) [13:26:32.0000] Ah, so you've got some async abstract ops, not user-exposed, that you want to do *the equivalent of* Promise.all on? [13:27:10.0000] Oh dang yeah [13:27:15.0000] I think I did that for modules too [13:28:21.0000] tobie: https://html.spec.whatwg.org/#fetch-the-descendants-of-a-module-script step 5 [13:29:47.0000] TabAtkins: yes [13:31:23.0000] Domenic: this (well except I was hoping for something less verbose) [13:31:36.0000] Thanks folks. Much appreciated. [13:34:54.0000] How does the AC vote at PR work in W3C land? Is it merely dissent is publicly noted? [13:35:36.0000] TabAtkins: think you could give https://github.com/heycam/webidl/pull/218 a quick scan? [13:36:29.0000] TabAtkins: fixing the webidl brokenness following the latest bikeshed update [13:37:10.0000] TabAtkins: It did not ask me for "for=/". [13:38:12.0000] What do you mean by that last bit? [13:40:32.0000] TabAtkins: that I followed the link to you explanation and tried reading it while soothing a 1yo. :-/ [13:40:34.0000] Hmm, this is firing more than I expected. It looks like I'm not excluding alternative versions of the current spec when checking if any other spec defines a for-less version of the text. [13:41:39.0000] In particular, webidl-1 is the thing causing you problems. Gimme a sec and I can probably wipe out most or all fo these errors for you. [13:41:54.0000] https://gist.github.com/gsnedders/a20f06ebf3d32554e61333f93fbc66c0 --- does this seem like a not stupid thing to say about the W3C? [13:42:10.0000] (feel free to respond when I soon vanish, gsnedders will still be here :)) [13:42:12.0000] TabAtkins: Well they should be all fixed in that PR, no? [13:43:04.0000] Yeah, the PR should fix everything, but there's no good reason to clutter up your spec with a lot of "for" values just to disambiguate it from a previous version of itself, which it won't even link to unless you explicitly tell it to. ^_^ [13:44:36.0000] TabAtkins: I can't disagree. [13:48:36.0000] gsnedders: what's the context? [13:51:31.0000] zcorpan_: do you happen to know if there are tests for cssom-view event.x/.y [13:54:04.0000] tobie: Just pushed - every single one of the errors you were getting were spurious, so you can throw away the PR. ^_^ [13:54:17.0000] smaug: i'm not aware of such tests [13:54:37.0000] zcorpan_: ok. someone will then write such. [13:54:49.0000] smaug: nice! [13:55:09.0000] zcorpan_: ok to put them to https://github.com/w3c/web-platform-tests/tree/master/cssom-view ? [13:55:24.0000] sure [13:56:14.0000] currently there are tests for cssom and cssom-view in both wpt and csswg-test, but the two will be merged soon anyway [13:56:35.0000] right gsnedders :-) [13:57:28.0000] ah, right, rather messy right now [13:57:39.0000] zcorpan_: I assume csswg will merge to wpt [14:01:40.0000] /me is reminded by f.lux that he is tired, so will try to not stay up [14:18:23.0000] Domenic: I've updated gh-pages with the latest bikeshed [14:18:36.0000] tobie: \o/ [14:18:50.0000] Domenic: do you want me to rebase your PR and render it? [14:18:59.0000] tobie: that would be great. I think I have two outstanding PRs now? [14:42:55.0000] TabAtkins: thanks for the bs fixes, btw. [14:43:18.0000] I will *never* get tired of the Bikeshed file extension being used that way. [14:47:25.0000] tobie: relevance of W3C following 5.1 becoming a REC [14:48:07.0000] gsnedders: oh. that's a thing? [14:49:40.0000] tobie: yes [14:49:58.0000] gsnedders: and so why are you writing about it? [14:54:50.0000] /me hopes the answer isn't "someone's wrong on the internet" [14:55:33.0000] tobie: trying to explain things better to people on the internet (nobody is actually wrong!) [14:57:54.0000] gsnedders: think the context you provided here would be useful as intro there [14:59:22.0000] Nobody is wrong on the internet? [15:02:32.0000] that just means everybody is wrong [15:02:48.0000] and somehow the internet is still working [15:03:18.0000] I think it just means that gsnedders, and an undetermined number of other people, are wrong [15:59:30.0000] Domenic: done 2016-11-02 [20:31:38.0000] gsnedders: seems reasonable [21:25:57.0000] heycam: could you disable "merge" for the webidl repo? [21:27:12.0000] annevk: done. leave squash and rebase enabled? [21:27:28.0000] heycam: yeah, those are both safe from a linear history perspective [21:28:07.0000] cool ok [21:31:17.0000] tobie: I don't think you ran "bikeshed update" after "git pull" in the bikeshed directory [21:31:27.0000] tobie: afaict you also need to make changes to index.bs [23:40:23.0000] annevk: it WFM--think there might be something wrong with your latest bs update. [23:40:47.0000] annevk: or when you pulled the new changes [23:41:53.0000] tobie: maybe I'm getting cached anchor data or some such? [23:42:20.0000] tobie: I have no idea what could be wrong if something is though [23:42:21.0000] annevk: are you in the right branch in bikeshed? [23:42:55.0000] annevk: when you git log, does it reflect the latest changes? [23:43:25.0000] annevk: heah sha should be f521a3b50a4c8e312ba5df7d76a31191127f7a2f [23:43:39.0000] *head (sorry just woke up) [23:44:01.0000] tobie: yes [23:44:18.0000] annevk: o_O [23:44:34.0000] annevk: seems like it's an bs update issue [23:44:43.0000] annevk: which is also weird [23:44:43.0000] okay, tobie. [23:45:13.0000] tobie: hmm so now I only get the one warning [23:45:30.0000] now what triggered botie here I don't know. [23:45:38.0000] tobie: so yeah, maybe bikeshed update doesn't always work properly [23:45:55.0000] annevk: oh, well good! Now I can get coffee. :) [23:46:20.0000] tobie: do that, but there's also still something wrong in that I get slightly different syntax highlighting markup [23:46:23.0000] annevk: I've bumped the date on that PR and forced-pushed btw [23:46:36.0000] tobie: okay [23:46:56.0000] tobie: there's some bikeshed dependency that you might not have updated (or me, but I think I did recently) [23:47:54.0000] annevk: so that's why I ran: https://github.com/heycam/webidl/commit/7ff028948b67eb7cd587ff9d17b556a1f5e3261a [23:48:52.0000] annevk, TabAtkins: any idea what I need to do to make sure my dependencies are up to date? [23:48:54.0000] tobie: okay, so I guess mine is out-of-date then [23:49:05.0000] tobie: oh, hmm not sure [23:49:20.0000] annevk: mmm :( [23:49:46.0000] tobie: I think pygments needs to be updated [23:50:21.0000] tobie: "pip install pygments lxml --upgrade" is what bikeshed suggests [23:53:04.0000] That tells me I got the latest [23:57:40.0000] annevk: upgrading. [23:58:10.0000] annevk: it's weird though, why would these markup discrepancies suddenly show up? [00:00:23.0000] annevk: OK, now up to date with pygments too. There's a diff, but it's quite small. [00:00:46.0000] annevk: (compared to the one I pointed to above) [00:01:01.0000] tobie: yeah, it was small here too [00:01:06.0000] annevk: good. [00:01:51.0000] tobie: I think it mostly shows up due to folks with different setups colliding, might be that you, bz, and heycam all had the same version of pygments somehow [00:02:35.0000] annevk: probably. We all updated it at the same time a while back for a similar issue [00:48:03.0000] Is there a way to apply Ignored Vars locally? [00:48:18.0000] It doesn't seem like a good global feature since you might end up ignoring a variable with the same name that should be reused [01:29:45.0000] annevk: there isn't, see: http://logs.glob.uno/?c=freenode%23whatwg&s=25+Oct+2016&e=25+Oct+2016#c1009363 [01:38:59.0000] annevk: filed https://github.com/tabatkins/bikeshed/issues/859 [01:41:34.0000] tobie: ta [01:51:11.0000] What's the best format for Security and Privacy consideration section? [01:51:50.0000] possible threat model followed by suggested or implemented mitigation strategies? [01:54:56.0000] Seriously, the model where we have /tr and editor's draft all over the place is the biggest drag ever. [02:16:26.0000] mkwst_: are you still working on https://w3ctag.github.io/security-questionnaire/ ? [03:24:17.0000] tobie: I would not worry too much about it [03:24:59.0000] annevk: this is for sensors-not WebIDL. [03:25:13.0000] tobie: for IDL we can write stuff in there about the binding layer protecting the C underbelly, but by far all other issues are more important [03:25:18.0000] tobie: I see [03:25:57.0000] tobie: I guess for those you need to go through the various sensor-based attacks [03:28:20.0000] Dedicated security sections still seem somewhat wrong btw [03:28:46.0000] annevk: that's a fair point [03:29:20.0000] For implementers you really want to have thought about the threat model and mitigations ahead of time and design around that [03:29:39.0000] I guess you could have a non-normative summary though [03:29:45.0000] annevk: sure [03:29:53.0000] I did that for Encoding iirc [03:30:35.0000] /me looks [05:01:45.0000] Someone pointed out that the color I use for links on my blog contrasts poorly with the background, scores a 2.5 (needs to be at least 4.5) [05:01:56.0000] However, I can't find a single color that looks better and meets the criteria [05:01:59.0000] Sigh [05:02:40.0000] You could stop using snot-green as the background colour? [05:09:34.0000] jgraham: that's an even harder change [05:11:15.0000] jgraham, if your snot looks like that, I think you should go see a doctor [05:31:01.0000] So it seems nothing in GitHub forces you to call the main branch "master" [05:31:09.0000] Am I wrong or is that the case? [05:31:49.0000] I don't think it is [05:32:25.0000] https://github.com/user/repo/settings/branches allows you to change it [06:36:50.0000] hmm, does blink support USVString in idl [07:51:35.0000] annevk: it's just a convention. You can call it anything you want. You can even call it "head" if you want to shoot yourself in the foot. [07:56:06.0000] tobie: I'd like to migrate away from "master", ideally without breaking all kinds of links [07:56:36.0000] tobie: but "master" is some kind of implicit default [08:00:35.0000] annevk: for the anecdote, Stackoverflow tells me this has been fixed in Git 1.8.5, see https://github.com/git/git/blob/master/Documentation/RelNotes/1.8.5.txt#L289 [08:01:41.0000] annevk: but that's irrelevant to your current concerns, though. [08:02:05.0000] annevk: changing to "base" or "main" or whatnot is trivial [08:02:13.0000] annevk: not breaking stuff much less so. [08:02:38.0000] annevk: starting with all open PRs [08:02:47.0000] The main thing we cannot break I think is links to whatwg/reponame/commit/commithash [08:03:26.0000] Rebasing PRs seems doable [08:04:19.0000] Well I don't see why you'd break whatwg/reponame/commit/commithash [08:04:42.0000] https://en.wikipedia.org/wiki/Master/slave_(technology)#Appropriateness_of_usage has surprisingly little discussion on this thing btw [08:05:00.0000] annevk: afaik, commits sit outside of branches (branxhes are just pointers to a last commit) [08:06:03.0000] branches, even [08:07:05.0000] tobie: I guess you just have to be careful that you don't accidentally refresh them [08:07:55.0000] annevk: commits are immutable, so those urls won't change [08:09:27.0000] annevk: Is there a specific reason you want to migrate to something that will confuse new contributors? [08:10:10.0000] jgraham: I'd like to avoid potentially offensive terminology [08:10:18.0000] jgraham: there's actually little reason for confusion [08:10:35.0000] jgraham: you'll be on the "base" branch instead of the "master" one [08:10:43.0000] tobie: Well if you read any git tutorial it will talk about origin/master [08:10:51.0000] jgraham: That is, I hope that if we change this more contributors feel welcome [08:10:55.0000] Well known conventions have some value [08:11:27.0000] But perhaps changing it here is not the right move and it should be driven by the Git community instead... [08:11:42.0000] annevk: probably both [08:11:55.0000] annevk: leading by example actually works :) [08:12:34.0000] Iā€¦ am pretty skeptical this will accomplish anything except putting people off by being confusing [08:13:19.0000] tobie: yeah, that's my going theory [08:13:33.0000] jgraham: are people put off by gh-pages? [08:14:45.0000] annevk: I think so, yes. Enough that you can now publish master to github.io [08:16:57.0000] It does put me off [08:20:19.0000] I'm a put off by gh-pages, but precisely because I could not change it, and it was GitHub-branded [08:21:15.0000] annevk: people are going to be put off by"base" (or whatnot), not because it doesn't follow the convention... [08:21:55.0000] but because it doesn't follow the convention in the hope of being more inclusive (or just less racist depending on how you look at it). [08:22:48.0000] annevk: whereby "people" I mean "white males" who think SJW is an insult and PC a bad word [08:22:55.0000] tobie: Really? You are denying that there might be legitimate technical reasons to prefer to do what the vast majority of other repos do and branding anyone who disagrees racist? [08:23:22.0000] it seems primary/replica has some precedant [08:23:48.0000] jgraham: I haven't called anyone racist. I called a practice racist. [08:23:49.0000] precedent even [08:24:39.0000] tobie: You totally did [08:24:53.0000] If you are looking for offence, I am pretty fucking offended [08:25:03.0000] /me wonders why he quoted "white male" [08:25:13.0000] jgraham: where? [08:26:46.0000] Honestly? You don't see how "people aren't going to dislike it because it's unconventional but because they hate inclusivity and/or are racist" is a valid interpretation of what you said? [08:28:51.0000] jgraham: I don't and it's not. [08:30:42.0000] tobie: OK, well if you say so. But it's totally what I understood from the words you wrote and I have no idea what else you might have meant [08:31:34.0000] I read "there are people who will be offended, not because it doesn't follow convention, but because they don't like more inclusivity" [08:32:48.0000] Ms2ger: that's not what I meant either. :) [08:33:42.0000] Then "there are people who will be offended, not just because it doesn't follow convention, but because they don't like deviating from the convention for more inclusivity"? [08:34:20.0000] Well, people was also qualified [08:34:43.0000] /me should probably retreat from the rabbit hole [08:36:24.0000] I think jgraham's concern that using "primary" might be confusing is valid. [08:36:59.0000] Even so I still think doing it and having an explanation available would be the way to go. [08:38:44.0000] That's better but: s/for more inclusivity/for something that appears to them as a lot of work, overly politically correct and not useful in practice/. [08:39:31.0000] tobie: just as I thought we got out of the paraphrasing tobie rabbit hole [08:39:42.0000] don't you think people (or white males who don't like political correctness) who get upset about using "base" instead of "master" might have too much time on their hands? [08:39:50.0000] it's meta, now. [08:40:42.0000] /me checks to see if there's any popcorn left [08:40:59.0000] caitp: not for me to judge, but it's a great filter for assholes, so I'm all for it. [08:41:48.0000] ^^^ good reasoning [08:46:13.0000] To be clear, the concern is not people who are offended by the use of a nonstandard term [08:46:49.0000] The concern is people who are further confused by not using standard conventions in a notoriously confusing tool [08:47:52.0000] some people use "upstream" instead of "origin" and it isn't really that confusing [08:48:06.0000] jgraham: right. I haven't seen people get confused by gh-pages either [08:48:17.0000] caitp: they're sort of not the same thing. [08:49:07.0000] they're not exactly the same, but it's similar [08:50:33.0000] tobie: Ms2ger literally just said he was. Plus github added the option to change it and they are not noted for doing lots of work if they aren't getting complaints from users. [08:50:48.0000] Anyway, I'm not sure why I'm still having this conversation [08:51:16.0000] tobie, not so much confused, I guess, but I always type "master" first when working on the webidl repo [08:53:34.0000] Ms2ger: Git could have included a convetion similar to HEAD [09:08:58.0000] annevk: `bikeshed update` shouldn't ever fail; there's no reason it should unless Shepherd is inconsistent. [09:09:16.0000] I should really just bake Pygments into the repo, like I did with Requests. [09:11:06.0000] TabAtkins: as much as I am in general in favor of using package managers like pip, in this particular case it seems like baking it in might be better, yeah [09:11:15.0000] TabAtkins: or maybe making it part of bikeshed update [09:11:33.0000] or creating some new command that does bikeshed update + reset to tabatkins/master + pip update [09:11:39.0000] Shrinkwrapping for release is standard practice in many package managers. [09:12:18.0000] true [09:12:28.0000] for apps, of which bikeshed is definitely one [09:12:58.0000] I guess it's checking other packages into the repo that is a bit diststeful [09:19:33.0000] botie: tell rniwa that https://dom.spec.whatwg.org/ has snapshots now (under "Commits:") [09:19:33.0000] will do [09:21:34.0000] Domenic: Yeah, if pip actually supported shrinkwrapping (node-style or whatever), I'd do that. But it doesn't, because all is chaos and pain in Python packages. So hey, check into the repo, who gives a shit. [11:11:46.0000] https://lists.wikimedia.org/pipermail/wikitech-l/2016-September/086450.html has some reasoning for why "master" on its own might be okay, fairly persuasive [11:23:43.0000] I asked Twitter [11:24:10.0000] (If anyone knows a better place for such questions, I'm listening.) [11:52:19.0000] Right, that's my current understanding too - "master" is fine, it's the "master/slave" naming dynamic that has Implications. [11:54:07.0000] I'm more of a Depeche Mode fan myself [12:54:33.0000] jsbell: ping [12:54:42.0000] smaug: hey there [12:54:54.0000] https://github.com/WICG/entries-api/issues/13 [12:55:01.0000] or am I just reading the spec wrong [12:55:23.0000] looking at it now [12:55:24.0000] I'm trying to figure out what getParent should do [12:55:42.0000] especially when one is calling it on root directory [12:56:23.0000] smaug: On a tangent, I plopped a bunch of manual tests in https://github.com/WICG/entries-api/blob/gh-pages/tests/directoryentry-manual.html [12:56:50.0000] need to split that up/tidy it up [12:56:55.0000] (and move to wpt, of course) [12:57:16.0000] great [12:57:37.0000] smaug: the input to evaluate path is always an absolute path [12:57:42.0000] i.e. starts with / [12:57:45.0000] so you can't pass just .. [12:58:41.0000] "evaluate a path" could have a better name. PRs welcome. ;-) [12:58:49.0000] "resolve a relative path" handles relative paths [12:59:07.0000] jsbell: aha, so .. from root returns root [12:59:11.0000] adslfkj [12:59:18.0000] yes [12:59:20.0000] from root getParent returns root itself [12:59:23.0000] which matches chrome's behavior [12:59:36.0000] k [13:03:01.0000] jsbell: thanks [13:34:04.0000] rniwa, at 2016-11-02 16:19 UTC, annevk said: https://dom.spec.whatwg.org/ has snapshots now (under "Commits:") [13:34:14.0000] annevk: nice! [13:56:15.0000] Domenic: what do i need to do for snapshots? [13:56:18.0000] :D [13:57:11.0000] terinjokes: :) process is mostly in https://github.com/whatwg/dom/pull/350, I guess you'd need access to the servers for the hard parts. You want it? I'll set it up. [13:57:38.0000] terinjokes: ehhhh I'll take it back, you do most of the work, I'll put the key on the server [13:57:41.0000] is it a different server than the one you already gave travis push access to? [13:57:50.0000] oh right! [13:57:56.0000] console is using modern stuff [13:58:32.0000] yeah so that part's already taken care of [13:59:11.0000] Just gotta mash up my deploy.sh with robertkowalski's makefile I guess [14:00:56.0000] cool, i'll take a look tonight after work [14:01:22.0000] a brief glance at the PR you did for dom makes sense [14:18:47.0000] terinjokes: also see https://github.com/whatwg/dom/issues/363 for the things we missed [15:43:49.0000] hey Domenic terinjokes :) i'm in seville right now. you need my help? have a few hours this week [15:49:42.0000] robertkowalski: I think we're good :). Enjoy Seville! [15:50:51.0000] thank you! great tweets today btw :) [16:24:11.0000] Domenic: maybe you can merge https://github.com/w3c/web-platform-tests/pull/4118 ? [16:28:47.0000] rniwa: looks good. I love the case of inserting a child element into an option and then using HTMLOptionsCollection.prototype.add ^_^ [16:29:02.0000] Domenic: yeah [16:31:36.0000] Domenic: thanks! [16:43:00.0000] Domenic: another one if you're still here: https://github.com/w3c/web-platform-tests/pull/4163 [16:48:24.0000] rniwa: reviewing... [16:50:41.0000] Domenic: and the last one: https://github.com/w3c/web-platform-tests/pull/4164 2016-11-03 [17:01:39.0000] Domenic: see my reply on https://github.com/w3c/web-platform-tests/pull/4164 [17:01:48.0000] Domenic: I can modify the test case so that I mutate it thrice [17:52:42.0000] I'm amazed nobody had yet specced how
  • s are assigned numbers accurately [21:00:22.0000] Domenic: oh god I feel like this is gonna be a wormhole [21:01:03.0000] It's pretty amazing [21:01:15.0000] I think I've got it but I forgot that you could assign display: list-item to random things [21:01:59.0000] I guess that's not implemented yet... maybe will never be [21:03:38.0000] Domenic: what I want to know is what resets the counter, because thatā€¦ could be messy [21:03:55.0000] though I wouldn't be surprised if a bunch of HTML elements just had counter-reset defined on them [21:04:03.0000] Oh, no, it is http://software.hixie.ch/utilities/js/live-dom-viewer/?saved=4651 [21:04:15.0000] gsnedders: hah! as if you could reliably define this in terms of CSS counters [21:04:49.0000] Domenic: what stops it? [21:08:21.0000] gsnedders: it appears most browsers search for the closest ancestor
      **or
        **, and if there is no such ancestor, they go for the parent [21:09:43.0000] https://github.com/whatwg/html/pull/2002 is our latest excursion [21:11:14.0000] oh man, that's so much worse than I expected [21:11:27.0000] I mean, I shouldn't be surprised. [21:11:34.0000] I should've left my sense of logic at the door, etc. :) [21:12:07.0000] that's the spirit [21:23:36.0000] /me wonders how much stuff actually relies on the "if there is no such ancestor" case [22:54:57.0000] A lot of stuff relies on leaving your sense of logic at the door [00:11:59.0000] anyone with opinions on documentation for web-platform-tests, plz speak up with high-level issues: https://github.com/w3c/web-platform-tests/issues/4165 [00:15:49.0000] gsnedders: the things I look up most often: 1) how to update/reset submodules 2a) various asserts one can use 2b) how to test/async_test/single-page 4) server-side API and examples [00:16:34.0000] gsnedders: the other thing I often look for is JavaScript test boilerplate, which I often end up copying from another test and then adjust and some other things [00:30:14.0000] <gsnedders> annevk: plz comment there! [00:31:00.0000] <annevk> gsnedders: are those the kind of comments you're looking for? [00:32:58.0000] <gsnedders> annevk: yeah, or specific opinions as to how you'd arrange stuff to get the information you want from the docs homepage (i.e., "writing tests" -> "testharness.js API") [00:33:03.0000] <gsnedders> s/i.e./e.g./ [00:54:34.0000] <annevk> gsnedders: you got it [01:20:05.0000] <gsnedders> annevk: thanks, exact;y wjat I wanted! [01:30:20.0000] <tobie> gsnedders: you also need to fix the sidebar--it's all broken [01:33:35.0000] <tobie> gsnedders: glad you're picking that up. [01:35:24.0000] <tobie> gsnedders: when you refactor, you might want to redirect folks to the new pages using HTML redirects. [01:35:40.0000] <tobie> gsnedders: I've got a layout setup for that: https://github.com/w3c/testtwf-website-src/blob/master/sanfrancisco-2012.html [01:36:41.0000] <tobie> gsnedders: https://github.com/w3c/testtwf-website-src/blob/master/_layouts/redirect.html [02:07:21.0000] <tobie> gsnedders: for ref (and laughs), pre-testtwf resources: https://github.com/w3c/testtwf-website-src/blob/master/RESOURCES.md [02:24:06.0000] <gsnedders> tobie: fwiw, I think the plan is to simply kill TTWF and have all the docs redirect [02:24:56.0000] <tobie> gsnedders: yeah. That works too. :) [02:25:11.0000] <gsnedders> tobie: first off, tho, my plan is to get the content right [03:00:09.0000] <tobie> Today's magic incantation: bikeshed && git add index.html && git rebase --continue [03:03:51.0000] <annevk> tobie: those kind of things must be why folks add shortcuts here and there [03:04:13.0000] <annevk> tobie: I just repeat the instructions each time like some kind of animal [03:06:07.0000] <tobie> annevk: yeah, I'm a mildly evolved animal, as I found the arrow-up key to cycle through previous commands. [03:06:11.0000] <tobie> annevk: and && [04:28:09.0000] <smaug> /me tries to recall why stable state was changed to use microtasks [04:29:01.0000] <annevk> smaug: git log says https://www.w3.org/Bugs/Public/show_bug.cgi?id=24724 [04:29:07.0000] <annevk> /me hasn't followed the link [04:31:26.0000] <smaug> and I was against it then because of the same reason I wonder why on earth that change happened. But too late to change [05:52:50.0000] <tobie> Domenic: when you're around, could you please have a look at: https://github.com/heycam/webidl/pull/205#discussion_r86335055 [05:53:00.0000] <tobie> Domenic: thanks. :) [06:37:37.0000] <beverloo> annevk, mind if I remove `sticky` and `noscreen` from notifications? [06:37:53.0000] <beverloo> annevk, there are no implementations and I'm not aware of anyone planning to implement them either [07:34:34.0000] <annevk> beverloo: I don't mind [08:08:29.0000] <Domenic> botie: ask annevk why his dfn.js's are id=head [08:08:29.0000] <botie> will do [08:13:13.0000] <botie> annevk, at 2016-11-03 15:08 UTC, Domenic said: why his dfn.js's are id=head [08:26:03.0000] <zcorpan> maybe dfn.js should do its work using requestIdleCallback [08:29:39.0000] <Domenic> oooh interesting [08:30:47.0000] <Domenic> tobie: still NewTarget problems [08:31:05.0000] <tobie> Domenic: ty. Wasn't clear to me what Allen meant by "top-level algorithm." Fixing. [08:44:37.0000] <annevk> Domenic: I think dfn.js requires it [08:45:37.0000] <Domenic> Hmm can't see how [08:46:09.0000] <annevk> Maybe that was removed? [08:46:39.0000] <Domenic> Yeah maybe [08:46:54.0000] <Domenic> We could consider using Bikeshed's version but it has some styling issues last I checked where it will squish the contents of the box [08:47:15.0000] <Domenic> And in general (like with caniuse) it's a bit frustrating to move these things outside our control [08:48:23.0000] <annevk> Domenic: https://github.com/whatwg/resources.whatwg.org/commit/b39d40c5e77f8ce0119eadc864364f93aa4f7979 removed it [09:01:13.0000] <Domenic> Ah I see [09:16:20.0000] <zcorpan> Domenic: https://github.com/whatwg/resources.whatwg.org/pull/22 [09:17:30.0000] <Domenic> zcorpan: did you test locally? [09:18:07.0000] <zcorpan> Domenic: yes. seems to work in chrome and firefox. it invoked the callback about 40 times for me [09:18:11.0000] <tobie> Domenic, so: Let |R| be the result of performing the actions listed in the description of |constructor| with |values| as the argument values. Rethrow whaetver is raized. (or can I use exception to signify the thing that is thrown?) [09:18:25.0000] <Domenic> tobie: "Rethrow any exceptions." [09:18:35.0000] <zcorpan> /me gotta go [09:18:39.0000] <Domenic> And yes, exception = any value, as long as you don't link it to things [09:18:48.0000] <tobie> Domenic: thanks. [09:19:10.0000] <Domenic> zcorpan: seems good then; let's see what happens! [13:47:17.0000] <tobie> Domenic: I saw you were setting-up bikeshed build for the dom standard. Think you could do the same for WebIDL? [13:48:03.0000] <tobie> Domenic: I feel like I'm spending my days fixing merge conflits on index.html. [13:48:04.0000] <Domenic> tobie: sure, although won't that break your scripts that rely on rawgit? [13:48:04.0000] <tobie> That's a good point. [13:49:24.0000] <tobie> Domenic: I'll render the PR branches and stick them on AWS [13:49:24.0000] <Domenic> ok [13:52:58.0000] <TabAtkins> Wait, why are you using rawgit? [14:00:56.0000] <tobie> TabAtkins: to display the rendered PRs [14:00:56.0000] <tobie> TabAtkins: see for example here: https://github.com/heycam/webidl/pull/220#issue-187083299 [14:01:14.0000] <TabAtkins> Oh, for PR rendering. Carry on then. [14:01:36.0000] <tobie> :) [15:10:33.0000] <tobie> Domenic: do we have a list of where to file bugs against UA for WebIDL stuff? [15:13:40.0000] <Domenic> tobie: the usual places; bugzilla.mozilla.org, bugs.webkit.org, crbug.com, and https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/ [15:13:40.0000] <Domenic> tobie: I use http://browser-issue-tracker-search.appspot.com/ to make sure there are no dupes or find related bugs I can reference [15:57:24.0000] <laughinghan> so I have some very specific bidi questions [15:57:32.0000] <laughinghan> first of all, this algorithm for dir=auto https://html.spec.whatwg.org/multipage/dom.html#attr-dir-auto [15:57:53.0000] <laughinghan> is that supposed to be exactly equivalent to these style rules [1] interpreted according to [2]? [15:58:04.0000] <laughinghan> [1]: https://html.spec.whatwg.org/multipage/rendering.html#bidi-rendering [15:58:12.0000] <laughinghan> shoot no [15:58:30.0000] <laughinghan> wait no that was right [15:58:37.0000] <laughinghan> [2]: https://drafts.csswg.org/css-writing-modes/#valdef-unicode-bidi-plaintext [15:58:51.0000] <laughinghan> I may be misunderstanding, but those seem either conflicting or redundant (hopefully, redundant) [15:59:09.0000] <laughinghan> or maybe they're complementary in some way I don't understand [16:00:31.0000] <laughinghan> the reason I'm asking is I'm working on a span that pretends to be an <input type=text> [16:01:35.0000] <laughinghan> and I'm wondering if it's necessary or sufficient to have a CSS rule like span.my-special-kind-of-span[dir=auto i] { unicode-bidi: plaintext; } [16:02:30.0000] <laughinghan> if that dir=auto behavior is complementary or overrides something about that CSS unicode-bidi behavior, then that won't be sufficient, which would be unfortunate [16:06:30.0000] <laughinghan> another thing I don't understand is that, from my understanding (and according to this plain-English, non-spec explanation [1]), all unicode-bidi:plaintext does differently from unicode-bidi:isolate has to do with if there are multiple paragraphs, so why do the rules above set it on <input type=text>s? [16:06:35.0000] <laughinghan> [1]: https://www.w3.org/International/questions/qa-html-dir#autotextarea [16:18:08.0000] <tobie> Domenic: I had forgotten the existence of browser-issue-tracker-search.appspot.com. So amazing. 2016-11-04 [01:41:26.0000] <annevk> Domenic: so even if you use for correctly you can still get clashes if two standards define the same term [01:41:42.0000] <annevk> Domenic: e.g., I found out CSS Display defines "element" in its introduction and then doesn't really use it... [01:44:56.0000] <annevk> CSS is such a mess: https://www.w3.org/TR/CSS/#css [01:45:48.0000] <annevk> tantek: when are you getting HTTPS? [01:46:10.0000] <annevk> tantek: apart from a namespace (which cannot be upgraded to HTTPS) you're the only non-HTTPS URL in Fullscreen [02:53:36.0000] <annevk> beverloo: I'm doing some cleanup of Notification's bikeshed usage [02:53:45.0000] <annevk> beverloo: after that I can probably remove the two features you mentioned [02:54:10.0000] <annevk> beverloo: I also plan to setup the snapshot tooling [03:12:14.0000] <tobie> annevk: do me a favor and please give me thumbs up or down for https://gist.github.com/tobie/870d8ee05e1b34f00558667d4587fa75 [03:12:55.0000] <tobie> annevk: text for the issue I'll be opening against the various UAs re the regex removal [03:14:06.0000] <annevk> tobie: looks good, but I'd include a link to an issue to coordinate on tests [03:14:22.0000] <annevk> tobie: or if tests are already updated, note that somehow [03:14:43.0000] <tobie> I couldn't find any tests about this. [03:15:07.0000] <annevk> tobie: then probably easiest to file an issue against web-platform-tests and note that in these bug reports [03:15:36.0000] <tobie> annevk: it seems like the issue should be named: "write tests for the WebIDL spec" [03:15:51.0000] <annevk> tobie: heh, we have some right? [03:16:10.0000] <tobie> annevk: like three and a half [03:16:12.0000] <annevk> http://w3c-test.org/WebIDL/ is not empty [03:16:33.0000] <Ms2ger> There's idlharness [03:16:48.0000] <Ms2ger> And then there's a bunch of crappy, semi-reviewed tests in a PR somewhere [03:16:49.0000] <annevk> Ms2ger: where is that hosted? [03:17:09.0000] <annevk> tobie: anyway, make note of that somehow [03:17:11.0000] <Ms2ger> http://w3c-test.org/dom/interfaces.html [03:17:23.0000] <tobie> Ms2ger: well--that's not really a test for WebIDL or its bindings [03:17:41.0000] <Ms2ger> Sure it is [03:17:48.0000] <annevk> Yeah it is actually [03:17:57.0000] <Ms2ger> WebIDL only exists in so far as it's used in particular interfaces [03:17:58.0000] <annevk> That would be great to extend with tests for RegExp [03:18:43.0000] <Ms2ger> Unfortunately it's pretty hard to write tests for "this does not throw" in that generality, because the interfaces themselves can throw [03:19:05.0000] <annevk> hmm fair [03:20:23.0000] <tobie> well, it's indirect and makes a large number of assumptions. But I guess that's the best we can do? [03:22:35.0000] <annevk> You can't really test a framework directly [03:39:03.0000] <annevk> beverloo: https://github.com/whatwg/notifications/pull/85 [05:20:31.0000] <nox> :scope is dead, right? [05:43:10.0000] <annevk> It is? [06:06:45.0000] <nox> annevk: Brainfarted. [06:51:17.0000] <Domenic> annevk: that's what link-defaults is supposed to be able to fix [06:51:27.0000] <Domenic> annevk: but you need the new Assume Explicit For: yes for it to really work [06:51:36.0000] <Domenic> annevk: but that has some bugs I think, still shaking them out [07:13:55.0000] <annevk> Domenic: I think SW is using Bikeshed way wrong [07:14:13.0000] <annevk> Domenic: but I guess you can't fix it all in one go [07:14:33.0000] <Domenic> annevk: yeah, exactly. I think part of it is that people thought they needed a giant anchors block for everything because you needed one for HTML [07:14:45.0000] <annevk> Domenic: Notifications API was quite the mess too, just put a lot effort into it earlier today [07:14:47.0000] <Domenic> Now that we've fixed that to be mostly not true for HTML we'll be in a better place [07:14:52.0000] <Domenic> Yeah I saw that; quite nice [07:15:24.0000] <annevk> I do think we're missing a lot by not having output diffs in the new world [07:15:59.0000] <annevk> I realize a lot of standards are written without them, but the output diff shows you forgotten end tags, links going to the wrong place, etc. [07:16:19.0000] <Domenic> So it's pretty doable to get [07:16:22.0000] <Domenic> Let me try something [07:17:52.0000] <Domenic> So here is the output generated from the bs file: https://api.csswg.org/bikeshed/?url=https://raw.githubusercontent.com/whatwg/dom/89a849a54f123b3409be4bf371735fd0f901ef20/dom.bs [07:18:36.0000] <Domenic> Here's a HTML diff: http://services.w3.org/htmldiff?doc1=https%3A%2F%2Fapi.csswg.org%2Fbikeshed%2F%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fwhatwg%2Fdom%2F89a849a54f123b3409be4bf371735fd0f901ef20%2Fdom.bs&doc2=https%3A%2F%2Fdom.spec.whatwg.org%2F [07:18:54.0000] <Domenic> If we could find a simple text differ service we'd also be done [07:19:09.0000] <annevk> Domenic: would that help if just the href value changed? [07:19:25.0000] <Domenic> annevk: I don't know if HTMLdiff handles that, but a text differ would [07:19:50.0000] <annevk> Domenic: yeah, I think I'm mostly interested in a `diff -up` [07:20:54.0000] <Domenic> Something like https://www.diffnow.com/?report=zs9vq but not as limited [07:21:10.0000] <Domenic> We could have a bot like tobie has do the work and upload it to a GitHub gist [07:37:29.0000] <tobie> I could make the existing bot run for a number of repos. [07:37:52.0000] <tobie> shouldn't be too difficult. [07:38:26.0000] <Ms2ger> annevk, aloha [07:38:48.0000] <annevk> Ms2ger: que? [07:40:34.0000] <Ms2ger> annevk, so Servo has a bunch of custom about: URLs, and I'm wondering where best to implement them... Fetch has this note "URLs such as "about:config" are handled during navigation and result in a network error in the context of fetching.", but I can't find where in the navigation algorithm that is [07:44:11.0000] <annevk> Ms2ger: wherever custom schemes are handled presumably, but there might be a bug [09:05:40.0000] <tantek> annevk: good q. have been trying to get my hosting provider to provide a LetsEncrypt option but I may just end up doing it manually [11:14:27.0000] <TabAtkins> Domenic: Per #862, it's just markup errors causing you a problem. [11:24:24.0000] <Domenic> TabAtkins: thanks! [11:54:39.0000] <smaug> is it defined somewhere how contentEditable and shadow DOM should work together? [13:18:13.0000] <noah> looking at https://github.com/w3c/web-platform-tests/blob/e7da296741/url/urltestdata.json#L2147 ... why is it that "hash" is "" even though href ends with "#"? whenever there's a non-empty fragment, "#" is included in the value of "hash" [13:20:02.0000] <rbyers> annevk, Domenic: you guys want to encourage participation in the HTML spec by web developers, right? [13:20:36.0000] <rbyers> .. Eg. if at CDS I say we're getting better at involving web developers in the API design / validation process, it's cool to include a screenshot of the html github repo page or something? [13:21:44.0000] <rbyers> .. or maybe https://github.com/whatwg/html/blob/master/CONTRIBUTING.md ? [13:22:44.0000] <Domenic> rbyers: yes! :D [13:24:33.0000] <rbyers> Ok, I'll plan on it. [13:27:28.0000] <Domenic> rbyers: if it helps, we currently have 78 distinct commiters, compared to 1 a little over a year ago [13:27:43.0000] <rbyers> Ooh that's a fun stat [13:27:45.0000] <rbyers> Thanks [13:28:10.0000] <rbyers> Was it really true that Hixie was the only person that modified HTML up until a year ago? [13:28:51.0000] <Domenic> According to commit history yes, although it's possible other people submitted text or even HTML which he incorporated [13:29:08.0000] <rbyers> ok [13:29:21.0000] <Domenic> Hmm wait I think it was 2, zcorpan's <picture> stuff was being pulled in via a build script [13:29:53.0000] <rbyers> hah ok, still a good stat. I'll see if I can fit it in. [13:30:13.0000] <rbyers> General theme of this part of the talk: [13:30:21.0000] <rbyers> "The web platform is unique because it's a commons - we all own it collectively, and it thrives on collaboration and a healthy marketplace of competing ideas. So it's very important that there's great communication between everyone in the ecosystem." [13:32:03.0000] <rbyers> Folks here would probably also love the quote I just read: https://twitter.com/RickByers/status/794517804300914688 [13:32:45.0000] <rbyers> From one of the TCP/IP Engineers commenting on TCP/IP over ISO stack: "Standards should be discovered, not decreed. Seldom has it worked any other way." [13:35:34.0000] <Domenic> Yeah I saw that, pretty great :D [13:35:46.0000] <Domenic> Sounds like a fun talk! [13:41:48.0000] <annevk> noah: silly legacy [13:42:16.0000] <annevk> noah: a lot of APIs are somewhat poorly designed in hindsight [13:43:01.0000] <annevk> rbyers: sounds great [13:43:39.0000] <noah_> annevk: ok [13:43:51.0000] <annevk> rbyers: note that for TCP/IP I heard you cannot implement that from standards as they don't reflect reality šŸ˜Ÿ [13:44:46.0000] <rbyers> Hah, maybe that's a problem with "discovering" a standard - you don't always "discover it" correctly... [13:44:50.0000] <annevk> noah_: this is where the topic originates [13:45:39.0000] <annevk> rbyers: yeah, guess they missed the iteration aspect [14:17:14.0000] <noah> annevk: sorry i keep getting disconnected, i think i missed what you said was the origin of the thing [14:21:34.0000] <noah> somewhere in https://url.spec.whatwg.org/ there must be a step that replaces the empty path with "/", e.g. "http://example.com" => "http://example.com/", but i'm having trouble locating it, anybody know? [14:33:51.0000] <annevk> noah: serializer? [14:35:24.0000] <noah> annevk: ahh yeah [16:36:27.0000] <nox> https://twitter.com/nokusu/status/794684470586707968 [16:42:48.0000] <TabAtkins> Uh, no, it's California Style Sheets. 2016-11-05 [17:10:16.0000] <younder> Carelessly Scrambled Setup? [17:14:06.0000] <younder> At least some of my CSS's leavve a bit to be desired.. [17:19:55.0000] <TabAtkins> Domenic: Your issue about for-less links accidentally selecting for'd things inside the spec (when they were intended to go elsewhere) caught several linking errors in the Page spec (and, I'm sure, will catch many in other specs as well). Yay! [17:20:09.0000] <Domenic> TabAtkins: yay! [23:29:45.0000] <KevinMarks_> Rbyers my version of that is "Standards are documentation, not legislation" but I like the more French roots there. [23:38:29.0000] <KevinMarks_> Covenant, not edict? [23:41:27.0000] <KevinMarks_> Witnessed, not dictated? [04:59:46.0000] <rbyers> KevinMarks_: Yeah. To me the key part is admitting we're unlikely to get design right up front. We need to implement, experiment in the wild, iterate, even have a free market of competing ideas before we can know what will be worthy of surviving as a "standard". [05:01:03.0000] <rbyers> Listening to you talk about indie web on TWIG I often wonder what you think of Google's approach to web standards :-) [05:12:50.0000] <rbyers> I could imagine reasonable people like yourself could have some concerns worth chatting about sometime... 2016-11-06 [19:02:20.0000] <MikeSmith> mkwst_ JakeA annevk I got anything wrong at http://stackoverflow.com/questions/40432349/what-does-the-disown-opener-content-security-policy-do/40445298#40445298 please comment there or let me know so I can update it [19:07:33.0000] <MikeSmith> TabAtkins: wondering what should I do about https://github.com/validator/validator/issues/396 [19:09:38.0000] <MikeSmith> TabAtkins: for a message the HTML checker emits, which includes a link to https://drafts.csswg.org/mediaqueries/, Bert asking me to change to the link to https://www.w3.org/TR/css3-mediaqueries/ instead [05:38:42.0000] <nox> Which UA pass http://w3c-test.org/dom/lists/DOMTokenList-iteration.html correctly? [05:39:07.0000] <nox> Servo fails it because the test doesn't care about dupes, while Servo does, and I can't see in the spec whether it should or not. [05:39:26.0000] <nox> DOMTokenList is supposed to be an ordered set so I don't see why there should be dupes when iterating. [08:10:03.0000] <smaug> mounir: I haven't followed the spec work at all here, but why can't media remoting using presentation API? [09:23:27.0000] <smaug> s/using/use/ 2016-11-07 [18:11:50.0000] <mounir> smaug: re: the media remoting intent to implement? [18:12:29.0000] <mounir> smaug: it's not a spec, it's more an intervention from the browser to force a video to be remoted when a tab is mirrored [18:12:54.0000] <mounir> smaug: hopefully, it answers your question :) [18:14:55.0000] <smaug> mounir: how is https://w3c.github.io/remote-playback API related to this all? [21:26:09.0000] <MikeSmith> nox: I see Safari fails http://w3c-test.org/dom/lists/DOMTokenList-iteration.html with ā€œassert_array_equals: lengths differ, expected 3 got 2ā€ (which is different than the ā€œassert_equals: expected function "function keys() { [native code] }" but got function "function keys() { [native code] }"ā€ failure in Chrome) [00:26:02.0000] <nox> MikeSmith: Yes, what do you say about that Safari failure? [00:26:32.0000] <nox> MikeSmith: Legit or not? The test is wrong or Safari is wrong? [00:34:37.0000] <annevk> jgraham: https://github.com/w3c/web-platform-tests/pull/4090 [00:35:16.0000] <annevk> jgraham: I'm going to merge that today unless you tell me not to [00:43:00.0000] <annevk> tobie: POPO is very reminiscent of GOP [00:43:25.0000] <annevk> tobie: kinda like it though [00:44:43.0000] <tobie> tobie: it's a wink at Java, though, which has Pojo. [00:48:26.0000] <annevk> tobie: hah, that makes it even better [00:56:45.0000] <tobie> annevk: you're evil [00:56:54.0000] <tobie> :) [01:06:33.0000] <annevk> tobie: btw, we should try to remember to file syntax changes at https://github.com/plinss/widlparser/issues/18 [01:06:55.0000] <annevk> tobie: though as long as enough specifications use bikeshed I guess that happens automatically... [01:07:38.0000] <tobie> annevk: I think I'm going to add a guide as to when and where we should file what. [01:07:54.0000] <tobie> annevk: Is the README a good place for that? [01:08:02.0000] <annevk> tobie: yeah [01:08:47.0000] <tobie> Good [01:28:59.0000] <MikeSmith> nox: bz wrote that test :) so if I had to bet my own money Iā€™d bet for bzā€™s test being right rather than Safari [01:29:30.0000] <nox> MikeSmith: Then the spec is wrong too. [01:29:37.0000] <Ms2ger> That's a first [01:30:02.0000] <nox> Nah it's not, but if only Firefox and bz are correct, maybe they should be considered wrong. [01:30:46.0000] <annevk> Wait hold on, there's an open issue on this [01:30:52.0000] <nox> annevk: Hah, nice. [01:30:53.0000] <MikeSmith> hmm I see the test got changed after bz wrote it https://github.com/w3c/web-platform-tests/commit/f521cb4c87e964e32ebdf4b648da013e3c05e957 [01:31:11.0000] <annevk> nox: https://github.com/whatwg/dom/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20domtokenlist [01:31:50.0000] <nox> annevk: Not seeing an issue about this. [01:32:08.0000] <nox> Oh the second one. [01:34:29.0000] <nox> Such a mess. [01:41:59.0000] <nox> annevk: So no decision has been made yet, right? [01:44:10.0000] <annevk> nox: nothing conclusive, only that we prefer Safari's behavior [01:44:43.0000] <nox> annevk: So we prefer removing dupes, right? [01:44:57.0000] <annevk> nox: yeah [01:45:08.0000] <annevk> nox: ideally it's a set [01:45:23.0000] <annevk> because that's what it is... [01:45:30.0000] <nox> Yeah. [03:08:20.0000] <mkwst> annevk: QQ: Is Encoding or HTML the canonical reference for things like "ASCII case-insensitive"? [03:10:48.0000] <nox> mkwst: Isn't it DOM? https://dom.spec.whatwg.org/#ascii-case-insensitive [03:11:16.0000] <mkwst> nox: Ok, so that's three documents that look like they define the same term in the same way. [03:11:21.0000] <nox> mkwst: https://html.spec.whatwg.org/#ascii-case-insensitive Oh nevermind. :) [03:11:33.0000] <nox> mkwst: Yeah I had forgotten they also define it. [03:11:45.0000] <mkwst> nox: https://encoding.spec.whatwg.org/#ascii-case-insensitive :) [03:11:50.0000] <nox> mkwst: At least it's the same definition! :D [03:12:00.0000] <nox> Could be 3 different ones. :D [03:13:17.0000] <mkwst> Not exactly the same. HTML is missing "inclusive", which appears in both Encoding and DOM. [03:13:43.0000] <mkwst> *shrug* Not a huge deal, I just want to make sure I'm pointing to the one folks want to keep. :) [03:17:28.0000] <Ms2ger> mkwst, I think I'd use Encoding [03:29:37.0000] <mkwst> Ms2ger: Ok. Going with that for the moment. If there's a plan for merging these duplicate definitions, I can probably make some time to help out. [03:30:23.0000] <Ms2ger> I think that'd probably be a good idea, but annevk gets to make that call, I think [03:30:43.0000] <Ms2ger> Arguably it should live in some kind of a "core definitions" spec [03:32:26.0000] <annevk> mkwst: Ms2ger: I'm working with Domenic on that [03:32:54.0000] <annevk> mkwst: Ms2ger: not quite ready to publish just yet [03:33:22.0000] <mkwst> annevk: Ok. Great! [03:37:09.0000] <mkwst> So, Encoding today, Core Whatever tomorrow? [03:37:57.0000] <nox> annevk, Ms2ger: Inb4 "The Miscellaneous Standard" [03:40:56.0000] <MikeSmith> so, given https://github.com/w3c/webauthn/issues/created_by/bzbarsky it seems like the Web Authentication spec is maybe an excellent example to use for why we need to have better guidelines for spec editors on how to write good specsćƒ¼especially how to write APIs and importance of understanding WebIDL [03:41:40.0000] <MikeSmith> (bz raised 49 issues against it in one day) [03:42:19.0000] <annevk> mkwst: basically [03:42:24.0000] <annevk> nox: heh [03:49:01.0000] <nox> annevk: Or just util, hah. [03:50:13.0000] <Ms2ger> MikeSmith, ouch [03:53:03.0000] <MikeSmith> Ms2ger: bravo bz on taking time to review it in detail and raise the issues [03:53:14.0000] <MikeSmith> seems like it was not exactly a labor of love [03:53:43.0000] <MikeSmith> and must have taken hours [03:54:27.0000] <Ms2ger> I wish we had more people who would take the time to carefully review random specs [04:03:24.0000] <MikeSmith> sure but at the same time we should ideally really not have people writing specs for the platform that end up being that far off the mark [04:03:42.0000] <MikeSmith> and itā€™s not because they arenā€™t smart and extremely capable people [04:04:18.0000] <MikeSmith> it seems instead that there is just a lot of prior knowledge required to do it right [04:06:06.0000] <MikeSmith> though I have to say one red flag with the Web Auth spec is that it has 9 editors listed https://w3c.github.io/webauthn/ [04:11:40.0000] <MikeSmith> and see also https://github.com/w3c/webauthn/issues/276#issuecomment-258736759 and https://github.com/w3c/webauthn/issues/262#issuecomment-258724693 where bz has to explain why editors should not read and reference TR drafts but should instead work from EDs (in a specific case where the Web Crypto TR draft does something wrong that the ED has corrected) [04:12:45.0000] <Ms2ger> Well, that could easily be solved by the w3c [04:14:34.0000] <annevk> Yeah, groups need to be pre-approved by MikeSmith before they get more than 2 editors for a document [04:15:14.0000] <MikeSmith> done! [04:15:30.0000] <MikeSmith> /me edits the Process document in place to add that requirement [04:18:41.0000] <Ms2ger> Easily solved, we'll just publish each section as a separate document, and assign "editors" at random [04:19:51.0000] <MikeSmith> good brainstorming [04:21:04.0000] <MikeSmith> /me in-place edits the Process doc to add that too [04:24:06.0000] <MikeSmith> seriously though I think we have a real problem when a key implementor/code-reviewer from a browser-engine project has to burn up hours documenting fairly fundamental errors in a major spec [04:24:17.0000] <MikeSmith> kinda significant opportunity cost there [04:31:52.0000] <annevk> Well, there's not that many people with the number of years of experience [05:07:02.0000] <MikeSmith> annevk: sure but we also could have better guidelines with more detail and examples [05:07:24.0000] <MikeSmith> including examples of anti-patterns to avoid [05:08:28.0000] <MikeSmith> the problem is that the people capable of writing the guidelines at the ones already very busy writing/refining specs [05:09:15.0000] <annevk> Domenic has done a lot in that area [05:09:50.0000] <annevk> But we also lack solid examples [05:10:01.0000] <annevk> Most standards are not in a great state [05:11:35.0000] <annevk> And typically new editors do some combination of copy-and-pasting and adjusting to their scenario, without truly understanding [05:11:59.0000] <annevk> And you won't really get true understanding from day one, that takes practice [05:12:09.0000] <tobie> heycam|away: would be awesome if you could have a look at https://github.com/heycam/webidl/pull/221 [05:15:52.0000] <tobie> MikeSmith: I'm certainly hoping to improve the WebIDL spec to make it easier for people to consume and do the right thing. [05:22:42.0000] <MikeSmith> tobie: yes please [05:22:55.0000] <MikeSmith> extremely glad you are on that [05:23:10.0000] <MikeSmith> I think it can help a lot [05:23:33.0000] <tobie> MikeSmith: ideas welcome. I'm trying to add more notes to explain the reasoning behind things [05:24:15.0000] <tobie> MikeSmith: feel like "note for spec editors" could be useful as well as more examples. [05:24:23.0000] <tobie> MikeSmith: the intro needs fixing [05:24:32.0000] <MikeSmith> more examples would absolutely help [05:24:54.0000] <tobie> MikeSmith: marking legacy stuff as such more clearly would also be a good thing [05:26:48.0000] <annevk> Yeah, once we have the legacy platform object split sorted, actually marking getters/setters as legacy would be great [05:30:04.0000] <annevk> JakeA: where did you want Response or undefined again? [05:39:37.0000] <annevk> littledan__: https://github.com/heycam/webidl/issues/226 [05:39:44.0000] <annevk> littledan__: might be interest [05:45:48.0000] <JakeA> annevk: caches.match, but also fetchEvent.preloadResponse [05:46:13.0000] <annevk> JakeA: pinged you in an issue [05:46:20.0000] <annevk> JakeA: about undefined and IDL [05:49:00.0000] <JakeA> annevk: cheers, added to it [07:57:58.0000] <littledan__> Annevk, interesting, don't see a great solution [08:53:31.0000] <tobie> annevk, Domenic: Is the object implementing an interface with Global or PrimaryGlobal extended attribute: [08:53:38.0000] <tobie> 1) a platform object [08:53:44.0000] <tobie> 2) a legacy platform objct [08:53:49.0000] <tobie> 3) something else [08:54:15.0000] <tobie> 4) a legacy platform object if it has indexed props, a platform object otherwise [08:54:31.0000] <tobie> 5) ... ? [08:57:02.0000] <Domenic> annevk: they will never have indexed/named props in practice; we should probably make that a normative requirement [08:57:08.0000] <Domenic> er, tobie: ^ [08:57:33.0000] <Domenic> tobie: I think it is an immutable prototype exotic object [08:57:49.0000] <Domenic> but also a platform object [08:57:56.0000] <Domenic> similar to how legacy platform objects are also platform objects [08:57:59.0000] <tobie> Domenic: so they're platform object with a special prototype, right? [08:58:05.0000] <Domenic> not a special prototype [08:58:09.0000] <Domenic> a special [[SetPrototypeOf]] [08:58:21.0000] <tobie> oh [08:58:29.0000] <tobie> /me tries to grasp the nuance. [08:58:45.0000] <Domenic> [[SetPrototypeOf]]() is an internal method that, normally, sets this.[[Prototype]] [08:58:55.0000] <tobie> yes. [08:59:02.0000] <Domenic> But for immutable prototype exotic objects, they have an overridden [[SetPrototypeOf]]() that throws an error [08:59:10.0000] <Domenic> https://tc39.github.io/ecma262/#sec-immutable-prototype-exotic-objects [08:59:50.0000] <Domenic> I think we end up with three categories of platform objects: "non-exotic platform objects", "immutable prototype exotic objects", and "legacy platform objects" [09:00:46.0000] <Domenic> I guess "immutable prototype exotic platform objects" [09:01:21.0000] <Domenic> since Object.prototype is not an immutable prototype exotic **platform** object, just an immutable prototype exotic object [09:01:43.0000] <Domenic> s/throws an error/returns false, which causes various callers, like Object.setPrototypeOf, to throw an error/ [09:04:02.0000] <tobie> Domenic: the spec says: "For every interface declared with the [Global] or [PrimaryGlobal] extended attribute that supports named properties," (https://heycam.github.io/webidl/#dfn-named-properties-object) [09:04:21.0000] <Domenic> tobie: ah I see [09:04:56.0000] <tobie> Domenic: I think I understand what this means, but the language needs to be fixed [09:05:23.0000] <Domenic> tobie: I think that language is correct. What's incorrect is that all the other definitions don't say "except not for globals" [09:05:49.0000] <Domenic> tobie: e.g. https://heycam.github.io/webidl/#getownproperty should not apply to globals [09:06:09.0000] <Domenic> tobie: so if a global supports named properties, nothing about it becomes exotic (besides the unrelated exoticness of [[SetPrototypeOf]]) [09:06:23.0000] <Domenic> tobie: instead, it just gets a special [[Prototype]] which is the named properties object [09:08:01.0000] <tobie> Domenic: So can I get away with defining all legacy platform objects as have named/index props but are not Global or Primary Global? [09:08:13.0000] <Domenic> tobie: correct [09:09:37.0000] <tobie> Domenic: alright, right now the spec disallows named props on Globals or PrimaryGlobals, but not indexed props. [09:10:00.0000] <Ms2ger> Though there's no indexed props on any globals [09:10:04.0000] <tobie> Domenic: so for the above definition to hold, I need to disallow that too as part of the same PR, agreed? [09:10:07.0000] <Ms2ger> There are on WindowProxy, but that's fine [09:10:13.0000] <Domenic> tobie: that seems good yes. [09:10:24.0000] <Domenic> tobie: the spec shouldn't disallow named props on globals, but it should give them a different meaning. [09:11:11.0000] <tobie> named props on globals are for the globals vars, right? [09:11:21.0000] <Domenic> they're for id="" and name="" [09:11:39.0000] <Domenic> https://html.spec.whatwg.org/multipage/browsers.html#named-access-on-the-window-object [09:18:39.0000] <tobie> Domenic: OK. I think I got it. [09:18:43.0000] <tobie> Domenic: Thanks [09:18:46.0000] <Domenic> \o/ [09:18:51.0000] <Domenic> This is gonna be pretty nice [09:27:28.0000] <Ms2ger> https://twitter.com/mikewest/status/795660581823016961 [09:31:47.0000] <tobie> Is [LegacyUnenumerableNamedProperties] appearing anywhere else than on globals, and are there globals with named props that don't have that extended attribute? [09:32:14.0000] <tobie> It sort of feels redundant, but maybe I'm missing out on more fun. [09:40:12.0000] <Domenic> I don't quite remember... nox added it. [09:40:35.0000] <Domenic> tobie: oh it's used several times in DOM [09:41:35.0000] <tobie> Domenic: so yeah, was clearly missing out on the fun [09:45:57.0000] <annevk> Ms2ger: sounds like mkwst has figured out the web [09:46:31.0000] <annevk> tobie: [LegacyUnenumerableNamedProperties] is used for non-globals [09:46:58.0000] <annevk> tobie: only Window has named properties [09:47:13.0000] <annevk> (and frankly, I don't think we should allow any new global to have named properties) [09:47:21.0000] <tobie> annevk: yeah--Domenic mentioned it was used in Dom [09:47:36.0000] <annevk> tobie: it's used in HTML too for several things [09:47:52.0000] <annevk> tobie: <form> for instance [09:48:10.0000] <tobie> annevk: oh, form [09:48:42.0000] <tobie> annevk: yeah, I can see how that would be needed [09:57:58.0000] <tobie> Wish I could write: LegacyPlatformObjectGetOwnProperty(|O|, |P|, false) instead of: [09:58:04.0000] <tobie> Return the result of invoking the [=The LegacyPlatformObjectGetOwnProperty abstract operation|PlatformObjectGetOwnProperty=] [09:58:04.0000] <tobie> abstract operation with |O|, |P|, and <emu-val>false</emu-val> as arguments. [10:01:17.0000] <annevk> tobie: why can't you? [10:01:28.0000] <tobie> annevk: can I? [10:01:49.0000] <annevk> tobie: if you're going to do abstract operations you should go all the way [10:02:00.0000] <annevk> tobie: HTML does this too for defining WindowProxy and Location [10:02:16.0000] <annevk> And StructuredClone, come to think of it [10:02:35.0000] <tobie> That sounds much better [10:04:14.0000] <annevk> tobie: for IDL I'd basically draw a lot of inspiration from ECMAScript as you rewrite and fix things [10:05:23.0000] <tobie> annevk: sgtm [10:09:58.0000] <Domenic> tobie: yeah definitely write it that way [10:53:42.0000] <nox> tobie, Domenic: Yeah made LegacyWhatsItsName to replace some prose with unenumerable properties. [10:53:53.0000] <nox> I still have trouble writing that word, unenumerable. [11:52:41.0000] <TabAtkins> MikeSmith: You should reject the change, it's just Bert being cranky/wrong. [12:36:16.0000] <smaug> oh, Chrome throws when accessing cross-domain iframe.contentDocument [12:38:05.0000] <smaug> looks like per spec it should be just null [13:09:17.0000] <jarek> Is there any particular reason why HTML elements are using "open" boolean attribute rather than "opened"? [13:09:27.0000] <jarek> E.g. <dialog open> or <details open> [13:10:00.0000] <jarek> I'm not native English speaker, but I thought both "open" and "opened" would be grammatically correct in this scenario [13:10:44.0000] <jarek> However, "open" is more ambiguous as it could be a method name as well [13:16:04.0000] <KiChjang> jarek, what is a "method name" in the context of HTML? [13:16:51.0000] <jarek> KiChjang: window.open() for example [13:17:00.0000] <KiChjang> that is javascript [13:17:07.0000] <KiChjang> or rather, WebIDL [13:17:13.0000] <jarek> yeah, or DOM [13:17:41.0000] <jarek> but keep in mind that the "open" attribute is reflected as WebIDL property [13:17:50.0000] <TabAtkins> jarek: Yes, either is correctly. "open" is more of a state term; "opened" is somewhat ambiguous, as it can refer to the current state *or* a past state. [13:18:42.0000] <TabAtkins> Like, if it was opened at any point, it might match "opened" (see: email read indicators), but it won't match "open" unless it is *currently* open. [13:19:13.0000] <jarek> TabAtkins: you could say the same about "disabled" [13:19:36.0000] <TabAtkins> Yes, but we don't have a corresponding "only current state" term for being disabled. [13:19:40.0000] <TabAtkins> So we work with what we've got. [13:20:08.0000] <jarek> Polymer seems to be using "opened": https://elements.polymer-project.org/elements/paper-dialog#property-opened [13:20:15.0000] <jarek> I think this is the case with more libraries too [13:20:58.0000] <jsbell> Heh - https://html.spec.whatwg.org/multipage/forms.html#anchor-points refers to the "open() method" which links to the open attribute [13:21:01.0000] <KiChjang> i... don't think this is a good change [13:21:10.0000] <KiChjang> to the HTML spec [13:21:42.0000] <KiChjang> very backwards-incompatible for little gain(?) [13:21:46.0000] <jarek> KiChjang: so do I, it's way to late. I'm just trying to understand the rationale [13:22:19.0000] <TabAtkins> jsbell: That looks like a bug. Report it? [13:22:25.0000] <jsbell> TabAtkins: doing so [13:24:36.0000] <annevk> jarek: might be as simple as something that was not fully considered [13:25:58.0000] <KiChjang> it's also interesting to note that it only has an open boolean attribute, but not close/closed [13:26:11.0000] <KiChjang> i think it's just because the default state is closed [13:26:15.0000] <KiChjang> so no need to specify [13:26:53.0000] <KiChjang> it can just use close instead of open [13:33:11.0000] <jarek> BTW, why boolean attributes are serialized to e.g. `<dialog open="">` rather than `<dialog open>`, is this a standard behavior? [13:33:42.0000] <jarek> This looks confusing to me because the spec is using `<dialog open>` format in all examples [13:34:24.0000] <jarek> by serialized, I mean e.g. element.outerHTML [13:36:21.0000] <jarek> I found this: https://www.w3.org/TR/html5/single-page.html#html-fragment-serialization-algorithm [13:36:38.0000] <jarek> but it doesn't seem to mention how boolean attributes should be serialized [13:37:22.0000] <jarek> No, wait... it does: For each attribute that the element has, append a U+0020 SPACE character, the attribute's serialized name as described below, a "=" (U+003D) character, a U+0022 QUOTATION MARK character ("), the attribute's value, escaped as described below in attribute mode, and a second U+0022 QUOTATION MARK character ("). [13:41:08.0000] <jarek> this seems unnecessarily verbose and inconsistent to me [13:42:09.0000] <KiChjang> "Please leave your sense of logic at the door, thanks!" [13:43:18.0000] <KiChjang> sometimes specs are written that way just because decisions were made, then propagated to all existing webpages you see nowadays [13:44:56.0000] <KiChjang> jarek, this is relevant [13:44:57.0000] <KiChjang> https://html.spec.whatwg.org/multipage/introduction.html#design-notes [13:45:57.0000] <KiChjang> also, the equivalent WHATWG section of your linked spec is https://html.spec.whatwg.org/multipage/syntax.html#serialising-html-fragments [13:51:59.0000] <jarek> KiChjang: I guess it was defined this way to make it compatible with XML somehow? [13:52:23.0000] <KiChjang> it may have been the case where boolean attributes did not exist in the first few versions of HTML [13:52:56.0000] <KiChjang> and the serializers were never patched or fixed for the case of encountering a boolean attribute [13:53:39.0000] <jarek> on the bright side, it could be much worse, e.g. `<dialog open="open">` [13:54:08.0000] <jarek> or even <DIALOG OPEN="OPEN"> 2016-11-08 [17:27:27.0000] <heycam> tobie: ok, will look today [18:38:04.0000] <MikeSmith> TabAtkins: thanks for the feedbak about the validator bug Bert raised [18:40:40.0000] <not-an-aardvark> Is there a way for a server to block all cross-origin fetch requests with credentials? [18:41:46.0000] <not-an-aardvark> I'm aware that code on the other site can't see the response due to the same-origin policy, but I'm concerned that it's able to figure out other data about the request, such as whether the request is redirected. [18:49:02.0000] <MikeSmith> not-an-aardvark: why can' [18:49:08.0000] <MikeSmith> oofs [18:50:23.0000] <MikeSmith> not-an-aardvark: why canā€™t server just look at the origin of the request and the headers and then just respond with 403 or whatever [18:51:42.0000] <MikeSmith> anyway it seems like thereā€™s nothing that browsers do that would prevent it, and nothing in any specs for the platform that would prevent it [18:53:11.0000] <not-an-aardvark> Do you mean looking at the Referer header? [18:55:50.0000] <not-an-aardvark> The issue with Referer checking is that the site still needs to be able to handle the case where a user clicks a link from another site without returning a 403. [18:57:30.0000] <not-an-aardvark> My concern is that giving a site the ability to determine whether a credentialed cross-origin request resulted in a redirect seems like a violation of the same-origin policy. [19:00:21.0000] <not-an-aardvark> That would imply that a site can't safely have a redirect available only to specific user sessions, because another site would be able to detect whether the user's request results in a redirect. [19:02:05.0000] <MikeSmith> maybe I am being daft but the same-origin policy doesnā€™t apply on the server side. It is strictly a client-side restriction in browsers. A fact of life for browsers. It is not a general policy meant to restrict what you can do in your server code. [19:04:48.0000] <not-an-aardvark> My original question was concerning whether it would be possible for a server to distinguish between (a) cross-origin fetch requests with credentials, and (b) any other requests. This would allow the server to always reject the former, which would allow safe user-specific redirects in other scenarios. [19:05:34.0000] <not-an-aardvark> This would be as a workaround for the same-origin policy issue that I mentioned above. [19:05:39.0000] <MikeSmith> ok [19:07:14.0000] <MikeSmith> well if you can wait around for a few more hours you can probably get a better answer from annevk [19:07:31.0000] <MikeSmith> otherwise this time of day this channel is not very active in general [19:07:59.0000] <not-an-aardvark> šŸ‘, thanks for the response anyway [22:05:38.0000] <annevk> not-an-aardvark: not possible [22:06:17.0000] <annevk> not-an-aardvark: you want samesite cookies or whatever the name is these days [22:06:32.0000] <annevk> not-an-aardvark: but only Chrome supports them [22:07:01.0000] <not-an-aardvark> That's unfortunate. Thanks for the answer though. [22:07:29.0000] <not-an-aardvark> What was the reasoning for that decision when fetch was created? It seems inconsistent with how the same-origin policy works in other contexts. [22:55:30.0000] <annevk> not-an-aardvark: what do you mean? It's no different from <img src=http://crossorigin/> [22:59:14.0000] <not-an-aardvark> With <img src="http://crossorigin/"/>, a script doesn't know anything about the response. With fetch('foo', {credentials: 'include', mode: 'no-cors', redirect: 'error'}), a script can determine whether the user's credentials cause a redirect. [23:02:51.0000] <not-an-aardvark> Granted, I suppose a script can detect a 404 response with img from the onerror handler. But that information leak is restricted only to endpoints that sometimes have valid images, since a 404 error and a response containing something other than an image are indistinguishable to the client (assuming X-Content-Type-Options is enabled) [23:06:45.0000] <annevk> not-an-aardvark: you can determine a 404 reliably with <object>, iirc [23:11:41.0000] <annevk> not-an-aardvark: good question about redirects though [23:11:50.0000] <annevk> not-an-aardvark: I thought those could be observed, but I cannot remember how [23:12:04.0000] <annevk> not-an-aardvark: that is, I thought you could observe a redirect was made [23:15:11.0000] <not-an-aardvark> Fair enough, but 404 information leaks from <object> and <iframe> can be prevented by the server with X-Frame-Options. It doesn't seem like there is any way to avoid information leaks from redirects in this case. [23:15:43.0000] <annevk> not-an-aardvark: https://tools.ietf.org/html/draft-ietf-httpbis-cookie-same-site is the tool basically [23:16:22.0000] <annevk> not-an-aardvark: redirects were indeed exposed as part of service workers, to be able to handle navigation [23:16:36.0000] <annevk> not-an-aardvark: but timing attacks would already make it possible to observe them [23:17:29.0000] <annevk> not-an-aardvark: this is basically yet another variant of HEIST, which https://github.com/w3c/resource-timing/issues/64 has a pretty good discussion about what we can do standards-wise [23:17:50.0000] <not-an-aardvark> Fair enough, and thanks for the links. [23:17:57.0000] <annevk> not-an-aardvark: I'm sorry it all sucks [23:18:11.0000] <not-an-aardvark> :\ [23:19:33.0000] <not-an-aardvark> Same-site cookies look like they will basically solve the problem, but I would be worried about them being insecure in old browsers before they are widely adopted (since they would just get treated as regular cookies in old browsers) [23:21:08.0000] <not-an-aardvark> Anyway, thanks again for your help! [00:25:08.0000] <tobie> heycam: \o/ [00:25:25.0000] <heycam> tobie: haven't done anything yet though! :) and it's already 4:30pm... [00:26:10.0000] <tobie> heycam: yeahā€”don't worry. [00:26:41.0000] <tobie> heycam: I'm just getting really good a fixing broken merges. :D [00:26:51.0000] <heycam> hah [00:26:57.0000] <heycam> yeah, they're a pain :) [00:27:07.0000] <heycam> though must be better with bikeshed... [00:27:30.0000] <heycam> oh, this is the target .html file [00:28:15.0000] <tobie> yes [00:28:51.0000] <tobie> heycam: so it's OK when the branch you're trying to rebase is ahead by a single commit [00:29:11.0000] <tobie> heycam: it starts to be a lot more painful when there are multiple commits. [00:29:26.0000] <heycam> tobie: at least if there were no conflicts in the bikeshed file you can just blow away the index.html and rebuild it [00:29:27.0000] <tobie> you basically have to re-run bikeshed between each commit. [00:29:30.0000] <heycam> right [00:29:47.0000] <heycam> but yes, I'll look at this soon. and thanks Domenic for the detailed instructions, that should help :) [00:30:27.0000] <tobie> yes. but given there are never any conflicts in the .bs file, it makes a lot more sense to split these two operations [00:30:50.0000] <tobie> Cool [00:42:34.0000] <tobie> annevk: you had this webidl issue you wanted to talk to me about last week [00:43:05.0000] <annevk> tobie: I don't remember [00:43:26.0000] <tobie> annevk: I'll check the logs [00:44:45.0000] <annevk> tobie: it was about making progress on https://www.w3.org/Bugs/Public/show_bug.cgi?id=27301 [00:45:10.0000] <tobie> right [00:45:33.0000] <annevk> tobie: comment 5 is a good summary [00:47:33.0000] <annevk> tobie: so I guess there's not much left to discuss [00:49:31.0000] <tobie> annevk: oh--did comment 5 happen in the meantime? Thanks. I'll look into this. [00:49:54.0000] <annevk> tobie: yeah, Domenic happened [00:50:05.0000] <tobie> :) [01:02:02.0000] <tobie> I've been tinkering with the idea of adding "note to editors" in the WebIDL spec. Are there precedents that shows this is a bad idea? [01:06:36.0000] <annevk> tobie: there's some precedent, e.g., https://url.spec.whatwg.org/#url-apis-elsewhere [01:07:23.0000] <annevk> tobie: or https://dom.spec.whatwg.org/#defining-event-interfaces [01:08:29.0000] <tobie> annevk: I was even thinking of: <div class="note-for-editors"> [01:09:01.0000] <tobie> annevk: and also <div class="legacy"> with a [ ] hide legacy stuff checkbox at the top of the spec [01:09:25.0000] <annevk> tobie: both sound reasonable in principle [01:09:47.0000] <tobie> annevk: wrt to calling abstract operations with [=abstract op name=](arguments...), do we have a naming convention for the abstract ops? [01:10:15.0000] <annevk> tobie: UpperCamelCase [01:10:59.0000] <tobie> annevk: ok, so we should rename algos that way as we clean them up [01:11:05.0000] <tobie> cool [01:11:32.0000] <annevk> yeah [01:21:50.0000] <tobie> heycam: would be awesome if you could also add a link to the spec and its name at the top of the repo. I added a todo item to https://github.com/heycam/webidl/pull/221 to remind you. [01:22:26.0000] <heycam> ok, will do [01:37:03.0000] <tobie> ty [01:40:54.0000] <tobie> If I have: `interface A : B {};` are `attribute (A or B) foo;` and `attribute B foo;` the same or not at all? [01:41:27.0000] <tobie> I think I asked this question 10x already, so where is this explained in the spec would also help [01:46:06.0000] <heycam> tobie: in theory (A or B) is not legal, since those types are not distinguishable [01:46:44.0000] <tobie> heycam: but, but, but... [01:46:47.0000] <heycam> tobie: since the (a) footnote in the distinguishability table says that it must not be possible for an object to implement both interfaces, and likely it is [01:48:11.0000] <tobie> heycam: my brain refuses to compute that part of the spec. [01:48:30.0000] <tobie> heycam: I thought it was for operations only, not unions on attributes [01:48:51.0000] <heycam> tobie: each type in the union must be distinguishable from the others [01:49:00.0000] <tobie> heycam: oh [01:49:08.0000] <heycam> per the sentence in https://heycam.github.io/webidl/#idl-union that starts "each pair" [01:49:51.0000] <tobie> heycam: oh right, it says that. [01:50:34.0000] <tobie> heycam: so is there no way to say that an attribute can return a class or a subclass of that class? [01:50:52.0000] <heycam> tobie: no, but just "A" by itself means that, doesn't it? [01:51:07.0000] <tobie> heycam: that *was* my question [01:51:42.0000] <tobie> heycam: and the follow-up question is where is that mentioned in the spec? [01:51:47.0000] <tobie> heycam: or is it implicit [01:52:15.0000] <heycam> tobie: that A means "things that implement A or anything that derives from A"? [01:55:15.0000] <heycam> it might not be spelled out exactly. https://heycam.github.io/webidl/#idl-interface says that an interface type represents all objects that implement that interface, and there's kind of a definition of what "inherit" means for interfaces, but maybe nothing that states "if an object implements B and B inherits from A, then the object must also implement A" [01:55:48.0000] <heycam> oh, no there is such a sentence [01:55:51.0000] <tobie> heycam: tbh that's another part of the spec I that makes my head hurt [01:55:54.0000] <heycam> "An object that implements an interface that inherits from another also implements that inherited interface." [01:55:58.0000] <heycam> in https://heycam.github.io/webidl/#idl-interfaces [02:03:12.0000] <nox> Could someone walk me through the test "Namespace generally shouldn't matter" in domparsing/createContextualFragment.html? [02:03:29.0000] <nox> I don't understand why <body> should be parsed the same in a div and in a fake-namespace:div. [02:04:09.0000] <nox> AFAICT <body> in a fake-namespace:div should be parsed as foreign content, no? [02:06:07.0000] <tobie> heycam: right: attribute A foo; just means foo must implement A, not that it mustn't also implement something else [02:06:18.0000] <tobie> heycam: thanks [02:06:38.0000] <heycam> tobie: yup :) [02:06:52.0000] <heycam> still might be worth saying explicitly in the #idl-interface section [02:07:02.0000] <tobie> heycam: yes [02:07:39.0000] <nox> It looks to me like the spec of createContextualFragment is wrong because I don't see how it can behave as tested in "Namespace generally shouldn't matter". [02:34:52.0000] <Ms2ger> /me denies everything [03:31:12.0000] <tobie> annevk: would like your thoughts on https://github.com/w3c/ambient-light/issues/17 [03:31:20.0000] <tobie> when you find the time [03:33:39.0000] <tobie> annevk: and https://github.com/w3c/sensors/issues/150 [03:36:59.0000] <annevk> tobie: what is SensorReading? No enum I hope? [03:37:17.0000] <tobie> annevk: an interface [03:38:01.0000] <annevk> tobie: for 17 I think you don't have to redefine it [03:38:03.0000] <tobie> annevk: contains a hr-timestamp and the value(s) of the sensor at that time [03:38:17.0000] <tobie> annevk: cool [03:38:37.0000] <annevk> tobie: only use would be stating a more specific return value, right? [03:38:51.0000] <tobie> annevk: yes [03:39:40.0000] <annevk> tobie: you only do it if you change the type [03:40:00.0000] <annevk> tobie: which is an anti-pattern, but legacy [03:40:26.0000] <tobie> annevk: well, it's a subclass [03:40:43.0000] <annevk> tobie: not sure about 150 [03:41:00.0000] <tobie> annevk: it's very similar to that VR thing in https://github.com/w3c/webvr/issues/107 [03:44:01.0000] <tobie> annevk: well, in practise it's actually the same thing as VRPose (which webvr declares as an interface) [04:48:18.0000] <nox> annevk: Intimate with the subtle details of createContextualFragment? [04:49:13.0000] <annevk> nox: sorry [04:49:19.0000] <nox> Don't be. [04:49:27.0000] <nox> annevk: Know who could help? [04:50:03.0000] <annevk> nox: not really [04:50:28.0000] <nox> Ok. :) [04:52:51.0000] <annevk> Apart from you not many folks have studied the parser bits lately [04:56:20.0000] <nox> annevk: 'Unmark all scripts in <var>fragment node</var> as "already started" and as "parser-inserted".' Does that sound English? [04:57:23.0000] <annevk> nox: it's a little vague, although I think I get the intent [04:57:33.0000] <nox> annevk: Ok. [04:57:40.0000] <nox> https://github.com/w3c/DOM-Parsing/pull/23 [04:58:34.0000] <nox> annevk: Do I have something to do for that ipr failing test? Should I care? [04:58:42.0000] <nox> Or is that W3C bureaucracy that doesn't concern me? [04:59:08.0000] <annevk> nox: don't care [04:59:22.0000] <nox> Perfect. I like it when I don't have to care. [04:59:31.0000] <annevk> nox: it seems HTML is inconsistent with mark / using "already started" as flag [04:59:36.0000] <annevk> nox: oh well [09:44:58.0000] <nox> Wtf is IPR? [09:45:41.0000] <nox> Oh, Intellectual Property Rights, got it. [13:21:14.0000] <Domenic> Wait, I've lost the plot, are data URLs same origin or not? [13:25:17.0000] <TabAtkins> Depends on context, I think? [13:28:33.0000] <jgraham> I thought the answer was "no" in Chrome and latterly in the spec [13:29:32.0000] <jgraham> THere is a lovely test run with this change in gecko: https://treeherder.mozilla.org/#/jobs?repo=try&revision=28735d0f2e5516c5a6d1f7805a065a6edbd8f28b [13:39:55.0000] <jsbell> many web-platform-tests rely on data: behaving as in moz. [13:40:44.0000] <jsbell> Oh, hey, I said that before: https://github.com/w3c/web-platform-tests/issues/1999 [13:43:14.0000] <jgraham> Oh look a PR to fix some things [13:59:35.0000] <Domenic> Apparently data is mostly same-origin but not for navigations and workers or something like that https://github.com/whatwg/fetch/commit/6f223de29733e64dbe1dfc6028c6e0a4a5d89398 [14:06:49.0000] <caitp> so presumably code in a data uri can't read secure cookies or anything? [14:07:25.0000] <caitp> from window.opener or whatever [14:07:38.0000] <Domenic> Right so I guess they are different-origin but fetch treats them as same-origin [14:07:46.0000] <Domenic> but only for the purposes of fetching [14:08:02.0000] <Domenic> jsbell: I see that Chrome still supports UTF-32? :( [14:08:38.0000] <Domenic> Oh I see there are recent comments https://bugs.chromium.org/p/chromium/issues/detail?id=417850 [14:30:53.0000] <jsbell> Domenic: Yeah. We'll get rid of it soon. [14:31:00.0000] <Domenic> \o/ 2016-11-09 [20:22:47.0000] <MikeSmith> TabAtkins: wondering what should be done about https://lists.w3.org/Archives/Public/www-archive/2016Oct/0009.html (change to allow child-index pseudos to select unparented elements) [20:23:51.0000] <MikeSmith> TabAtkins: even though the spec change was made more than 3 years ago, Gecko is the only engine that has changed to match the spec change [20:24:29.0000] <MikeSmith> wondering if at least there are browser bugs open for rest [20:41:44.0000] <MikeSmith> raised https://github.com/w3c/csswg-drafts/issues/695 [02:45:23.0000] <zcorpan> is there a reason html has data-file-issue-url=https://whatwg.org/newbug rather than having the link go straight to github without a redirect? [02:48:59.0000] <annevk> zcorpan: I suspect to advertise the shortlinks [02:50:52.0000] <annevk> tobie: https://github.com/heycam/webidl/pull/211 is no longer waiting on me, right? [02:51:10.0000] <annevk> tobie: we should probably move bz's data to the SameObject issue, I suppose I could do that [03:04:05.0000] <smaug> there isn't any target value to target the opener, right? anything like <a href="foo.html" target="_opener">? [03:05:05.0000] <ondras> I am not aware of any. [03:27:43.0000] <annevk> smaug: don't think so [03:28:00.0000] <smaug> k, thanks [03:36:54.0000] <tobie> annevk: unassigned you. [04:35:24.0000] <tobie> TabAtkins: argue you should choose between dfn and algorithm attribute value to name algos and deprecate the other one. [04:35:45.0000] <tobie> TabAtkins: it's really confusing to have both [04:40:09.0000] <zcorpan> annevk: https://html.spec.whatwg.org/multipage/not_found.html the source here doesn't match that of https://github.com/whatwg/html/blob/master/404.html - what gives? (I was going to change the script src to /link-fixup.js) [05:02:44.0000] <zcorpan> i have an urge to change link-fixup.js to XHR /multipage/fragment-links.json so the browser doesn't need to download and compile a 2.8MB script that then typically no-ops [05:13:21.0000] <Ms2ger> Good call [05:21:36.0000] <MikeSmith> seconded [05:40:50.0000] <annevk> zcorpan: it looks like multipage has its own 404 and .htaccess [05:47:03.0000] <annevk> zcorpan: but locally that does not appear to be the case, so maybe the folder on the server is not properly cleared? [05:51:39.0000] <annevk> zcorpan: it seems the build script on the server uses rsync, so that might be the issue [05:52:01.0000] <annevk> zcorpan: we don't use rsync with --delete [05:53:07.0000] <zcorpan> annevk: ok [05:53:53.0000] <annevk> zcorpan: filed an issue, copied you [05:54:03.0000] <annevk> zcorpan: would like input from Domenic since he set this up [05:55:31.0000] <zcorpan> thx [09:16:13.0000] <TabAtkins> MikeSmith: It's a necessary change to get sane results from querySelector() on a DocumentFragment (as bz argued in the email that prompted the change). Theoretically we could match browsers closer by making it match things with *Element or DocumentFragment* parents, but that's just ridiculous. [09:16:46.0000] <TabAtkins> tobie: Agree, honestly. Been considering how best to handle this, as I want to add in the algo arguments soon. [09:17:23.0000] <MikeSmith> ok given that then it seems like to get interop on it we should at least have browser bugs open for getting the the implementations to update to the current spec [09:17:49.0000] <TabAtkins> What I think I'll do is add an attribute to <dfn> that designates it the naming dfn for the algorithm, so you get the right behavior even if there are 2+ dfns in the block. Then issue an unskippable warning for manually-named algos that they should switch to using a <dfn> to name themselves. [09:17:54.0000] <TabAtkins> MikeSmith: Yes. [09:18:41.0000] <MikeSmith> in general seems like we need some more systematic way of getting bugs raised in cases like this one [09:18:54.0000] <MikeSmith> /me has no brilliant ideas how to do that [09:24:01.0000] <tobie> TabAtkins: multiple DFNs per algos don't bother me per se. (Never had the use case personally.) [09:24:55.0000] <TabAtkins> tobie: It's not unusual. You just happen to define more than one thing in an area. [09:25:41.0000] <tobie> TabAtkins: OK. [09:27:55.0000] <tobie> TabAtkins: we're trying to move to more TC-39 like naming for algorithms in WebIDL which you can then Call(with, args...) [09:27:58.0000] <annevk> Domenic: do you know if there are any missing custom element tests? [09:28:19.0000] <annevk> botie: ask rniwa if there are any missing custom element or shadow tree tests? [09:28:19.0000] <botie> will do [09:28:52.0000] <tobie> TabAtkins: so UpperCamelCase. [09:29:27.0000] <annevk> tobie: use <dfn abstract-op> to preserve the case [09:29:43.0000] <tobie> annevk: oh [11:33:19.0000] <Domenic> annevk: what do you mean "missing"? [11:36:47.0000] <annevk> Domenic: stuff that needs to be written [11:37:25.0000] <annevk> Domenic: Mozilla might have some resources [11:50:39.0000] <tobie> TabAtkins: how do you link to an abstract op, though? <a></a>? [11:50:50.0000] <tobie> TabAtkins: no shortcut? [11:51:05.0000] <TabAtkins> <a abstract-op>. I haven't added a shortcut yet, because nobody's expressed a preference in the syntax. Let me go dig up the issue real quick. [11:51:26.0000] <TabAtkins> https://github.com/tabatkins/bikeshed/issues/809 [11:53:58.0000] <tobie> TabAtkins: Thanks. Can you do (!|?)identifier(args) as a shortcut? And do all of the !? magic linking while you're at it? [11:54:13.0000] <TabAtkins> What's all this? [11:54:14.0000] <tobie> TabAtkins: also ponies would be nice [11:54:48.0000] <tobie> TabAtkins: iirc ? throws, ! doesn't throw [11:55:27.0000] <TabAtkins> Oh, I have an long-term issue to support ecmarkup. [11:56:19.0000] <tobie> TabAtkins: I was suggesting to use ! or ? as your shorthand prefix and (...) as suffix [11:56:37.0000] <tobie> TabAtkins: but that is probably too magical [11:56:58.0000] <Domenic> annevk: I guess there might be a gap in testing [CEReactions] for customized built-ins [12:46:14.0000] <zcorpan> Domenic: i don't know how the server setup works. will things just work if the link-fixup PRs are merged, or is something more necessary? [12:46:42.0000] <Domenic> zcorpan: supposedly it will but sometimes i need to poke it. Let me know when you merge things and I'll ensure things are straightened out on the backend [12:48:40.0000] <zcorpan> Domenic: ok. i suppose someone should review first [12:50:17.0000] <zcorpan> MikeSmith: you r+ed the wattsi PR; could you review the other two also? :-) [12:54:46.0000] <tobie> Hey Domenic, saw your comment about UpperCase vs. English phrases and would like to understand your thoughts better around this. [12:54:57.0000] <Domenic> tobie: sure. [12:55:18.0000] <Domenic> Anything in particular? [12:55:47.0000] <tobie> Domenic: so I'm working on https://www.w3.org/Bugs/Public/show_bug.cgi?id=22859 right now [12:56:13.0000] <tobie> Domenic: and not only does this bring in more CamelCase notation [12:57:14.0000] <tobie> Domenic: it also revealed that ES6 no longer defines "sign" [12:57:28.0000] <Domenic> hah wow really? [12:57:40.0000] <tobie> at least I couldn't find it [12:57:50.0000] <Domenic> yeah apparently so [12:57:52.0000] <tobie> ironically they're using prose for this now [12:59:14.0000] <Domenic> So in my mind using existing PascalCase abstract ops is not a problem [12:59:28.0000] <tobie> So my first reflex was to create an abstract ops for that: https://gist.github.com/tobie/cf495a00600d904769c30fce05c0069f [12:59:36.0000] <Domenic> But it's a little strange that Web IDL exports a bunch of algorithms with English names, like most web specs [12:59:45.0000] <Domenic> And then starts exporting a few with PascalCase notation [12:59:56.0000] <zcorpan> Domenic: \o/ OK let's do this [13:00:25.0000] <tobie> Domenic: PascalCase--couldn't remember the name [13:00:40.0000] <tobie> Domenic: ok, so that's where you draw the line [13:00:59.0000] <Domenic> It's not a big deal, and Web IDL is a strange case anyway [13:01:15.0000] <Domenic> E.g. it makes perfect sense to me to have LegacyPlatformObjectGetOwnProperty or whatever it's called [13:01:20.0000] <Domenic> But that's not exported so I feel a bit better [13:02:39.0000] <tobie> Domenic: OK, so you sort of see WebIDL as a cushion between JS and the Web [13:02:55.0000] <tobie> Domenic: I can work with that. [13:03:20.0000] <Domenic> Yeah, basically. There's a valid debate to be had about whether we should be cushioning the web from JS, or at least, whether we should be cushioning it from JS notation. [13:03:41.0000] <Domenic> Maybe all specs should switch to PascalCaseFunctionCall(a, b, c) instead of "perform the operation given a, b, and c" [13:03:53.0000] <Domenic> But I'm a little leery of starting that conversion right here [13:05:03.0000] <tobie> Domenic: tbh, I'm not sure if there's a proper venue for this conversation to be productive [13:05:05.0000] <TabAtkins> I prefer the prose names, fwiw. [13:05:26.0000] <zcorpan> Domenic: ok all merged [13:05:48.0000] <Domenic> zcorpan: great. Apparently the server did not recompile wattsi automatically... I've run into this in the past. Manually doing so now. [13:06:13.0000] <zcorpan> thx [13:07:03.0000] <tobie> TabAtkins: yeah, it's not the PascalCasing I'm after, it's the [abstract ops name](arguments) construct. [13:07:50.0000] <TabAtkins> Why is that better? It's not unusual for my algo invocations to use values that don't easily lend themselves to that formal syntax. [13:08:27.0000] <TabAtkins> Plus, it leans us toward ordered arguments, rather than named, which is always fragile, but *especially* so when it's cross-domain calls like this. [13:08:37.0000] <TabAtkins> The Bikeshed syntax is going to be named-argument based. [13:08:37.0000] <tobie> TabAtkins: I just think it reads better and is more explicit about what's going on [13:09:28.0000] <tobie> TabAtkins: do you have pointers as to how that's going to look? [13:09:36.0000] <TabAtkins> I don't see how "Let |foo| be the result of SomeOp(|bar|, |baz|)" is more explicit than "Let |foo| be the result of <a>doing the op</a> with |bar| and |baz|". [13:09:48.0000] <TabAtkins> tobie: I don't yet, but I'm happy to draw up my plans in an issue. [13:10:05.0000] <tobie> TabAtkins: I'd like that [13:10:49.0000] <tobie> TabAtkins: I'm basically in need of more organization and structure in the WebIDL spec and the only model I have given the problem domain is the ES spec [13:11:22.0000] <TabAtkins> Which is, imo, one of the least readable specs in existence. ^_^ [13:11:29.0000] <TabAtkins> Precise, but extremely unreadable. [13:12:43.0000] <tobie> TabAtkins: yeahā€”I'm not arguing this is a _good_ model. [13:14:07.0000] <tobie> TabAtkins: as an aside, I've found the borders around the algorithm extremely helpful to visualize the overall structure of the spec [13:14:19.0000] <TabAtkins> Yeah, me too. [13:14:33.0000] <tobie> TabAtkins: similarly, the scroll-spy script I added helped a lot [13:14:40.0000] <TabAtkins> ? [13:15:05.0000] <TabAtkins> Oh, I see it! [13:15:14.0000] <TabAtkins> Ah, that's pretty cool. I wouldn't mind building that into Bikeshed. [13:15:36.0000] <tobie> TabAtkins: I've opened an issue against tr-design [13:15:50.0000] <tobie> TabAtkins: https://github.com/w3c/tr-design/issues/108 [13:16:11.0000] <Domenic> zcorpan: is it just me or are the browser-logos 200ing each time instead of 304ing [13:16:29.0000] <Domenic> Hmm Chrome says "from memory cache" though so something's going on there [13:17:27.0000] <Domenic> Meh probably devtools somehow [13:18:30.0000] <Domenic> So happy we have the section self-links now, thanks annevk [13:18:51.0000] <tobie> TabAtkins: so I'm basically hungry for something that lets me define the algorithm and call them in a way that's super clear [13:19:18.0000] <tobie> TabAtkins: whether that's PascalCasing or something else it secondary. [13:20:08.0000] <tobie> *is [13:20:41.0000] <TabAtkins> Right. Will write up in a few, finishing up a feature right now. [13:24:03.0000] <zcorpan> Domenic: images have a special cache, maybe that's why devtools are saying 200 [13:25:23.0000] <Domenic> tobie: reviewing legacy platform objects now btw [13:50:03.0000] <gsnedders> TabAtkins, tobie: the harder problem, which I think is more needed, is *not* have unintended side-effects, or access other variables from some implicit scope [13:51:13.0000] <tobie> gsnedders: yes. Pure functions ftw. [13:55:05.0000] <gsnedders> I've been wondering about trying to prove properties in such functions again. [13:55:43.0000] <zcorpan> is the "too slow?" alert helping anyone? i think the dialog itself is slowing down loading of the single-page spec [13:57:03.0000] <gsnedders> I wonder if that is partly the opacity? [13:57:07.0000] <Domenic> zcorpan: I hates it but I imagine some newbies who accidentally ended up on singlepage might use it [13:57:12.0000] <zcorpan> it's fixed-pos but still causes layout invalidation in chromium for some reason. maybe selectors need to be reevaluated [14:01:58.0000] <zcorpan> Domenic: how about we make the "Multipage Version" link stand out a lot more in the single-page version, and remove the alert [14:02:11.0000] <Domenic> zcorpan: sounds plausible [14:05:01.0000] <gsnedders> zcorpan: an extreme solution would be redirect to multipage, unless there's a cookie for the single-page [14:05:12.0000] <gsnedders> zcorpan: given I expect relatively few people actually want the single page [14:05:59.0000] <TabAtkins> Yes, single-page sucks and I hate it. [14:06:14.0000] <TabAtkins> Except for the rare use-case of "I want to ctrl-F the entire spec for something" [14:06:45.0000] <zcorpan> gsnedders: might actually be a good idea [14:08:35.0000] <gsnedders> I think it's probably actually the best option [14:08:45.0000] <gsnedders> because I expect almost nobody wants the single page apart from a few of us in here [14:11:22.0000] <Domenic> dislike [14:11:42.0000] <Domenic> I think a lot of implementers and spec developers want the single-page [14:16:22.0000] <MikeSmith> yeah a lot people cite the single-page version [14:16:41.0000] <Domenic> annevk: ping for tests for https://github.com/whatwg/html/pull/1986 [14:16:41.0000] <botie> will do [14:17:50.0000] <MikeSmith> hey is there not some query param that somebody can append to the spec URL to get the developer-only view? [14:17:59.0000] <MikeSmith> I have forgotten [14:18:10.0000] <Domenic> no :( [14:18:29.0000] <MikeSmith> oh [14:18:43.0000] <MikeSmith> we removed all the JS and CSS for that too? [14:18:50.0000] <MikeSmith> I thought I saw it was still there [14:19:31.0000] <MikeSmith> where in the olden times there were was button at the top of the spec to get the developer-only view [14:19:43.0000] <Domenic> MikeSmith: https://github.com/whatwg/wattsi/issues/27 [14:19:47.0000] <MikeSmith> /me looks [14:19:51.0000] <Domenic> MikeSmith: an outdated version still exists at developers.whatwg.org [14:19:57.0000] <Domenic> But we don't link to it anymore since it's outdated [14:20:07.0000] <MikeSmith> oh yeah [14:20:17.0000] <MikeSmith> I remember this wattsi issue now [14:20:34.0000] <MikeSmith> I guess I should work on that [14:20:53.0000] <Domenic> Yeah. And maybe we don't need perfect parity with the existing one and should just be happy with what's created [14:21:02.0000] <Domenic> e.g. just accept the new splitting [14:21:03.0000] <gsnedders> Domenic: but won't most implementers and spec developers already have the single-page-allowing cookie? [14:21:17.0000] <Domenic> gsnedders: how would they get such a cookie? [14:21:29.0000] <Domenic> gsnedders: and what if they get/use a new computer? [14:21:35.0000] <gsnedders> Domenic: load spec, click link to single page, get cookie [14:21:43.0000] <gsnedders> Domenic: but that's relatively rare [14:31:01.0000] <TabAtkins> Oh man, I finally figured out why the ToC jiggles sometimes in Bikeshed specs (and fixed it). [14:31:26.0000] <TabAtkins> Frickin' border-width rounding. [14:32:09.0000] <TabAtkins> So going from "border-width: 1px" to "border-width: 3px; margin: -2px" doesn't necessarily result in an identical layout size, depending on your DPI. [14:34:57.0000] <gsnedders> wat. [14:35:19.0000] <TabAtkins> border sizes have to round to exact hardware-pixel sizes, so you don't get banding! [14:35:42.0000] <gsnedders> oh, and the fact that most things don't use 1:1 or 1:4 rounding nowadays, duh [14:35:57.0000] <gsnedders> soz, all the HiDPI stuff I have uses 1:4 [14:36:12.0000] <TabAtkins> Well, and my spec window on my work computer uses 90% zoom, to make it small enough to trigger the sidebar ToC. [14:36:20.0000] <gsnedders> Ah, that doesn't help :) [14:36:34.0000] <TabAtkins> Was wondering why the computed value of border was 1.1111111px ^_^ [14:51:32.0000] <zcorpan> hmm i accidentally removed the reload preventor. does it work? can't recall seeing it [14:52:43.0000] <Domenic> yeah me neitehr [14:53:03.0000] <Domenic> maybe browsers stopped firing key events for that [14:56:04.0000] <gsnedders> so: what are some interesting, complex functions/operations/whatever-we-want-to-call-them in specs that might be interesting to look at with formal methods? [15:01:16.0000] <Domenic> for what purpose? [15:54:45.0000] <smaug> Google docs uses Flash o_O [15:54:57.0000] <smaug> well, spreadsheets 2016-11-10 [16:08:14.0000] <Domenic> I wonder if Chrome's latest block-small-flash thing blocks it [16:26:12.0000] <Jasper> Is there an adjective or word used to describe a URL intended to be navigated to vs. loaded? [16:26:46.0000] <Jasper> e.g. /foo.css isn't usually intended to be navigated to, and /my-app/#home-page isn't intended to be loaded, per se. [16:27:01.0000] <Jasper> I don't know if there is existing or better terminology for this. [16:30:00.0000] <Domenic> Maybe URL vs. href? [16:30:24.0000] <Jasper> I suppose, yeah. [16:30:33.0000] <gsnedders> Domenic: generically, to try and find spec bugs; in this case, to see if we can get anything useful [16:30:36.0000] <Jasper> There are other ways to navigate but I won't be that pedantic. [16:30:56.0000] <Jasper> I was wondering if there was any distinction between these "classes of resources", or, at the very least, classes of actions. [16:52:16.0000] <Domenic> There are distinct navigate and fetch algorithms (with navigate depending on fetch) [18:21:36.0000] <boogyman> URL paths starting with TR should not be referenced correct? What is the justification behind that? [18:24:28.0000] <tantek> sounds like an FAQ. likely reason: by the time something makes it to TR, there are already bug fixes in the living spec and/or editor's draft, and those should be referenced instead (since they're more up to date) [18:29:25.0000] <boogyman> cheers [05:14:47.0000] <annevk> tobie: I can't run bikeshed on IDL anymore [05:15:07.0000] <tobie> that sounds bad. [05:15:55.0000] <tobie> annevk: do you have a dump you can share? [05:17:21.0000] <annevk> tobie: filed https://github.com/heycam/webidl/issues/233 [05:17:32.0000] <annevk> tobie: doesn't fail on other specs, with fresh bikeshed [05:18:38.0000] <tobie> annevk: wfm right now, but haven't upgraded bikeshed in a week [05:19:48.0000] <tobie> annevk: doing so right now [05:19:56.0000] <annevk> tobie: I think it has to do with an update from last night, where the IDL parser got an update [05:20:07.0000] <annevk> tobie: I guess it triggers on something in the IDL specification [05:20:08.0000] <tobie> annevk: oh [05:20:17.0000] <tobie> sounds fun [05:20:40.0000] <annevk> Someone contributed a patch to Fetch to make use of the new record type [05:20:53.0000] <annevk> That triggered an issue against the IDL parser, then Bikeshed, and now IDL itself [05:21:16.0000] <annevk> Early adopter pain [05:21:25.0000] <tobie> yeah-- [05:22:12.0000] <annevk> One thing I notice is that we haven't really embraced the importance of <dfn> yet and how it sets up a framework [05:22:24.0000] <annevk> We often skim over it in reviews while it's quite an important aspect [05:23:36.0000] <tobie> annevk: yeah. There a pretty big lack of consistency around this. [05:25:06.0000] <tobie> annevk: we should probably agree on some guidelines around this, which should probably be written somewhere [05:32:50.0000] <tobie> annevk: see https://github.com/tabatkins/bikeshed/issues/867 [05:33:22.0000] <annevk> good times [05:40:25.0000] <annevk> /me wonders if zcorpan is interested in converting html-differences away from Anolis [05:40:45.0000] <annevk> At this point, we have encoding/html-differences/mimesniff/xhr [06:06:14.0000] <tobie> annevk: jyasskin's on paternity leave. [06:06:39.0000] <annevk> tobie: oh, I guess then we should assume copypasta [06:06:49.0000] <annevk> tobie: since it doesn't make much sense [06:07:09.0000] <tobie> annevk: yeah--this needs cleanup [07:38:27.0000] <annevk> JakeA: async function x() { w(2) }; w(1); x(); w(3) [07:38:33.0000] <annevk> JakeA: any idea why the order is 123? [07:39:35.0000] <annevk> JakeA: async is sync unless you have await? [08:09:13.0000] <Domenic> kind of... [08:09:23.0000] <Domenic> async functions still run their steps synchronously [08:09:27.0000] <Domenic> they just return a promise [08:09:39.0000] <Domenic> and if you put an await inside them then any steps after that await run after the promise settles [08:11:42.0000] <JakeA> annevk: same as the function you pass into the promise constructor [08:12:06.0000] <JakeA> Runs sync [08:12:41.0000] <annevk> okay, so you could kinda use them for event listeners, just invoke preventDefault before you go async [08:27:32.0000] <Ms2ger> annevk, huh, there was a thread on mozilla.dev.platform about that just earlier today [09:17:28.0000] <TabAtkins> tobie: Ugh, sorry, fixed. Would have fixed last night (I learned about it just after I left work), but my laptop's not in a working state at the moment. Sorry again. [09:18:19.0000] <tobie> TabAtkins: np. shit happens. especially these days. [09:19:09.0000] <tobie> TabAtkins: I think annevk lost more time over it than I did. :) [09:19:27.0000] <TabAtkins> My fault for not having adequate test coverage. Definitely mea culpa. [09:19:33.0000] <TabAtkins> Fixing that now, obvs. ^_^ [09:22:05.0000] <tobie> TabAtkins: CI was red though [09:22:18.0000] <tobie> TabAtkins: on master [09:23:39.0000] <TabAtkins> Because I pushed several commits at once, it "broke" on a nonsensical commit, so I figured it was something minor to do with output formatting. I didn't check on it immediately, and then forgot to follow up before I left. :/ [09:27:42.0000] <tobie> TabAtkins: oh, that explains why I was seeing the issue on head, but had to checkout head^^^ to get it working again [09:27:53.0000] <TabAtkins> yup ;_; [09:28:09.0000] <TabAtkins> Need to push every time, I guess. Was just doing some repo cleanup. [09:28:48.0000] <TabAtkins> (I did test that commit, but not with the testsuite - I ran it on DOM, which uses syntax highlighting but not any *WebIDL* syntax highlighting, which is the part that broke.) [10:01:39.0000] <annevk> TabAtkins: oh, why doesn't DOM use IDL syntax highlighting? [10:02:13.0000] <TabAtkins> It has all real IDL, which is highlighted directly; it doesn't invoke the highlighting code to color any example WebIDL. ^_^ [10:02:29.0000] <TabAtkins> It's the "example WebIDL" part that I moved into the new file without moving all of its dependencies. [10:02:59.0000] <TabAtkins> (I was just shifting some code to separate files to reduce the "everything is in __init__" problem a little bit.) [10:03:24.0000] <annevk> TabAtkins: ah okay [10:03:36.0000] <annevk> TabAtkins: btw, given your comments I think I can merge https://github.com/whatwg/encoding/pull/79 right? [10:03:46.0000] <annevk> TabAtkins: and just hope the LINK ERROR will disappear [10:03:52.0000] <TabAtkins> Yeah, go for it. [10:04:07.0000] <TabAtkins> Doing some fiddling right now to make it go away. [10:09:57.0000] <annevk> ta [10:10:08.0000] <annevk> 3 more Anolis documents to go [10:10:21.0000] <annevk> html-differences, which I hope zcorpan will do [10:10:24.0000] <annevk> and xhr / mimesniff [10:10:32.0000] <annevk> I plan on doing mimesniff tomorrow [10:10:43.0000] <annevk> xhr is mostly done, but overloads :/ [10:57:01.0000] <tobie> Domenic: https://www.w3.org/Bugs/Public/show_bug.cgi?id=22859 got me to dig into the WebIDL number types (I misunderstood the issue and new little about how the different number types worked and, tbh, not much more about how numbers are stored). Ended up at https://github.com/heycam/webidl/issues/33, which now makes a lot of sense. [10:57:52.0000] <tobie> Domenic: I could refactor all of those number bindings to something like: [10:59:39.0000] <tobie> https://www.irccloud.com/pastebin/4doiIQ8y/ [11:00:39.0000] <tobie> Domenic: It would make things shorter and clearer and help prepare for something like what you describe in #33 [11:01:46.0000] <tobie> Domenic: I'm not entirely convinced it's useful, though. [11:01:55.0000] <tobie> Domenic: thoughts? [11:09:40.0000] <Domenic> tobie: I think there's value in re-doing the number types to have less repetitive boilerplate [11:09:50.0000] <Domenic> tobie: I'm not sure about that exact formulation but maybe that's the way to go [11:10:03.0000] <Domenic> It simply would make it easier to read and understand what is going on [11:10:22.0000] <tobie> Domenic: yeah, it took me a long time to figure out what was going on [11:10:36.0000] <tobie> Domenic: and that all that repetition was actually repetition [11:10:38.0000] <Domenic> E.g. maybe you don't use the ES operations like bug 22859 says, and just say "return the result of performing a numeric conversion with 2^8 as the upper bound" [11:11:05.0000] <tobie> yeah, not using the ES operations makes it easier [11:11:24.0000] <Domenic> tobie: you may enjoy https://github.com/jsdom/webidl-conversions/blob/master/lib/index.js#L6-L118 [11:12:06.0000] <Domenic> I guess the integer types are where the repetition really happens [11:12:07.0000] <tobie> Domenic: oh, that is really cool [11:12:42.0000] <tobie> Domenic: yes, and well, given how many they are, that's a lot of repetition [11:12:57.0000] <tobie> *there [12:19:11.0000] <botie> rniwa, at 2016-11-09 17:28 UTC, annevk said: if there are any missing custom element or shadow tree tests? [12:40:33.0000] <tobie> Domenic: your long long implementation doesn't seem to match the spec (at https://github.com/jsdom/webidl-conversions/blob/master/lib/index.js#L93-L94). It might be right, but if so, I don't understand why. [12:41:38.0000] <Domenic> tobie: hmm yeah it seems like 32 should be 53 right? [12:41:47.0000] <tobie> Domenic: yes [12:42:42.0000] <Domenic> Filed, thanks [12:42:49.0000] <tobie> Domenic: Any pointers on how a long long work? [12:42:58.0000] <tobie> Domenic: is it storing an exponent? [12:43:07.0000] <Domenic> tobie: what do you mean how it works? [12:44:19.0000] <tobie> Domenic: like what it's using its bits for. [12:44:42.0000] <Domenic> tobie: what bits? Do you mean in browser implementations? They probably just use int64. [12:45:35.0000] <tobie> Domenic: does int64 also loose precision above a certain threshold? [12:46:24.0000] <Domenic> tobie: above 2^63 it starts wrapping around to -2^64 + 1 or something similar [12:47:40.0000] <tobie> Domenic: I'm just trying to understand why we have this weird 2^53 threshold in long long [12:47:46.0000] <jsbell> above 2^53, n + 1 stops making giving integer values [12:47:50.0000] <jsbell> sorry... [12:48:07.0000] <jsbell> above 2^53, n + 1 stops making sense (i.e. n + 1 === n in some cases) [12:48:12.0000] <Domenic> tobie: oh, that's because *in JS* everything is represented with 64-bit float (double), which acts as jsbell says [12:51:41.0000] <tobie> Domenic: so we're just making sure that the number can be represented in JS [12:52:21.0000] <Domenic> tobie: represented as an unambiguous integer, but yeah [12:52:22.0000] <tobie> jsbell: thanks [13:00:23.0000] <TabAtkins> The last unambiguous integer is 2^53-1, mind you. 2^53 is ambiguous, because 2^53+1 is the first "lost" integer, that rounds down to 2^53. [13:04:45.0000] <tobie> Reading up on the number type in ES6. [13:05:20.0000] <annevk> Poor tobie [13:05:35.0000] <tobie> yes, I think I deserve hugs [13:22:02.0000] <TabAtkins> Meh, it's a 64-bit float. Been used for decades. Nothing too fancy. [13:27:44.0000] <caitp> did you ever have to sit through multiple lectures in college about ieee754 floats and their format in school? [13:27:53.0000] <caitp> anyone who does that deserves hugs [13:41:47.0000] <tobie> I took philosophy and English literature in college, with a minor in fine arts. [13:42:16.0000] <TabAtkins> I mean, we def discussed it in Computer Architecture, yeah. Kinda important to know the bit patterns when you're gonna be twiddling them. [13:42:44.0000] <tobie> Yes. Hence reading up. [13:42:49.0000] <tobie> :) [13:43:03.0000] <TabAtkins> Ah, didn't realize you were totally new to them. They're fun, then! [13:43:44.0000] <TabAtkins> 1 sign bit, 11 exponent bits, 52 value bits (really 53, due to the "hidden bit") [13:45:12.0000] <astearns> "last unambiguous integer" is my favorite phrase of the day [13:45:41.0000] <astearns> makes me think of computers just counting up to "lots and lots" and giving up after that [13:46:04.0000] <TabAtkins> I mean, that's how computers work, yeah. [13:46:19.0000] <TabAtkins> For interesting definitions of "giving up". [14:09:52.0000] <tobie> The hidden bit? [14:11:38.0000] <tobie> Oh boy. That looks complicated. [14:15:39.0000] <caitp> the week of that class devoted to this probably gave the coffeeshop an extra 1200$ in revenue [14:16:10.0000] <tobie> :D [14:19:11.0000] <TabAtkins> tobie: The value is always encoded in proper normalized sci-not, where there's only a single, non-zero, digit on the left side of the decimal (like "1.something"). Since this is binary, that digit is guaranteed to be a 1, so there's no need to encode it; we can throw it away and just encode the fractional part instead. Thus we actually have 53 bits of [14:19:11.0000] <TabAtkins> "value", but only encode 52 of them - there's a "hidden bit". [14:19:54.0000] <tobie> Oh. That's it? [14:19:58.0000] <TabAtkins> Yup, that's it. [14:20:06.0000] <tobie> Have you considered teaching? [14:20:10.0000] <TabAtkins> Yes. [14:20:19.0000] <TabAtkins> When I'm done needing money, that's my plan. [14:20:41.0000] <tobie> Yeah. I was going to say something about the pay. [14:21:05.0000] <caitp> tenured positions pay reasonably well, especially if you rise up the foodchain and become a department head or registrar or something [14:21:11.0000] <TabAtkins> My partner chose a low-paying career, so one of us has to stay in a money-making industry. :/ [14:21:31.0000] <TabAtkins> caitp: That's a lot of work, and a lot of time. [14:21:41.0000] <caitp> that is true [14:24:49.0000] <tobie> Yeah. Academia is a long winding road. Wouldn't recommend it as a money making strategy. [14:26:46.0000] <jsbell> *cough* denormalized numbers *cough* [14:28:04.0000] <tobie> jsbell: that sounds funny but I'm not sure why. [14:28:54.0000] <TabAtkins> jsbell: Denormalized numbers are an error case you don't need to worry about. [14:29:11.0000] <Domenic> Added to https://wiki.whatwg.org/wiki/Band_names [14:29:31.0000] <TabAtkins> +1 [14:29:32.0000] <jsbell> TabAtkins: disagree; they show up in JS [14:29:59.0000] <TabAtkins> jsbell: Yeah, they *show up*, but the only consequence is that you end up with less than 53 bits of precision. Not important for learning about doubles. [14:31:07.0000] <jsbell> Just a case where "ays encoded in proper normalized sci-not, where there's only a single, non-zero, digit on the left side of the decimal" stops being true [14:31:15.0000] <jsbell> Oh, and *hugs* all around [14:31:36.0000] <TabAtkins> tobie: For reference, if your exponent is at max-negative, representing a very tiny number very close to zero, the number denormalizes; the hidden bit switches to zero, so you can represent numbers *even smaller* than the exponent suggests. [14:32:08.0000] <jsbell> TabAtkins is indeed good at teaching :) [14:34:16.0000] <caitp> surely your new president elect will support education reforms backed by grants to support higher salaries for new high performing educators, to compete with work in industry, and then you guys can start taking full advantage of that [14:40:37.0000] <tobie> TabAtkins: ok, I guess I see how that makes sense. I also understand why folks would want other number options in JS. [15:03:47.0000] <gsnedders> /me can't actually remember that much detail about floats off-hand, ever [15:03:53.0000] <gsnedders> I always have to look it up, always [15:05:46.0000] <jyasskin> annevk: The ability to write {{record}} was intentional, for use in <code>{{record}}<key, value></code>, but being intentional doesn't make it right. ;) [15:06:53.0000] <jyasskin> annevk: leaving "mappings" unexported was unintentional. [15:07:20.0000] <Philip`> Floats are just like fixed-point numbers but more buoyant [15:19:19.0000] <gsnedders> I like whenever Philip` appears to make useful comments. [15:23:15.0000] <aklein> Domenic, annevk: do you recall what particular concern caused Location to override [[SetPrototypeOf]] in https://github.com/whatwg/html/pull/638? [15:25:05.0000] <Domenic> aklein: location can be accessed cross origin so we don't want you to be able to set another origin's location's __proto__ [15:25:31.0000] <gsnedders> is location still relied upon by some plugins to determine origin? [15:28:32.0000] <aklein> Domenic: ah, this just increases the restriction such that you can't even make that modification on the same origin [15:28:38.0000] <aklein> Domenic: sound right? [15:28:45.0000] <aklein> littledan__: ^^^ [15:29:44.0000] <Domenic> aklein: yeah sounds right, annevk or bholley may be able to confirm more. [15:30:26.0000] <bholley> location properties are hoisted onto the instance and frozen because of the plugin issue [15:30:49.0000] <bholley> the cross-origin issue is orthogonal, I think [15:31:33.0000] <aklein> bholley: do you have a link for this "plugin issue"? [15:31:52.0000] <bholley> aklein: not offhand, but you can grep the mailing lists for when it was discussed [15:32:55.0000] <bholley> aklein: https://lists.w3.org/Archives/Public/public-script-coord/2012JulSep/0144.html [15:33:28.0000] <aklein> ah, this must be what gsnedders was referring to above... [15:34:19.0000] <gsnedders> aklein: yes [15:34:27.0000] <aklein> bholley: that explains why toString and href have to be non-configurable non-writable own properties, but it doesn't explain why the prototype has to be frozen... [15:34:50.0000] <aklein> rather its [[Prototype]] [15:35:31.0000] <bholley> aklein: oh true [15:35:40.0000] <bholley> aklein: it might be the cross-origin thing then. I don't remember [15:36:08.0000] <Domenic> Where's that cross origin objects repo with all the history hete [15:36:49.0000] <Domenic> https://github.com/annevk/html-cross-origin-objects/blob/master/lore.txt [15:39:01.0000] <aklein> it totally makes sense that for a _cross-origin_ access [[SetPrototypeOf]] throws [15:40:41.0000] <aklein> but it seems that HTML just specifies Location in such a way that [[SetPrototypeOf]] always fails, even from the same origin [15:49:46.0000] <bholley> aklein: it may be a holdover from how things were done previously, or there may be a reason i'm not remembering - would require some careful considering if there were a reason to change it [15:50:04.0000] <bholley> aklein: note that window has a frozen prototype for other reasons [15:50:30.0000] <bholley> aklein: I don't have the cycles to page it all in right now though :-( 2016-11-11 [16:40:10.0000] <gsnedders> aklein: also note that when that public-script-coord email was written [[SetPrototypeOf]] did not yet exist, IIRC [16:43:28.0000] <rniwa> Domenic: yt? [17:27:19.0000] <TabAtkins> tobie: Yeah, people really want 64-bit ints, for obvious reasons. [21:38:31.0000] <annevk> aklein: I think that might have been for simplicity reasons [21:39:10.0000] <annevk> aklein: to just align Location and WindowProxy in as many ways as possible [22:05:52.0000] <felixjet> hiya everyone [22:06:35.0000] <felixjet> i was checking the whatwg FAQ for feedback and i'm more confuse now [22:07:02.0000] <felixjet> should i use <dl> and <dt> <dd> for FAQs? [22:07:09.0000] <felixjet> where <dt> is question and <dd> answer [22:07:25.0000] <felixjet> it seems like make sense, but an answer is not a definition of a question, at all [22:07:53.0000] <felixjet> the whatwg FAQ page is hosted on a wikimedia script so... that forces the page to use <h3> for questions and <p> for answers [22:08:05.0000] <felixjet> not a good example to clear my doubt i think [22:19:03.0000] <felixjet> and also if someone can confirm me if this thread (https://github.com/whatwg/html/issues/1937) is resolved as being able to use <div> to group definitions would be nice, because i've read most of the messages and i'm not 100% sure [23:34:11.0000] <annevk> felixjet: as defined in the HTML Standard <dl> is no longer a definition list [23:35:02.0000] <annevk> felixjet: also, as you can see at https://html.spec.whatwg.org/multipage/semantics.html#the-dl-element it allows either <div> children or <dt>/<dd> groupings [23:36:43.0000] <felixjet> and <dt>/<dd> inside <div> ? [23:36:55.0000] <felixjet> <dl><div><dt><dd></div></dl> ? [23:39:27.0000] <annevk> felixjet: yes [23:44:13.0000] <felixjet> thanks! [00:28:42.0000] <tobie> Am I reading the ES to IDL long long conversion algorithm properly? (https://heycam.github.io/webidl/#es-unsigned-long-long) [00:28:42.0000] <tobie> Are the [EnforceRange] and [Clamp] extended attributes using much lower bounds than those supported by the number for the reasons Domenic exposed yesterday? [00:28:42.0000] <tobie> If so, is this just completely unintuitive to me because I'm new to thinking about these issues? [00:29:10.0000] <tobie> Or is this unintuitive to all? [00:35:52.0000] <annevk> tobie: a number is 2^53-1 in ECMAScript [00:36:59.0000] <annevk> tobie: integer anyway [00:37:59.0000] <tobie> annevk: I think I'm starting to figure out the different pieces, but I'm still putting them together all wrong. [00:40:18.0000] <tobie> annevk: you can still have numbers bigger, right? But then they loose precision. [00:43:07.0000] <annevk> tobie: I don't think so [00:43:34.0000] <annevk> tobie: https://tc39.github.io/ecma262/#sec-ecmascript-language-types-number-type has some of the details [00:43:43.0000] <annevk> tobie: I'm not overly familiar with IEEE Standard for Binary Floating-Point Arithmetic though [00:43:51.0000] <annevk> tobie: or at all, hah [00:44:36.0000] <tobie> In the console: [00:44:55.0000] <tobie> Math.pow(2, 53) // 9007199254740992 [00:44:55.0000] <tobie> Math.pow(2, 55) // 36028797018963970 [00:54:08.0000] <annevk> tobie: Math.pow() is implementation-dependent [00:54:22.0000] <annevk> tobie: "Note that all the positive and negative integers whose magnitude is no greater than 2^53 are representable in the Number type (indeed, the integer 0 has two representations, +0 and -0)." [00:54:48.0000] <tobie> 36028797018963970 [00:55:04.0000] <tobie> oops sorry, wrong console. :) [00:57:32.0000] <tobie> annevk: so what about those numbers that are bigger in long long that are neither clamped nor whose range is enforced? [00:59:31.0000] <annevk> tobie: long long is always bigger, no? [00:59:37.0000] <annevk> tobie: which is arguably a problem [00:59:54.0000] <annevk> tobie: it doesn't make much sense for IDL to accept and return bigger numbers than JavaScript can handle reliably [01:00:02.0000] <tobie> annevk: if you look at unsigned long long, we use modulo 2^64, not modulo 2^53 [01:00:27.0000] <annevk> tobie: I saw that, presumably since long long is a 64-bit signifier [01:02:04.0000] <tobie> annevk: I don't understand. :( [01:03:36.0000] <annevk> tobie: as I said, I'm not great at the JavaScript numbers game either [01:04:03.0000] <tobie> annevk: I'll wait for the prof. TabAtkins to show up. [01:05:03.0000] <annevk> tobie: I think the problem with numbers larger than 2^53 is what happens when you start adding or subtracting [01:06:31.0000] <annevk> tobie: e.g., if you subtract 1 from 2^55 in your example you still get the same result [01:06:42.0000] <annevk> tobie: if you subtract 4, 6 is subtracted [01:07:33.0000] <tobie> annevk: yes, I'm aware of this. But then why is this an issue for clamped numbers and not for non-clamped ones. [01:07:34.0000] <annevk> tobie: https://mail.mozilla.org/pipermail/es-discuss/2013-August/032991.html [01:08:33.0000] <annevk> tobie: I think [Clamp] is typically not used for long long, but smaller values [01:09:05.0000] <annevk> tobie: and it's kinda recommended against [01:09:13.0000] <annevk> from what I remember anyway [01:11:07.0000] <annevk> zcorpan: hey, can you convert html-differences to Bikeshed? [01:12:09.0000] <tobie> annevk: I see no such warning in the spec [01:12:42.0000] <tobie> annevk: anyway, thanks for the help [01:13:25.0000] <zcorpan> annevk: i suppose. is it a problem? [01:16:34.0000] <annevk> zcorpan: not huge, but with Bikeshed we can do commit snapshots and I'm going to stop maintaining the xref repo [01:18:43.0000] <zcorpan> annevk: ok. i filed an issue [01:19:45.0000] <annevk> zcorpan: the other thing I guess is that we only have mimesniff/xhr/html-differences left and I'm converting mimesniff at the moment and xhr is halfway done [01:20:13.0000] <annevk> zcorpan: so nobody having to install and deal with Anolis anymore is also a win of sorts [01:20:28.0000] <zcorpan> yeah, agreed [01:29:13.0000] <tobie> when you need booleans in abstract operations, do you just "set |foo|" and then do "if |foo| is set"? [01:34:07.0000] <tobie> is calling those flags suggested? [01:40:10.0000] <annevk> tobie: in abstract operations you would use actual booleans and no flags [01:40:21.0000] <annevk> tobie: and copy the language from ECMAScript [01:40:57.0000] <tobie> annevk: are you and domenic working on a guide for this [01:40:58.0000] <tobie> ? [01:42:18.0000] <annevk> tobie: we're in the process of figuring out guidance around algorithms, but we're not sure yet what to suggest [01:42:34.0000] <tobie> annevk: heh [01:42:47.0000] <annevk> tobie: I'd personally be okay with going abstract-op everywhere, but it seems there's quite a few people that are okay with preserving named algorithms and such [01:42:59.0000] <annevk> tobie: including Domenic! [01:43:28.0000] <tobie> annevk: yeah, would have thought? :) [01:43:30.0000] <annevk> tobie: so for now we'll have things that "return" terminates the algorithm and "throw" rethrows unless caught with prose, etc. [01:44:00.0000] <tobie> annevk: is this happening in a repo anywhere? [01:44:33.0000] <annevk> tobie: yeah, needs to be made public soonish, I'll show you [01:45:25.0000] <tobie> cool [01:45:38.0000] <MikeSmith> is Domenic being OK with preserving named algorithms is maybe because he sees that way as being more understandable/approachable Web/JS developers? [01:45:56.0000] <annevk> (if anyone else is interested let me know, it's not public yet since we need to figure out some more details) [01:45:56.0000] <MikeSmith> or is that totally unrelated in this context? [01:46:34.0000] <annevk> MikeSmith: I don't really want to speak for him, but he's argued that it has worked well thus far [01:46:51.0000] <annevk> MikeSmith: and I think indeed also that people have said that ECMAScript is less readable [01:48:25.0000] <MikeSmith> well not sure how useful a data point this is, but personally I find the ECMAScript spec way extremely difficult/unfamiliar as far as readability [01:48:52.0000] <annevk> I wonder to what extent that is because it describes a programming language [01:48:57.0000] <MikeSmith> maybe that is just because it is so very different from the specs for Web APIs that I am more familiar with [01:49:00.0000] <annevk> But folks have also said this of Streams [01:49:01.0000] <MikeSmith> yeah, that, I think [01:49:13.0000] <annevk> Which describes a set of objects [01:51:45.0000] <MikeSmith> well I am pretty sure I have never actually read any other spec for a programming language. So for all I know it could be that the way to ECMAScript defines this is very like specs for other programming languages and looks familiar for anybody who has implemented a programming-language runtime, and for people who actually work in V8 and SpiderMonkey (or whatever the current name is) and JSC [01:52:41.0000] <annevk> When ECMAScript still had ReturnIfAbrubt there was a lot of complaining [02:02:15.0000] <gsnedders> MikeSmith: it's a kinda odd way to do it, but not unreasonable compared with others (which mostly rely on some separate section defining what happens with abrupt completion in various places) [04:45:08.0000] <tobie> MikeSmith: I actually find it very useful to identify algorithms as such, with input values, output values, etc. I find the Algo(args) style very expicit and that's something I like about it. I think developers in general find that easier to grok ("oh, here's a call to a function! this I understand!") [04:46:04.0000] <tobie> MikeSmith: the reason the ES spec is super hard to read, imho, is because it defines things that are super hard to understand, does so very precisely, and does so in a style that is reminiscent of the language it describes [04:48:26.0000] <tobie> MikeSmith: It's like meta-programming. Once you get in the right mindset, it's actually pretty straightforward, until you do, it makes your head explode. [06:48:51.0000] <annevk> tobie: if that were to happen, it would be hard to continue [06:50:43.0000] <tobie> Yes. Poor metaphor. I agree. [06:51:59.0000] <annevk> But I think I agree [06:52:23.0000] <annevk> Although I do think stuff like IDL can help a lot in understanding, if you're used to that kind of notation [06:52:35.0000] <annevk> It neatly summarizes a whole bunch about an interface/class [06:54:34.0000] <jgraham> FWIW I made the WebDriver spec use Result types rather than exceptions [06:54:48.0000] <jgraham> Although I did then add a "try" macro to it soā€¦ [08:42:02.0000] <smaug> jgraham: do you know where the test for web animations live? [08:42:21.0000] <smaug> in github [08:43:44.0000] <smaug> aha, https://github.com/w3c/web-platform-tests/blob/master/web-animations/interfaces/AnimationEffectTiming/endDelay.html [08:47:31.0000] <smaug> how do I in github UI go to the log of the file in its previous location ? [08:47:39.0000] <smaug> that particular file was moved [08:48:07.0000] <smaug> oh, perhaps blame works anyhow [10:44:03.0000] <TabAtkins> tobie, annevk: You can absolutely have numbers larger than 2^53 in JS. Numbers go all the way up to 10^308. You just, as Tobie says, lose precision - between 2^53 and 2^54, you can only represent even numbers, between 2^54 and 2^55, only numbers divisible by 4, etc. [10:46:49.0000] <tobie> TabAtkins: can you explain why the clamp / enforce range works on 2^53 then, but not the modulo? [10:47:14.0000] <tobie> s/works on/uses/ [10:47:14.0000] <TabAtkins> Are the details of this in WebIDL for me to read? [10:47:32.0000] <tobie> Yes. Just a sec. [10:48:40.0000] <tobie> TabAtkins: https://heycam.github.io/webidl/#es-long-long [10:49:28.0000] <tobie> In particular steps 2.3, 3.1 and 6. [10:49:42.0000] <tobie> TabAtkins: ^ [10:51:02.0000] <tobie> TabAtkins: it feels like the semantics of clamp/enforce range are different here. And I don't understand the reasoning. [10:52:37.0000] <TabAtkins> Yeah, that's weird. I'm guessing it's because long long was intended to be the i64 type that Java and other langs expose, so the initial definition was written with that behavior, while [Clamp] and [EnforceRange] were added later and more explicitly coupled to JS' [10:52:43.0000] <TabAtkins> s representation. [11:49:00.0000] <tobie> TabAtkins: thanks. Filed https://github.com/heycam/webidl/issues/237 2016-11-12 [16:03:47.0000] <smaug> foolip: since you answered to some SecureContext email in blink-dev, this rather bad bug should probably get fixed https://bugs.chromium.org/p/chromium/issues/detail?id=649686 [00:25:48.0000] <tobie> Domenic: thanks for closing the related issue on the old webidl tracker. Got to experience a mid-air collision detection. :) [00:35:15.0000] <annevk> tobie: could you start using the "Editorial: " commit title convention for webidl? [00:35:27.0000] <annevk> tobie: makes it easier to scan the history for substantive changes [00:35:47.0000] <annevk> tobie: and if we ever setup a Twitter account would make it easier to ignore tweets [00:36:35.0000] <tobie> annevk: Nice. I didn't know this was a thing. [00:37:01.0000] <tobie> annevk: where can we read about all of this insider knowledge stuff? [00:37:28.0000] <annevk> It should be part of https://github.com/whatwg/html/blob/master/TEAM.md but I realize now that it isn't [00:37:43.0000] <annevk> I should fix that [00:44:09.0000] <annevk> tobie: https://github.com/whatwg/html/pull/2043 [00:55:01.0000] <tobie> annevk: neat. This should be in a repo of its own, IMHO. As it pertains to things beyond the scope of the HTML standard. [00:56:20.0000] <annevk> tobie: I suggested a meta repo to Domenic at some point [00:56:32.0000] <annevk> Might still be a good idea [00:56:57.0000] <tobie> Yes. Too hard to know [00:57:13.0000] <tobie> ā€¦where to find stuff. [00:58:37.0000] <annevk> I link to TEAM.md from most repos [00:59:50.0000] <annevk> Maybe IDL should too since it lacks such policies atm [01:16:44.0000] <tobie> team.md is an actual website. [01:16:47.0000] <tobie> :) [07:46:56.0000] <Shiprek> Howdy [07:54:08.0000] <Shiprek> Hello [09:56:42.0000] <Domenic> I wonder what all the class="XXX"s in https://mimesniff.spec.whatwg.org/#parse-a-mime-type represent. Many of them are around perfectly ordinary looking sentences 2016-11-13 [19:03:22.0000] <Yubo> @TabAtkins [19:04:02.0000] <Yubo> TabAtkins [19:04:02.0000] <botie> TabAtkins is probably indeed good at teaching :) 2016-11-14 [01:38:52.0000] <tobie> annevk: what does "Meta:" stand for in your commit message? [01:42:53.0000] <annevk> tobie: a commit that does not affect the standard itself [01:45:35.0000] <annevk> tobie: https://github.com/whatwg/html/pull/2043 [01:46:45.0000] <tobie> annevk: ty [01:54:40.0000] <robertkowalski> terinjokes: Domenic: do i miss something obvious here: https://github.com/whatwg/console/issues/35#issuecomment-260292521 [02:03:25.0000] <Ms2ger> annevk, is the first change in https://github.com/servo/servo/pull/14126/files#diff-d582538526f2d8ebdedf40a39f238c35L346 correct? [02:04:22.0000] <annevk> Ms2ger: I don't think so [02:05:02.0000] <annevk> Ms2ger: https://github.com/w3c/web-platform-tests/commit/a6d3d9bfb6b4453e92e179058b33d92d2623efd3 is the last change to that file [02:05:24.0000] <annevk> Ms2ger: where is this change originating? [02:05:45.0000] <Ms2ger> That's in the servo copy, but it conflict with your change [02:06:06.0000] <annevk> Yeah, not sure what's going on, nox? [02:07:22.0000] <annevk> tobie: btw, it'd be easier to review if you create your branches directly on heycam/webidl [02:07:46.0000] <tobie> annevk: how so? [02:07:50.0000] <nox> annevk: What? [02:08:01.0000] <annevk> nox: see above [02:08:10.0000] <tobie> annevk: I think it's a bad habit. Creates a culture of those with commit rights to the repo and those without. [02:08:16.0000] <annevk> tobie: can then check them out more easily [02:08:44.0000] <annevk> tobie: I wish GitHub would solve that somehow [02:09:01.0000] <annevk> with fake branches or whatever [02:09:07.0000] <nox> annevk: Sure but I don't understand what you are unsure about. [02:09:09.0000] <tobie> annevk: adding a remote branch isn't super difficult [02:09:27.0000] <annevk> nox: well, the change Ms2ger pointed to [02:09:46.0000] <annevk> nox: https://github.com/servo/servo/pull/14126/files doesn't match the spec change [02:09:53.0000] <nox> annevk: I know, but you said you don't think it's correct. [02:09:57.0000] <nox> annevk: Uh really? [02:10:10.0000] <nox> annevk: Which part? [02:10:21.0000] <annevk> nox: the first test [02:10:26.0000] <annevk> nox: see the change I made [02:10:31.0000] <nox> How does it not follow the spec? [02:10:34.0000] <annevk> nox: https://github.com/w3c/web-platform-tests/commit/a6d3d9bfb6b4453e92e179058b33d92d2623efd3 [02:11:09.0000] <annevk> nox: the host setter doesn't reset port, basically [02:13:10.0000] <nox> annevk: Ah. [05:14:52.0000] <zcorpan> MikeSmith: http://stackoverflow.com/questions/29788868/w3c-validation-of-srcset - would it be a good idea to link to https://ericportis.com/posts/2014/srcset-sizes/ in the "all image candidate strings must specify a width" error message? [06:11:54.0000] <zcorpan> with no styles, no scripts, no external resources, STP loads single-page in about 1.5s [06:13:30.0000] <zcorpan> chrome about 12s, firefox about 15s [06:24:23.0000] <zcorpan> according to devtools safari doesn't spend any time at all on layout [06:29:45.0000] <Ms2ger> Do foo.com:1234 and foo.com:4321 share cookies? [06:33:46.0000] <Ms2ger> I'm told they do [06:37:48.0000] <annevk> Ms2ger: yes [06:38:20.0000] <annevk> Ms2ger: cookies don't care about origins as much [07:07:08.0000] <zcorpan> /me documented perf findings in https://bugs.chromium.org/p/chromium/issues/detail?id=312527#c34 [07:36:26.0000] <MikeSmith> zcorpan: yeah I think linking to https://ericportis.com/posts/2014/srcset-sizes/ from that error message would be good. Please file a validator bug for it. [07:37:16.0000] <MikeSmith> Iā€™m gonna try to work on validator code next week, get through the open bugs [07:38:29.0000] <zcorpan> filed [07:38:37.0000] <zcorpan> MikeSmith: awesome [07:40:14.0000] <MikeSmith> thanks [07:40:57.0000] <MikeSmith> annevk: when you have time can you maybe please respond to https://stackoverflow.com/questions/40580913/fetch-api-custom-request-headers-cors-and-cross-origin-redirects [07:41:10.0000] <MikeSmith> (or anybody else here who has time to answer that) [07:41:52.0000] <MikeSmith> I have tried to read up on it myself but not confident enough to answer [07:42:42.0000] <MikeSmith> in particular the ā€œWhy does this restriction exist? What security issue is prevented by not following and running pre-flight on the followed URL?ā€ (for redirects on requests with custom headers) [07:43:55.0000] <MikeSmith> as far as relevant spec citations, I found http://stackoverflow.com/questions/16386148/why-browser-do-not-follow-redirects-using-xmlhttprequest-and-cors/20854800#20854800 but that is to the obsolete CORS spec, and I am not sure what part of Fetch to cite that corresponds to that [07:44:28.0000] <MikeSmith> also found http://stackoverflow.com/questions/18539403/chrome-cancels-cors-xhr-upon-http-302-redirect/38810391#38810391 which seems to cite the same part of the old CORS spec [07:45:29.0000] <MikeSmith> once I understand this better myself I will try to write up something to add to MDN explaining it [07:45:39.0000] <annevk> MikeSmith: done [07:45:43.0000] <MikeSmith> thanks [07:49:33.0000] <MikeSmith> annevk: ah yeah I see this is from https://github.com/whatwg/fetch/issues/204 and I remember I asked you about it after coming across another SO question not so long ago [07:49:53.0000] <MikeSmith> eventually I guess it will actually sink in and Iā€™ll remember [07:51:19.0000] <annevk> MikeSmith: maybe SO will get smarter about duplicates too [07:55:24.0000] <MikeSmith> annevk: yeah [07:56:18.0000] <MikeSmith> though in practice now I guess the current mechanism for making SO smarter about duplicates is for people to get smarter enough (and remember enough) to recognize something as a duplicate, and reference what it duplicates [07:58:13.0000] <MikeSmith> anyway it seems like people are still going to run into the problem and not know why or how to get around it [07:58:50.0000] <MikeSmith> at least until it gets fixed in Chrome (since it has already been fixed in Firefox) [07:59:20.0000] <MikeSmith> hope to find a way to [08:00:14.0000] <MikeSmith> hope to find a way to keep others from wasting time trying to figure it out, and getting frustrated [08:00:48.0000] <MikeSmith> seems like getting the info into SO is the best way to do that (even if it means repeating it) [08:06:38.0000] <annevk> Yeah, I don't mind, it's not a lot of work [09:05:43.0000] <tobie> Domenic, rbyers: think one of you could check if there's anything I could do to make it easier for Chrome folks to triage WebIDL bugs (see: https://bugs.chromium.org/p/chromium/issues/detail?id=662379#c3) [09:16:12.0000] <Domenic> tobie: hmm rbyers might know more but that looks good to me, it's already gotten the attention of the relevant folks. Not sure why that person came in and added the needs triage label... [09:16:48.0000] <tobie> Domenic: OK, cool. Not sure either. Hence the question. :) [11:05:31.0000] <KiChjang> why is WHATWG not publishing standards for CSSOM? [11:32:53.0000] <TabAtkins> Because the CSSWG is working reasonably well for it? [11:38:01.0000] <KiChjang> fair enough, i'm just wondering whether they play nice to WHATWG standards [12:35:21.0000] <younder> I'm a newbie to this group, but from what past history suggests WHATWG does influence W3C. I mean there never was a XHTML2 standard. Instead we have HTML5. [12:36:22.0000] <KiChjang> W3C still likes to do their own thing and waste their time [12:36:56.0000] <younder> Als HĆ„kon Lie the original creator of CSS works for Opera which was one of the original founders of WHATWG. [12:37:25.0000] <KiChjang> http://w3c.github.io/charter-html/group-charter.html [12:37:44.0000] <KiChjang> tell me how this is different than WHATWG's html standard? [12:37:44.0000] <botie> will do [12:48:57.0000] <gsnedders> KiChjang: also the fact that nothing happened with CSSOM for a long time wasn't politics: it was having nobody willing to work on it. the CSS WG as a venue was never the limiting factor. [12:49:59.0000] <KiChjang> huh, that's weird [12:50:28.0000] <KiChjang> i'm guessing web devs aren't giving it as much attention? [14:14:53.0000] <zcorpan> interesting, in safari the multipage link is rendered sooner than the rest [14:16:49.0000] <zcorpan> unclear to me why the rest of the "above the fold" is not rendered at the same time [14:37:22.0000] <Domenic> layers created by transform? [14:39:34.0000] <mounir> someone here knows the story behind "stopImmediatePropagation"? (ie. why was it added?) [14:58:26.0000] <zcorpan> Domenic: yeah. header { transform: rotateZ(0deg); } makes the full header appear early (and the toc a bit later) [15:03:04.0000] <zcorpan> though chrome renders everything early without a transform hack 2016-11-15 [16:04:00.0000] <Domenic> annevk: going to write tests for https://github.com/whatwg/html/pull/1986 ? [17:18:34.0000] <MikeSmith> smaug: it looks like https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030221/DOM3-Events.html#changes-DOMLevel2to3Changes-h3 is when it was added [17:18:54.0000] <MikeSmith> smaug: 2003 [17:19:08.0000] <MikeSmith> smaug: > The Event interface has a new attribute namespaceURI, and a four new methods: isDefaultPrevented, isCustom, stopImmediatePropagation, isPropagationStopped, initEventNS. [17:19:30.0000] <smaug> hmm [17:19:46.0000] <smaug> MikeSmith: what was my question? :) [17:19:52.0000] <MikeSmith> looking to see if there is more detailed changelog somewhere [17:19:54.0000] <MikeSmith> haha [17:20:01.0000] <MikeSmith> oofs [17:20:11.0000] <MikeSmith> was mounir I guess actually [17:20:14.0000] <MikeSmith> not you [17:21:31.0000] <smaug> ah, I see there [17:56:10.0000] <mounir> MikeSmith: thanks :) [17:56:43.0000] <mounir> MikeSmith: any idea why it was added? I wonder what are the use cases behind it [17:58:10.0000] <MikeSmith> mounir: I pinged plh to ask him if he remembers (or even if he doesnā€™t remember at least he can look back at his old editor drafts or whatever and piece it back together) [17:58:48.0000] <MikeSmith> mounir: yeah I have no idea personally [17:58:58.0000] <MikeSmith> but plh has a pretty good memory [17:59:14.0000] <MikeSmith> and he was editing that spec at the time [18:00:04.0000] <MikeSmith> I already checked the old mail archives, including the Member-only ones, but could find no clues there [18:09:15.0000] <mounir> MikeSmith: thanks :) [18:09:45.0000] <mounir> MikeSmith: hopefully with GitHub repos and proper commit mesages, there will be no need for archeologic searches in the future :) [18:13:10.0000] <MikeSmith> mounir: yes [20:09:26.0000] <rbyers> tobie: Sorry for the delay. Yeah that was just a test team mistake - removed it. bashi@ is the bindings lead. [00:02:09.0000] <tobie> rbyers: ok cool. Thanks. :) [01:37:22.0000] <annevk> tobie: it seems I missed something yesterday, "record" is not exported, only "record type" is [01:37:40.0000] <annevk> tobie: that means that I can't link "is a record" yet and still can't land that Fetch patch :/ [01:38:33.0000] <tobie> annevk: wait, what? [01:39:20.0000] <annevk> tobie: we landed a change to export "mappings" yesterday [01:39:28.0000] <annevk> tobie: but I also need "record" itself exported [01:45:10.0000] <tobie> annevk: I think we should write up what IDL should export by default. [01:45:23.0000] <tobie> annevk: would avoid wasting time like this. [01:45:59.0000] <annevk> tobie: the not exporting by default is mostly what's wasting time I think [01:46:23.0000] <annevk> tobie: esp since stuff like interface members, which prolly should not really be exported, are exported by default [01:46:49.0000] <annevk> tobie: anyway, I'm going to fix my tiny problem for now and let you worry about the big picture for IDL [02:29:38.0000] <annevk> Heh, https://twitter.com/m1sp/status/797177386408083456 got popular [02:31:50.0000] <annevk> TabAtkins: re https://twitter.com/tabatkins/status/797194521356300288 pretty sure Hixie/dhyatt came up with the name "shadow" [02:32:09.0000] <annevk> e.g., https://www.w3.org/TR/2006/WD-xbl-20060619/ [02:32:55.0000] <nox> The only name I came up with is LegacyUnenumerableNamedProperties. FeelsBad. [04:44:23.0000] <zcorpan_> annevk: https://medium.com/@shahata/why-i-wont-be-using-fetch-api-in-my-apps-6900e6c6fe78 fyi [05:47:53.0000] <annevk> zcorpan: I read that, wasn't sure what to do with it [06:30:57.0000] <annevk> Domenic: landed a test for reset() [06:31:08.0000] <annevk> Domenic: can't really test the other thing as stated in the PR [06:36:59.0000] <MikeSmith> mounir: so about your question of why stopImmediatePropagation was added, plh helped me look back through the changelogs and discussion from the time when it when it was added, and the closest we got was https://lists.w3.org/Archives/Member/w3c-dom-ig/2003Feb/0041.html [06:37:13.0000] <MikeSmith> which is a message from Johnny Stenback [06:37:38.0000] <Ms2ger> I'm pretty sure you're not allowed to disclose that [06:37:39.0000] <MikeSmith> saying, ā€œNeed .stopAllPropagation() so that an app can completely stop anevent from firing anymore, period--not just for the current group. Itseems like this is something apps will need to use but I'm havingtrouble remembering the use cases for stopPropagation()ā€ [06:38:24.0000] <MikeSmith> Ms2ger: oh [06:38:36.0000] <MikeSmith> yeah I guess youā€™re right [06:39:30.0000] <jgraham> I imagine jst will be horrified that you disclosed his useful technical contribution in a silly venue. [06:39:45.0000] <MikeSmith> yeah I couldn' [06:40:02.0000] <MikeSmith> yeah I couldnā€™t tell if Ms2ger was being facetious or not [06:41:01.0000] <MikeSmith> anyway we really need to just declassify all those member-only archives [06:41:04.0000] <Ms2ger> Oh come on, it's me you're talking about [06:41:08.0000] <MikeSmith> haha [06:41:16.0000] <MikeSmith> yeah [06:41:48.0000] <MikeSmith> Iā€™m not trusting my own instincts much any more the last week or so [06:43:08.0000] <annevk> MikeSmith: oooh, I wish W3C would have a policy around declassifying archives [06:43:25.0000] <MikeSmith> I have talked to plh about it before [06:44:05.0000] <MikeSmith> but given all the other problems that need to get solved it never bubbles up to being a high enough priority [06:44:14.0000] <MikeSmith> not causing enough pain [06:44:45.0000] <MikeSmith> relative to e.g. what to do with TR [06:45:08.0000] <MikeSmith> but anyway itā€™s not for lack of realizing itā€™s a problem [06:46:33.0000] <annevk> MikeSmith: that email you pointed to and its replies seem to conclude to not add it [06:46:52.0000] <MikeSmith> yeah that is part of what is weird here [06:47:22.0000] <MikeSmith> there is a gap there [06:47:40.0000] <MikeSmith> in the record of the discussion in the when the change made its way into the spec [06:48:05.0000] <MikeSmith> it seems like there might have been some off-list and off-telcon discussion about it [06:48:41.0000] <MikeSmith> otherwise it just seems to have magically appeared [06:48:55.0000] <annevk> I think in practice events have been a little over engineered [06:49:18.0000] <annevk> But they work fine [06:50:03.0000] <MikeSmith> well if you read through the discussions from that time (which I was just doing today) they could have been even a lot more overengineered if some of what was being proposed had been added to the spec [06:50:19.0000] <jgraham> They work fine? That doesn't sound like the web I know. [06:50:57.0000] <jgraham> /me doesn't actually any any particular problems with events :) [07:51:10.0000] <wanderview> JakeA: is there a chrome issue for this? what are your plans for implementing? https://github.com/w3c/ServiceWorker/issues/787 [07:51:25.0000] <wanderview> we're talking about implementing soonish [08:45:30.0000] <zcorpan> TabAtkins: how should global attributes be exported in html spec to be referenceable in bikeshed as <a element-attr for=???>accesskey</a> (or markup shorthand for that) ? [09:27:49.0000] <gsnedders> UTF-16-without-a-BOM works if user override is used and set to the appropriate encoding, is specificed at the transport layer, or is autodetected using frequency analysis or "other algorithms", right? [10:57:24.0000] <TabAtkins> annevk: I came up with the name "Light", tho. [11:05:07.0000] <JakeA> wanderview: will find out. Would be nice if we landed it at the same time of course [11:08:32.0000] <wanderview> JakeA: yea, thats what I was thinking... I think we have an extra 6 weeks from nightly to release compared from canary to stable, though [11:32:33.0000] <TabAtkins> zcorpan: That is a great question. I think I want to just mint a name for them? Like for=html-global or something. [11:33:05.0000] <TabAtkins> Something unlikely to ever be an actual HTML tagname, and which can be generalized to SVG/etc. [13:59:15.0000] <Domenic> zcorpan: TabAtkins: maybe *? [13:59:45.0000] <TabAtkins> Hmm, perhaps. Use html*/foo ? [14:00:05.0000] <TabAtkins> (On the assumption that SVG and HTML will have different global attributes allowed.) [14:00:11.0000] <Domenic> seems reasonable [14:00:28.0000] <TabAtkins> I don't think that'll parse right now, gimme a sec. [14:00:35.0000] <Domenic> class, id, and slot are superglobal, others are language-specific [14:01:24.0000] <TabAtkins> Oh no, it's fine, * is already recognized there for some reason. (Probably just cargo-culted from the property/etc regexes.) [14:01:43.0000] <zcorpan> ok [14:02:03.0000] <TabAtkins> So yeah, <{html*/accesskey}>. [14:02:54.0000] <zcorpan> now just need to export all attributes properly, to bikeshed html-differences [14:12:17.0000] <zcorpan> TabAtkins: https://github.com/tabatkins/bikeshed/pull/877 - i forgot to run tests clearly ^_^ [15:16:05.0000] <TabAtkins> zcorpan: Nah, the tests aren't your fault, they're from a commit a bit ago. Just fixed them up; they just needed a rebase. [15:18:08.0000] <zcorpan> TabAtkins: ok thx 2016-11-16 [17:28:41.0000] <MikeSmith> TabAtkins: you around? [23:48:15.0000] <tobie> So W3C needs to fix this shortname-level trend. Look at https://www.w3.org/TR/service-workers/ and https://www.w3.org/TR/service-workers-1/. This is completely broken. [23:49:17.0000] <tobie> Not to mention level-1 points to a dedicated ED and not the real ED which only the old /service-workers/ WD points to. [00:01:00.0000] <annevk> TabAtkins: happy b-day! [00:09:00.0000] <tobie> TabAtkins: oh wow, happy birthday! [02:26:14.0000] <annevk> JakeA: Domenic: any updates on canceling fetch()? [02:26:41.0000] <annevk> JakeA: Domenic: marcosc told me that the payments API might need something similar, but I guess it's already too late there and they'll have something ugly instead [02:40:27.0000] <JakeA> annevk: cancelable promises are still making their way through tc39. If that takes too long we can do some rewiring and make request.error() a thing (which rejects the promise) [02:40:36.0000] <JakeA> Although that won't work for .json() etc [02:41:34.0000] <annevk> JakeA: you suggested that before and I countered with the fact that request is cloned once passed to fetch() [02:41:52.0000] <annevk> JakeA: radio silence after that on that issue (which was closed before that) [02:42:43.0000] <JakeA> annevk: yeah, the clone would have to be linked to the original for error() to work [02:42:56.0000] <annevk> JakeA: and yeah, I still have the concern that even with a cancel token, we might want to have something higher-level too to cancel both [02:43:31.0000] <annevk> JakeA: so whenever you do new Request(request) we now need to set up linking and maintain some kind of relationship? [02:43:51.0000] <JakeA> annevk: if we wanted cancel() to work, yeah [02:43:58.0000] <annevk> JakeA: for previously static objects that seems like a major surge in complexity [02:44:01.0000] <JakeA> We'd have to do the same with the tokens right? [02:44:16.0000] <annevk> Maybe surge is not the right word [02:44:38.0000] <JakeA> For tokens to work the copy would have to take the token [02:44:53.0000] <annevk> JakeA: the token could be copied, just like all kinds of stuff is copied today [02:44:58.0000] <annevk> JakeA: no need to maintain a link [02:45:45.0000] <JakeA> annevk: we could make error() work the same way [02:45:58.0000] <JakeA> Use a token under the hood [02:46:42.0000] <annevk> JakeA: that'd be like using json() on the old request object having an effect on the new one [02:47:23.0000] <JakeA> Hm [02:47:24.0000] <annevk> JakeA: I don't think we should go with that kind of design unless we really embrace requests is more of an ongoing thing and maybe figure out if we can change the way fetch() works [02:47:55.0000] <JakeA> annevk: if the blocker is cancelable promises, we could look at getting token support in earlier [02:48:13.0000] <JakeA> But it could be an error token rather than a cancel token [02:48:15.0000] <JakeA> :/ [03:21:53.0000] <nox> annevk: Why is </> special in XML 5? [03:22:22.0000] <annevk> nox: tribute to Hixie [03:23:01.0000] <nox> annevk: I was trying to unify html5ever and xml5ever and this is the only thing I can't work around I think. [03:23:12.0000] <annevk> nox: also, it's XML5 sans space [03:23:18.0000] <nox> Ok. [03:23:28.0000] <annevk> nox: really? Huh [03:23:33.0000] <nox> I can work around the absence or processing instructions in the former, but the short end tag in the latter makes my unification quite impossible. [03:23:41.0000] <nox> annevk: It changes the type that represents tokens. [03:24:08.0000] <annevk> nox: can't you just re-interpret the </> token in html5ever? [03:24:17.0000] <nox> What do you mean? [03:24:33.0000] <annevk> nox: do whatever HTML says to do for it [03:24:56.0000] <annevk> Aside: is it meant to be read as "fever"? [03:25:00.0000] <nox> /me goes back to the HTML spec and squints trying to find where it is. [03:25:13.0000] <nox> annevk: Maybe, the pun is mostly about html4ever-but-for-html5. [03:25:25.0000] <annevk> nox: there's an html4ever? [03:25:46.0000] <nox> annevk: No but that's something you can say, and it fits the previous version of HTML. [03:25:59.0000] <annevk> nox: I see [03:26:14.0000] <annevk> I'm still a little sad we didn't have the foresight with html5lib to leave versioning out of the name [03:26:46.0000] <nox> annevk: https://html.spec.whatwg.org/multipage/syntax.html#end-tag-open-state "Anything else" Yeah I guess I could do that. [03:27:28.0000] <nox> annevk: So in HTML syntax, </> == <!--/-->? [03:27:41.0000] <annevk> nox: to be clear, it's not just Hixie, it also happens to be quite useful [03:27:49.0000] <nox> How? [03:27:54.0000] <annevk> nox: hmm, are you making me read the parser spec? [03:28:04.0000] <annevk> nox: since you don't have to write out the closing tag [03:28:12.0000] <nox> annevk: Ah ah, nah, I'm confident in my reading don't force yourself. [03:28:18.0000] <nox> annevk: It behaves completely different than HTML, [03:28:24.0000] <nox> and it isn't needed for webcompat, [03:28:33.0000] <nox> so I would say it was a bad thing. [03:28:45.0000] <annevk> nox: afaict it's <!----> without the / [03:29:00.0000] <nox> annevk: "Parse error. Create a comment token whose data is the empty string. Reconsume in the bogus comment state." [03:29:20.0000] <nox> And in bogus comment state: "Anything else: Append the current input character to the comment token's data." [03:29:41.0000] <annevk> nox: actually, I think it's just ignored [03:29:50.0000] <annevk> nox: </ brings you into end tag open state [03:30:02.0000] <nox> Oh right, silly me. [03:30:03.0000] <annevk> nox: > brings you back to data state with the token ignored [03:30:23.0000] <annevk> nox: so it should be very easy to support in both [03:30:29.0000] <nox> So anyway, I'm not sure XML5 should include novelty convenience stuff that behaves quite differently from HTML5. [03:30:33.0000] <annevk> nox: in HTML you ignore, in XML you pop [03:31:24.0000] <annevk> If we're going to do XML5 at all, why would we not add something nice [03:31:25.0000] <nox> annevk: But more than Hixie tribute, it's also a syntax in E4X no? [03:31:38.0000] <annevk> I don't think E4X has </> [03:31:42.0000] <annevk> SGML might [03:32:22.0000] <annevk> There's no HTML parity anyway [03:32:50.0000] <annevk> By default you don't get namespaces, you can create arbitrary trees, etc. [03:32:52.0000] <nox> annevk: I wanted to check... [03:32:53.0000] <nox> annevk: http://www.ecma-international.org/publications/standards/Ecma-357.htm [03:32:57.0000] <nox> click on the PDF link. [03:33:00.0000] <nox> /me facepalms. [03:34:29.0000] <annevk> nox: heh, www.ecma-international.org/publications/files/ECMA-ST/ECMA-357.pdf even redirects it seems [03:34:47.0000] <nox> Ah ah ah. [04:02:55.0000] <annevk> JakeA: :focusring vs :focus:not(:active) gives? [04:05:21.0000] <JakeA> annevk: I don't think active happens on buttons, or it happens but even after activation via keyboard [04:06:30.0000] <JakeA> It's definitely something I've struggled with in the past, and usually end up calling blur() after clicks, which isn't great [04:07:43.0000] <annevk> I see [07:04:32.0000] <Domenic> nox: per http://software.hixie.ch/utilities/js/live-dom-viewer/?saved=4670 it seems like the </> gets totally eaten, not turned into a comment [07:04:48.0000] <nox> Domenic: Yeah I figured that out afterwards, [07:04:52.0000] <nox> was misreading the spec, [07:04:54.0000] <nox> AS USUAL [07:05:01.0000] <Domenic> i see, that's what i get for typing as i read the backscroll [07:05:18.0000] <nox> Domenic: Can't blame you for replying me, hah, thanks anyway. :) [09:18:55.0000] <ondras> quick question - ImageData.data is Transferrable, e.g. can i efficiently move it to a web worker? [09:20:40.0000] <annevk> ondras: what is the question? [09:32:25.0000] <annevk> mkwst: https://infra.spec.whatwg.org/ [09:43:22.0000] <ondras> annevk: can I transfer canvas ImageData to a Worker without copying? [09:45:34.0000] <nox> annevk: You should have named it utils or misc, come on. :P [09:46:39.0000] <annevk> ondras: sure, just pass imageData.data.buffer to the transfer map [09:47:59.0000] <annevk> nox: I'm hoping this is not going to be a thing where everyone has opinions about the name... [09:48:29.0000] <nox> annevk: Sorry, kidding, I like the name you chose. :P [09:48:36.0000] <nox> annevk: I hate the utils module in Servo with a passion. [09:55:47.0000] <ondras> annevk: thanks! [10:13:24.0000] <Krinkle> I'm trying to understand how browsers work (or are supposed to) with regards to event handling and the event loop. For example, is it true that attaching an event handler earlier in the same function will make any difference (however small and unlikely?). E.g. document.addEventListener('visibilitychange', ..) as first line or last line of a long function. [10:13:42.0000] <Krinkle> I always thought that events would be queued after the current execution so it will get triggered either way [10:13:53.0000] <Krinkle> but then I realised that maybe browsers disregard events if there are no listeners bound [10:14:15.0000] <Krinkle> annevk: Do you know if the spec prescribes anything on this point? Or is it up to user agents to decide? [10:38:52.0000] <annevk> Krinkle: most events get queued but not all [10:39:22.0000] <annevk> Krinkle: depends on whether they dispatch from a new task [10:39:47.0000] <annevk> Krinkle: for your sample event it should not matter [10:40:36.0000] <Krinkle> I'm curious in general, but for this particular example it's about whether or not it is possible to miss information if you do: if (document.hidden){ yup(); } and then doc.addEventListener(visibilitychange, yup); or that in theory hidden can happen in between but not dispatched [10:40:43.0000] <Krinkle> annevk: Interesting. [10:40:57.0000] <Krinkle> annevk: So the spec says whether or not to dispatch from a task? Or is that implementation detail? [10:41:17.0000] <annevk> Krinkle: specs need to [10:41:18.0000] <Krinkle> I assume you mean that some events queue event handlers directly as individual tasks, and others queue a task to do the dispatching? [10:41:49.0000] <annevk> Krinkle: some operations dispatch directly [10:42:00.0000] <Krinkle> annevk: Ah you mean synchronously [10:42:04.0000] <annevk> Krinkle: others queue a task to dispatch [10:42:08.0000] <Krinkle> Right [10:42:11.0000] <annevk> Krinkle: indeed [10:42:27.0000] <Krinkle> So if it's queued , then it will always defer the entire thing, which means new handlers will be seen still. [10:42:50.0000] <Krinkle> annevk: Thanks :) [10:43:24.0000] <Krinkle> annevk: I imagine there may be some exceptions with regards to optimizing for there not being any handlers, but maybe that optimization is also deferred. I'm thinking about scroll events and such perf hurdles for mobile. [10:43:49.0000] <annevk> Krinkle: oh yes [10:43:58.0000] <Krinkle> I imagine it would be able to natively see if there are handlers without requiring JS execution to be interupted. [10:44:04.0000] <annevk> Krinkle: impls optimize alll kinds of things [10:44:04.0000] <Krinkle> which would allow for races. [11:45:51.0000] <wanderview> JakeA: ping [11:46:09.0000] <wanderview> have you survived Chrome Dev Summit? [11:51:01.0000] <wanderview> hmm... nm [11:51:38.0000] <JakeA> wanderview: back in the office tomorrow! [11:51:51.0000] <wanderview> ah, ok [11:52:00.0000] <wanderview> thanks [11:52:36.0000] <gsnedders> speaking of which, I'm in London from, uh, 40 minutes from now [11:52:48.0000] <gsnedders> s/40/30/ [11:53:49.0000] <jgraham> s/30/29/ [11:54:20.0000] <gsnedders> well, we're running late, but there's enough pathing allowances that we could make up some of it [11:54:24.0000] <gsnedders> so I dunno when we'll get in 2016-11-17 [19:33:21.0000] <Domenic> Gahhhh. We really need a mode that turns off all authoring conformance requirements, for implementers to look at. [20:11:44.0000] <MikeSmith> Domenic: 100% agreed [20:13:03.0000] <MikeSmith> even me in making changes to the authoring-conformance parts of the spec, I feel a need to reduce the noise that creates for implementors trying to follow changes [20:14:58.0000] <MikeSmith> I try not to fiddle with any of it unless it is actually important (e.g., it is causing actual confusion for authors, or creating problems for me with teh checker implementation) [20:16:01.0000] <MikeSmith> and I still wonder whether we should consider separating out all the authoring-conformance stuff to a separate spec in the long term [20:17:10.0000] <MikeSmith> I think the jury is still out on whether the experiment of conflating authoring conformance requirements and UA requirements in the same spec has been a success [20:18:09.0000] <MikeSmith> I think even it is done as best as it possibly could be it still results in the spec being subpoptimal as a resource for authors [20:18:23.0000] <MikeSmith> because can cannot optimize the spec for both audiences [20:18:38.0000] <MikeSmith> and we should optimize it for implementors [20:19:05.0000] <MikeSmith> which means authors are always going to lose out a bit [20:20:02.0000] <MikeSmith> and UA implementors are going to continue to be distracted/confused by existing author-only requirements in teh spec, and any changes we make to add more o fthem [20:22:49.0000] <MikeSmith> I still plan to make time to (re)add the toggle we used to have that allowed Web developers to see the web-developer-only view [20:23:45.0000] <MikeSmith> but unless Iā€™m confused, we do not have markup in the source to enable a similar thing to allow implementors to see an implementor-only view [20:24:35.0000] <MikeSmith> but hope I am just forgetting and we can actually do it with the current source [00:40:13.0000] <tobie> MikeSmith: have you considered having two builds? [00:40:30.0000] <tobie> Or JS toggles + cookies? [00:41:42.0000] <annevk> MikeSmith: pretty cool to finally obsolete the old DOCTYPEs [02:46:16.0000] <mkwst> annevk: Infra! Yay. :) [02:46:36.0000] <mkwst> I'm happy to see this. Thanks for putting it together! [03:58:05.0000] <MikeSmith> annevk: yeah I wish we could eliminate need for any DOCTYPE at all but I guess for the forseeable future weā€™re stuck with needing <!DOCTYPE html> at least [03:59:01.0000] <MikeSmith> tobie: about doing two builds, wattsi already does that [03:59:07.0000] <MikeSmith> our build tool [03:59:32.0000] <MikeSmith> Iā€™m not sure thereā€™s even an option for making wattsi *not* do that [04:00:54.0000] <MikeSmith> and we had a JS toggles + cookies thing before for dynamically switching between the ā€œallā€ view and the ā€œ(web) developerā€ view [04:03:09.0000] <MikeSmith> and the problem we ran into before with publishing the web-developer version separately is that it kind of became an separate redesign project instead of just simply a version with the implementor-specific content stripped out [04:04:01.0000] <MikeSmith> anyway none of what we have now would enable us to generate an *implementor*-only view with all the authoring-conformance-only stuff stripped out [04:04:24.0000] <MikeSmith> because the authoring-conformance-only parts of the source are not actually marked up as such [04:05:45.0000] <MikeSmith> so enabling it would require a human to manually go through the entire spec and identifying the authoring-conformance-only parts and marking them up with class=authors-only (or whatever) [04:06:36.0000] <MikeSmith> as Hixie once did, going through the whole spec to mark up the implementor-only bits with class=impl (now class=no-dev) [04:56:48.0000] <mkwst> annevk: Would you accept patches to infra to bring in some of the string processing bits from HTML's https://html.spec.whatwg.org/#common-parser-idioms? I use a few in CSP and elsewhere. [04:56:57.0000] <mkwst> I imagine I'm not the only one. [04:57:35.0000] <annevk> mkwst: yeah I think so [04:58:11.0000] <annevk> mkwst: everything that's duplicated and has no better place is welcome [04:59:26.0000] <mkwst> Ok. [05:03:52.0000] <smaug> /me kicks wicg. such a horrible playground [05:22:32.0000] <MikeSmith> /me sends some positive vibes in smaugā€™s direction [05:23:32.0000] <smaug> yeah, sorry, I was too negative. But dumping random stuff there isn't working very well. [05:25:17.0000] <MikeSmith> smaug: yeah I hear you [05:25:43.0000] <gsnedders> "The WG doesn't like this, send it to WICG" [05:25:56.0000] <MikeSmith> not sure what to do to mitigate that dumping-random-stuff problem [05:26:30.0000] <MikeSmith> kind of an inevitable side effect of the inherent nature of it [05:27:07.0000] <MikeSmith> but "The WG doesn't like this, send it to WICG" is at least somewhat by design [05:27:14.0000] <annevk> tobie: I guess https://github.com/heycam/webidl/issues/240 also argues for creating some kind of longer term story for what we want out of IDL [05:28:32.0000] <tobie> annevk: I don't know if specifically #240 does, but it's clearly something we have to workout. [05:28:59.0000] <tobie> annevk: I'm glad you released the infra standard. That, at least, sets a lower boundary. [05:30:11.0000] <tobie> annevk: was contemplating referencing it from WebIDL pretty much as we speak. [05:34:30.0000] <gsnedders> /me still needs to stop typing the CSS colour property [05:41:27.0000] <nox> gsnedders: No you don't. [05:41:42.0000] <nox> gsnedders: Instead you must submit a patch to the spec to allow British spelling, obviously. [05:42:18.0000] <tobie> MikeSmith: I see. That sucks. [05:42:25.0000] <annevk> tobie: yeah, I think that would make sense [05:43:01.0000] <annevk> tobie: we updated biblio.json so referencing it probably already works if that is all still working [05:43:14.0000] <annevk> tobie: Shepherd hasn't been updated to index it yet so referencing any terms might still not work [05:43:55.0000] <tobie> annevk: http://www.specref.org/?q=Infra%20Standard [05:44:14.0000] <annevk> \o/ [05:44:29.0000] <tobie> annevk: it would be nice if shepherd did stuff hourly vs. daily [05:44:34.0000] <tobie> annevk: changes a lot [05:45:06.0000] <annevk> tobie: the main problem with Shepherd is that TabAtkins or plinss have to add and remove standard URLs someplace [05:46:34.0000] <tobie> annevk: they could just pull the list of new W3C and WHATWG standards from Specref [05:47:49.0000] <gsnedders> nox: post a PR next April 1, and leave everyone confused as to how genuine I am? [05:47:51.0000] <annevk> tobie: we don't want everything to be indexed by Shepherd basically [05:48:10.0000] <nox> gsnedders: For April 1st I want to support </sarcasm> in Servo. [05:48:19.0000] <annevk> tobie: e.g., W3C copies of stuff, older specifications such as Typed Arrays that are now obsolete [05:48:30.0000] <nox> gsnedders: TokenSink::take_a_deep_breath :p [05:48:40.0000] <tobie> annevk: you could be really un-pc and filter by editor name :D [05:48:44.0000] <gsnedders> nox: you are aware of the WebKit </sarcasm> bug? [05:48:52.0000] <nox> gsnedders: What's that? :O [05:49:30.0000] <gsnedders> nox: https://bugs.webkit.org/show_bug.cgi?id=45645 [05:50:28.0000] <nox> gsnedders: Ah ah ah ah ah ah. [05:50:39.0000] <nox> notImplemented(), gold. [05:50:53.0000] <gsnedders> "Umā€¦ yeah." [05:51:13.0000] <nox> gsnedders: But if we had take_a_deep_breath(), a screen reader could actually take a deep breath. [05:52:21.0000] <gsnedders> I don't think any of them support that, though [05:52:27.0000] <nox> Heh. [05:52:58.0000] <nox> gsnedders: Just transliterate the sound of a deep breath in the Latin alphabet and feed that to the screen reader. :p [06:02:31.0000] <tobie> annevk: editor name, pub date, plus publisher. I can add an API for this if there's interest and if it speeds up things. [06:03:13.0000] <annevk> tobie: I'm not sure I follow [06:03:46.0000] <tobie> annevk: filter which spec need to be integrated by Shepherd automatically. [06:03:47.0000] <annevk> tobie: if you're talking about Shepherd, it's best to file an issue against tabatkins/bikeshed [06:04:19.0000] <tobie> annevk: noted [06:04:35.0000] <annevk> tobie: maybe we can figure something out there with TabAtkins on how to improve things (and the more regular indexing you mentioned that I agree would be nice to have) [06:06:01.0000] <younder> What has happened to my amazon cite? It only shows text, will not accept ssh and is pretty much useless? Seems this is a chromium bug. 'Ubuntu' informs me that this is a probem with too strict conformance criteria in chrome. [08:36:41.0000] <astearns> gsnedders: the April 1st colour thing was done already (and some took it seriously) [08:43:55.0000] <gsnedders> astearns: level of surprise: low [09:57:16.0000] <annevk> astearns: isn't there a serious proposal for property localization every couple of years? [09:58:13.0000] <astearns> annevk: I haven't seen a serious one in the ~6 years I've been at this [09:58:31.0000] <annevk> astearns: well, back in my day... [09:58:31.0000] <astearns> but I may not have been paying enough attention [10:06:40.0000] <gsnedders> annevk: Proof you're old? :) [10:36:43.0000] <annevk> gsnedders: get off my lawn [10:38:04.0000] <annevk> astearns: found https://lists.w3.org/Archives/Public/www-style/2009Feb/thread.html#msg475 [10:38:13.0000] <gsnedders> annevk: hey, I'm positively in my mid-20s nowadays! [10:38:14.0000] <annevk> via https://annevankesteren.nl/2009/02/www-style-thursday by the way [10:41:12.0000] <annevk> Can't really find more quickly though [10:42:09.0000] <astearns> annevk: before my time, but sampling the thread it looks to me like all the 'serious' people were against considering the idea [10:43:21.0000] <annevk> astearns: oh yeah, I wouldn't take that blog post too serious [10:43:50.0000] <annevk> astearns: it never went anywhere, just came up a few times (although I can only find this one instance at the moment) [10:45:26.0000] <astearns> our very very serious @āš proposal should have taken off [11:59:24.0000] <annevk> MikeSmith: https://dev.w3.org/2006/webapi/WebIDL does not redirect [12:03:52.0000] <smaug> is there any tool to check usage of some html element? [12:04:07.0000] <smaug> I thought Google has something, but can't recall the url [12:06:09.0000] <not-an-aardvark> smaug: https://www.chromestatus.com/metrics/feature/timeline/popularity [12:06:28.0000] <smaug> that doesn't have all [12:07:07.0000] <smaug> I was thinking the tool to query what kind of code web pages have [12:07:17.0000] <smaug> (because https://www.chromestatus.com/metrics/feature/timeline/popularity is missing stuff) [12:07:22.0000] <smaug> foolip: you would know [12:13:40.0000] <younder> smaug, why do you care? [12:14:10.0000] <smaug> this time I'd like to know about the usage of <template> [12:14:49.0000] <smaug> (we just shipped a regression which is related to <template> and I'm just evaluating how fast it should be fixed. asap or very soon) [12:14:57.0000] <younder> cat you just use a grep .... | wc -l [12:15:21.0000] <smaug> grep <put the whole web here> ? [12:15:59.0000] <younder> I don't know the context [12:16:19.0000] <not-an-aardvark> curl '*.*.*.*' | grep 'template' | wc -l [12:18:51.0000] <younder> yes [12:19:07.0000] <not-an-aardvark> (that was a joke) [12:19:32.0000] <younder> sounds slow thow. Don't you want to fownload it first? [12:19:43.0000] <younder> download [12:20:40.0000] <younder> seriously grep uses a lpa algorithm whch is quite fast even piped [12:20:45.0000] <not-an-aardvark> I think smaug is looking for metrics from existing browsers and/or crawlers, since downloading the entire web and piping it into grep would not be practical. [12:21:17.0000] <younder> just dn't use the -A optin [12:21:22.0000] <younder> -E [12:26:24.0000] <tobie> annevk, MikeSmith: apparently related to dev.w3.org having been moved today. [12:26:40.0000] <tobie> annevk, MikeSmith: trying to get systeam to fix this asap [12:27:26.0000] <jsbell> smaug: There's bigquery and HTTPArchive [12:28:46.0000] <jsbell> Not perfect but you can grep the top 1e6 sites (main resource and script resources) [12:29:24.0000] <smaug> big query, that is what I was thinking, I think [12:30:48.0000] <jsbell> for example, 698 pages contain '<blink' in the 2016-11-01 desktop crawl [12:32:40.0000] <younder> Has it ever occured to you that your we browser is becoming overcomplicetaed. That due to it's compleity it is already on the verge of failing. [12:33:31.0000] <jsbell> TIL: BigQuery's regex match is case sensitive and doesn't have a flag, so you need to LOWER() explicitly. [12:33:44.0000] <jsbell> So make that 721 uses of '<blink' [12:34:11.0000] <younder> Particularly bink needs to shape up. Yoy can't include every thing and the kichecn sink and have no consequences. [12:35:15.0000] <younder> How many more hacks can you pull before it becomes copletely unmentainable [12:35:20.0000] <younder> ? [12:35:28.0000] <annevk> tobie: just redirect it to https://heycam.github.io/webidl/? [12:36:17.0000] <tobie> that's what it used to do [12:36:21.0000] <tobie> annevk: [12:36:23.0000] <tobie> ^ [12:36:27.0000] <younder> You have optimized the compiler, the linker the make syetem. But you still have way to many dependencies [12:36:42.0000] <annevk> tobie: I see [12:37:06.0000] <younder> The firefox guy's are fine.. [12:37:07.0000] <annevk> tobie: for some reason bz was still stuck on the old URL [12:37:17.0000] <annevk> tobie: maybe a bookmark [12:37:27.0000] <tobie> annevk: :) [12:38:30.0000] <younder> After spending a month with the blink source this is my conclusion. [12:38:42.0000] <younder> puuuwee [12:42:29.0000] <younder> I could be more elaborate, but quite frankly I don't think I have to. [12:43:53.0000] <younder> I have a 8 core zenon at 4GHZ and it takes 1.5 hrs to compile the source. [12:44:19.0000] <younder> Firefox 20 Min [12:45:28.0000] <zcorpan> jsbell: 2016_11_01_chrome_pages has 165,162 rows, not 1e6 [12:46:59.0000] <jsbell> zcorpan: Whoops - should have been 1e4 - I misread http://httparchive.org/about.php [12:47:23.0000] <jsbell> zcorpan: and I don't know how where the # of rows comes from. Thanks for pointing out my mistake [12:48:03.0000] <foolip> smaug: I'm not sure what you're thinking of, something like https://developers.google.com/webmasters/state-of-the-web/2005/elements? [12:48:13.0000] <zcorpan> maybe that page is outdated [12:48:24.0000] <foolip> smaug: I think there are internal thingies that I've never used, and of course httparchive [12:48:58.0000] <younder> piss your pant' if you must, but DO SOMTING about it! [12:49:00.0000] <foolip> But that's not in a form where you can just ask "how often is <template> used" of course [12:50:17.0000] <foolip> younder: I spent some time trying to remove unnecessary includes in Blink, seemed hard to make much progress. Probably serious refactoring would be needed to make a dent. [12:57:39.0000] <zcorpan> smaug: 822 pages for this query [12:57:42.0000] <zcorpan> SELECT page, COUNT(*) AS num [12:57:45.0000] <zcorpan> FROM [httparchive:har.2016_11_01_chrome_requests_bodies] [12:57:46.0000] <zcorpan> WHERE REGEXP_MATCH(LOWER(body), r'<template(\s|>)') [12:57:46.0000] <zcorpan> GROUP BY page [12:57:49.0000] <zcorpan> ORDER BY num DESC [12:58:56.0000] <smaug> 822 out for how many? [12:59:05.0000] <zcorpan> 165,162 [13:00:39.0000] <smaug> thanks [13:01:28.0000] <zcorpan> i can paste the urls somewhere if you want to check how broken they are [13:14:45.0000] <younder> foolip, It would never be enough. The package providers would have to go in for theselves and eliminate pckages. The best you can do is find a least common denominator of packages which fits all their needs [13:15:19.0000] <younder> and make them all stick with them [13:16:43.0000] <younder> Reove their headres. Make sure you nly do hat for the active developers. [13:18:32.0000] <tobie> annevk, MikeSmith: fixed [13:20:14.0000] <younder> run out of urage. Most would. You will have to do what I did at Opera. Take a Stand. [13:20:21.0000] <younder> courage [13:33:41.0000] <Domenic> Probably the first thing we should remove is MathML [13:33:46.0000] <Domenic> After that, maybe XML in general [13:34:21.0000] <gsnedders> I'd be amazed if we ever got away with killing XML [13:34:56.0000] <gsnedders> MathMLā€¦ aren't things like MathJAX starting to build off of the DOM? or is almost everyone using the LaTeX-like API? [13:38:46.0000] <TabAtkins> Apparently MathML might make its way back into Chromium; Igalia is reworking it to be consistent with our Layout-NG project, which negates our main objection to it previously (that it was a big mess of layout hacks that made everything else more complicated). [13:47:56.0000] <younder> TabAtkins, Yes I agree a complete reimplementatin was neccesary [13:49:11.0000] <younder> But I think it can be done within a reasonable amut of time by one preson [13:50:27.0000] <younder> MathML is a lot of tags but it is just shifting UTF8 tags around with coords [13:50:40.0000] <younder> and scale [13:51:28.0000] <younder> The thing is to seperate stype from representation [13:51:35.0000] <younder> style [13:52:03.0000] <younder> So you have a CSS part and a HTMP part [13:52:08.0000] <younder> HYML [13:53:21.0000] <younder> I've looked at categories in LaTex and they are best represtented as a matrix with arrows. Well withhin the realm of SVG [13:57:00.0000] <younder> I think there is a simpe and elegant solution which wil perform efficientltly [13:58:02.0000] <gsnedders> younder: CSS doesn't suffice for MathML, AFAIK [13:58:17.0000] <gsnedders> younder: it certainly didn't used to, and I'm pretty sure it still doesn't [13:58:32.0000] <younder> I need a custom browser for my GUI in Formula (A functional language), but if it can help you as well, I would happily contribte. (in fact by the licence I am obliged to) [14:00:28.0000] <TabAtkins> Yeah, it def doesn't. [14:00:48.0000] <younder> MathML is stil just placing of symols. It follows 3 rules: translation scale and rotation [14:00:55.0000] <younder> SYMBOLS [14:01:22.0000] <TabAtkins> Uh, no, it's quite a bit more than that. [14:01:31.0000] <younder> control that triplet and all else follows [14:02:11.0000] <younder> coolor is an added attibute [14:02:27.0000] <TabAtkins> In particular, there are stretchy glyphs (which are *not* just scaled), and the sizing of things is complicated. [14:02:49.0000] <TabAtkins> (There's some places where an element's width depends on its height, which is the inverse of the CSS model.) [14:03:06.0000] <younder> So it is isolated and made to look simple [14:04:03.0000] <younder> I admit for example I have mostly looked at the implementation of LaTex [14:05:49.0000] <younder> It has it's metafonts of fixed sizes and the need to organize these glyphs [14:06:49.0000] <younder> Vector fonts complicate this somewhat, but it is simplified by fixing a size befor rendering [14:07:24.0000] <younder> A CSS file would do nicely [14:08:30.0000] <younder> TabAtkins, You sir are overcomplicating things [14:08:39.0000] <TabAtkins> lol ok whatever dude [14:15:51.0000] <younder> Let's just let the code decide. You don't have to take it into the main distribution. But I have a feeling you will. 2016-11-18 [16:19:14.0000] <jarek> Hi [16:21:50.0000] <jarek> Are there any plans to allow real physical units or density-independent units (like Android's dp) when specifying dimensions? [16:23:18.0000] <jarek> It looks like there is currently no easy way to e.g. define button height to match the average human pointing finger size [21:12:56.0000] <frivoal> Does respec have an equivalent of this bikeshed feature: https://tabatkins.github.io/bikeshed/#autolink-shortcuts [21:13:14.0000] <frivoal> (automatic links to definitions form other specs, preferably being smart about the type of things you're trying to link to) [01:31:34.0000] <zcorpan> botie: tell jarek https://discourse.wicg.io/t/one-inch-is-not-an-inch/1228 [01:31:34.0000] <botie> will do [03:01:29.0000] <jgraham> /me realises that the argument isn't called "behaviour" [04:05:25.0000] <smaug> jgraham: has there been any talk to have cross-browser tests for IME handling or how to even write such tests? [04:08:29.0000] <smaug> though, that is very platform specific [04:08:38.0000] <jgraham> smaug: There was a discussion at TPAC for mostly unrelated reasons. I think the consensus was some kind of fake test-only IME with known behaviour [04:09:21.0000] <jgraham> Because interacting with the actual platform IME isn't a stable target (not just between platforms but also because it might e.g. learn which characters you type and move them about in the display) [04:09:42.0000] <smaug> that too [04:09:50.0000] <smaug> and different IMEs change over time [04:09:54.0000] <jgraham> (apparently Apple had spellchecker tests fail because the system learnt to autocorrect the misspellings in the tests :) [06:00:33.0000] <smaug> annevk: does any spec define what should happen to open network connections when a window object from which the connection is created isn't anymore the current window. (say new somewindow.EventSource() or new somewindow.WebSocket() and then somewindow becomes non-current) [06:04:10.0000] <jgraham> On a not-intentionally related, but similar, note, the fact that https://pastebin.mozilla.org/8929276 "works" in Chrome is a bug, right/ [06:04:32.0000] <smaug> right [06:27:07.0000] <annevk> smaug: what is "non-current"? [06:28:59.0000] <annevk> smaug: the section in HTML titled "Aborting a document load" does go into this a bit, but not as detailed as I want [06:29:14.0000] <annevk> smaug: it's related to lifetime of these objects not being well-defined in general [08:03:19.0000] <smaug> annevk: non-current is the window which isn't attached to the currently active document [08:03:42.0000] <smaug> another question, in the specs, Notes normative? [08:04:53.0000] <annevk> smaug: notes are never normative [08:05:04.0000] <smaug> that is what I thought [08:17:17.0000] <smaug> igrigorik: where does the spec say https://bugs.chromium.org/p/chromium/issues/detail?id=662697#c2 ? [08:31:30.0000] <Ms2ger> \o farre [08:36:39.0000] <farre> Ms2ger: hi [08:36:39.0000] <botie> privet, farre [10:00:33.0000] <smaug> BroadcastChannel's constructor shouldn't ever throw, right https://html.spec.whatwg.org/multipage/comms.html#broadcasting-to-other-browsing-contexts [10:25:22.0000] <TabAtkins> botie, tell frivoal No, respec doesn't have cross-spec linking (and can't, without XHRing a multi-MB file, or hitting up a web service every time someone looks at a spec). One of the many reasons nobody should be using it. ^_^ [10:25:22.0000] <botie> will do [10:47:13.0000] <annevk> smaug: it can throw in the binding layer [10:47:42.0000] <annevk> smaug: it doesn't throw in the specification layer since it doesn't say throw anywhere in the description [10:58:20.0000] <smaug> annevk: I was thinking about the origin [10:58:28.0000] <smaug> when one is using data: url [10:58:34.0000] <smaug> or such [10:59:08.0000] <annevk> smaug: I see, would still work in theory seems like [10:59:31.0000] <smaug> yeah, I think it should work within such data- url page [10:59:57.0000] <smaug> but doesn't seem to in blink nor in gecko. But there really isn't any reason for such inconsistency, so I filed a Gecko bug [11:00:13.0000] <annevk> šŸ‘ [11:00:38.0000] <smaug> ...and I assume baku will fix it :) [15:46:56.0000] <botie> frivoal, at 2016-11-18 18:25 UTC, TabAtkins said: No, respec doesn't have cross-spec linking (and can't, without XHRing a multi-MB file, or hitting up a web service every time someone looks at a spec). One of the many reasons nobody should be using it. ^_^ 2016-11-19 [04:41:27.0000] <nox> What's the difference between "Set the parser pause flag to true" and "Block the tokenizer for this instance of the HTML parser"? [05:09:19.0000] <gsnedders> nox: does the former not have some affect on script execution? [05:09:47.0000] <nox> gsnedders: We "block the tokenizer" when waiting for the parsing-blocking script to finish loading, [05:10:00.0000] <nox> so it's not like these scripts are going to execute themselves anyway. [05:10:48.0000] <gsnedders> nox: um, do we spin the event loop at all? consider setTimeout(function{document.write("foo")}, 100) [05:11:43.0000] <nox> gsnedders: I'm not sure how to consider that, and actually that makes me scared. [05:13:53.0000] <nox> gsnedders: Does that even work? [05:14:11.0000] <nox> What's the insertion point for a document.write call inside setTimeout? [05:26:50.0000] <nox> gsnedders: Please tell me that's supposed to indirectly call document.open, otherwise my whole idea to avoid the concept of insertion point is useless. :( [05:27:33.0000] <gsnedders> nox: it adds it to the start of the input stream; it blows away the document if the parser has finished [05:27:47.0000] <gsnedders> nox: if you have a parser blocking script, you can easily have the timeout run before the end of the parse [05:28:04.0000] <gsnedders> this is, admittedly, an edge case you probably don't need to care about [05:28:07.0000] <nox> I see. [05:28:11.0000] <nox> I think I can avoid it anyway. [05:28:30.0000] <gsnedders> (standard disclaimer: I haven't really looked at the script-enabled side of this in a long time and my memory of the details might be wrong) [05:28:45.0000] <nox> gsnedders: If there is a parser blocking script, won't it rather add it at the end of the pending script input? [05:28:54.0000] <gsnedders> idk. [05:29:03.0000] <gsnedders> I'm also on a train and not about to try and load the spec :) [05:29:06.0000] <nox> After the input of past document.write() calls that was not yet processed. [05:29:08.0000] <nox> Ok. :) [05:31:42.0000] <nox> gsnedders: But if there is setTimeout(function{document.write("foo")}, 100) while there is a parser blocking script, whether "the parser pause flag" is set or we have "block the tokenizer for this instance", it will not process and tokenize "foo", right? [05:35:12.0000] <gsnedders> nox: not until unblocked [05:35:50.0000] <nox> gsnedders: Yeah I'm just trying to understand if there is a difference between the two. I don't see one. [05:46:53.0000] <nox> AFAIU, the insertion point is undefined when there is a parsing-blocking script, [05:47:16.0000] <nox> so I'm confused how can document.write adds anything to the input stream when called in setTimeout. [05:53:07.0000] <gsnedders> the event queue won't get spun till after the parser-blocking script has finished loading, but before the end of the parse [05:58:31.0000] <nox> gsnedders: So timers won't run until the blocking script finishes loading, and by that time we will have set insertion point again, is that it? [06:02:07.0000] <gsnedders> nox: I think [06:02:16.0000] <nox> gsnedders: OK [06:02:24.0000] <nox> gsnedders: I can still avoid insertion points if that's correct. [06:02:26.0000] <nox> WOOO [07:06:28.0000] <nox> gsnedders: But at that point ignore-destructive-writes counter will be greater than 0, so document.write should just abort itself... The plot deepens. [07:10:06.0000] <gsnedders> nox: you could try looking in wpt for tests for this? [07:24:49.0000] <nox> gsnedders: I don't even understand simpler tests hah. [07:25:57.0000] <gsnedders> nox: jgraham wrote a lot of good tests for this sort of nonsense when Opera was implementing this [07:25:58.0000] <nox> Never mind, brainfarted. [07:26:02.0000] <gsnedders> nox: hence I suspect there's decent tests [07:26:19.0000] <nox> gsnedders: Read "If the insertion point is undefined and either the Document's ignore-opens-during-unload counter" too fast, [07:26:26.0000] <nox> and saw "or" instead of "and". [07:26:35.0000] <nox> That changes... a lot of things hah. [14:47:30.0000] <botie> jarek, at 2016-11-18 09:31 UTC, zcorpan said: https://discourse.wicg.io/t/one-inch-is-not-an-inch/1228 2016-11-20 [05:35:40.0000] <tobie> annevk: re https://github.com/heycam/webidl/issues/240, I'm struggling to understand this wrt dictionaries, too. [05:36:36.0000] <tobie> annevk: you have an extra category in there which is dictionary Foo {}, no? Which you don't (yet) have with records. [05:36:47.0000] <annevk> tobie: I think we should not have a dfn for the thing ending in type [05:38:09.0000] <tobie> annevk: well, it certainly makes things easier. [05:38:16.0000] <annevk> tobie: in your example Foo would be marked up as Bikeshed dictionary I think [05:38:28.0000] <annevk> tobie: for xref purposes [05:38:54.0000] <tobie> annevk: oh. [05:39:03.0000] <tobie> annevk: right. [05:39:06.0000] <annevk> tobie: records would have that only through typedef I guess [05:39:25.0000] <tobie> annevk: that's the example TabAtkins mentioned, right? [05:39:50.0000] <tobie> annevk: <dfn>record<Foo></dfn> [05:40:14.0000] <tobie> (pardon the absence of HTML escaping.) [05:41:05.0000] <annevk> tobie: well, you can't really name a record other than through a typedef I think [05:41:07.0000] <tobie> annevk: I guess I think of dictionary Foo when someone talks of a dictionary type. So I'm not sure what it means for records [05:41:26.0000] <tobie> annevk: to your point [05:43:01.0000] <annevk> So you have records, dictionaries, sequences as concepts / IDL instances [05:43:11.0000] <tobie> annevk: I would say: {{Foo}} is a [=dictionary type=]. But record<DOMString, DOMString> is a [=record=]. [05:43:32.0000] <annevk> They are also types in that you can distinguish them [05:44:18.0000] <tobie> annevk: mmm. true. [05:44:20.0000] <annevk> I think both of those are types of sorts [05:44:34.0000] <annevk> Since they are not instances [05:45:27.0000] <annevk> And I guess another aspect is that there is hierarchy of sorts [05:45:59.0000] <annevk> There is a general dictionary type, but also more specific variants such as Foo [05:46:35.0000] <tobie> I guess that makes sense. [05:46:36.0000] <annevk> Though you can't type-test for Foo, so maybe there is only generic [05:47:51.0000] <tobie> I think what you're suggesting is there's no reason to distinguish in markup between: [=dictionary type=] and [=dictionary=] [=type=]. [05:48:13.0000] <tobie> (or even [=dictionary=] type) [05:49:45.0000] <annevk> Yeah, I'm leaning towards the latter myself [05:50:02.0000] <annevk> That is the convention the platform has used thus far [05:50:18.0000] <annevk> For "concepts" [05:50:43.0000] <annevk> We should maybe get more formal about types too though [05:51:31.0000] <annevk> "Type(x) is URL" might be interesting, but not sure and it has not been needed thus far [15:09:02.0000] <zcorpan> MikeSmith: how about we check the usage statistics of the doctype again in a few years? [15:11:36.0000] <zcorpan> MikeSmith: you would have annoyed 400 people in two days had you changed the validator already, right? :-) [15:12:59.0000] <MikeSmith> zcorpan: yup [15:13:06.0000] <MikeSmith> thanks much for the data [15:13:40.0000] <MikeSmith> Iā€™ll keep the use counter on in the checker [15:13:48.0000] <zcorpan> np [15:14:50.0000] <MikeSmith> so yeah we can look again in few years but I suspect we are always going to have some number like that as long as we still have XSLT etc [15:18:47.0000] <zcorpan> i guess so 2016-11-21 [23:51:44.0000] <annevk> MikeSmith: zcorpan: I mentioned the XSLT argument too, but I think the problem with that argument is that XSLT hasn't evolved at all and still does poorly at HTML serialization [23:51:57.0000] <annevk> MikeSmith: zcorpan: I believe there are several void elements it doesn't get right and such [00:41:26.0000] <annevk> zcorpan: belated happy b-day! [00:41:51.0000] <zcorpan> annevk: thank you [01:21:03.0000] <zcorpan> annevk: yeah, using this doctype is indicative that the tool used is bad at producing HTML. but people use them anyway, and there are non-XML tools that are also bad at producing HTML that are also used. [01:45:26.0000] <MikeSmith> annevk: zcorpan I could add a warning to the checker for documents with ā€œabout:legacy-compatā€ saying ā€œTools that arenā€™t capable of generating a docytpe without a system ID are likely to have other problems generating HTML output. Check your output carefully.ā€ [01:45:58.0000] <MikeSmith> but in practice for users of that checker they are going to see that as an error message [01:46:21.0000] <MikeSmith> a message they want to make go away [01:46:31.0000] <zcorpan> they are using a checker so they are checking their output already [01:46:47.0000] <MikeSmith> true [01:47:27.0000] <zcorpan> if anything the message should be "consider switching to a different toolchain that doesn't suck" :-) [01:47:59.0000] <zcorpan> but i don't think that's helpful [01:48:04.0000] <MikeSmith> yeah [01:48:18.0000] <MikeSmith> but I guess that is not helpful to authors [01:49:00.0000] <MikeSmith> it hurts to keep paying the XML tax forever [01:49:26.0000] <zcorpan> we can make tools suck less by contributing with issues etc, and advocating using tools we think are good [01:49:38.0000] <nox> Do any of you have an opinion about XML5? [01:50:00.0000] <zcorpan> nox: what context? [01:50:00.0000] <botie> i heard context was https://github.com/validator/validator/issues/284 [01:50:31.0000] <nox> zcorpan: ALL OF THEM [01:50:53.0000] <MikeSmith> haha [01:51:20.0000] <MikeSmith> I like XML5 [01:51:32.0000] <MikeSmith> but maybe the window of opportunity has passed [01:51:36.0000] <MikeSmith> or the window of need [01:51:46.0000] <nox> Yeah I don't see anyone using it anytime soon but Servo. [01:52:36.0000] <zcorpan> i would much prefer browsers using XML5 over parsing XML with the HTML parser [01:54:39.0000] <nox> zcorpan: Do they do that? [02:04:00.0000] <zcorpan> nox: some do, but more back in the day. presto-Opera did also at the end in some cases (only to reparse if it wasn't well-formed XML) [02:04:47.0000] <zcorpan> nox: https://simon.html5.org/articles/mobile-results [02:07:09.0000] <zcorpan> good times [02:12:10.0000] <zcorpan> MikeSmith: is there an upstream/downstream process between validator/validator and w3c/web-platform-tests ? [02:39:03.0000] <zcorpan> oh validator/tests is a mirror. ok [10:27:27.0000] <annevk> http://lists.xml.org/archives/xml-dev/201611/msg00067.html [10:46:08.0000] <annevk> I'm somewhat surprised the major difference in boolean attributes isn't discussed [10:47:10.0000] <annevk> Also somewhat surprised we're discussing DTDs in 2016, but maybe given recent election results I shouldn't be [10:48:58.0000] <eusid> annevk: thinking about the election as a boolean hurts my brain [10:53:26.0000] <Domenic> Why can dictionary attributes not be nullable, I wonder? [10:54:01.0000] <annevk> Domenic: dictionary members can be nullable [10:54:49.0000] <annevk> Domenic: but the preference is that they're not, unless they can be fed by some object that has a property of the same name that is nullable for some reason [10:54:53.0000] <Domenic> annevk: yes, but you can't do interface Foo { attribute SomeDictionary? bar; } [10:55:14.0000] <Domenic> So people are inventing interfaces just to get around that restriction [10:55:38.0000] <annevk> Domenic: if we start returning plain objects from getters, why do we have FrozenArray? [10:55:44.0000] <annevk> Domenic: should just be Array then [10:55:54.0000] <Domenic> I agree, but some people like immutability [10:55:59.0000] <annevk> sigh [10:56:00.0000] <Domenic> So your argument is against dictionary attributes in general [10:56:25.0000] <Domenic> Also doesn't notifications do this [10:56:27.0000] <annevk> Now sicking has disappeared, maybe we can revisit the immutability argument? [10:56:28.0000] <Domenic> I guess just not nullable [10:57:08.0000] <annevk> Notification doesn't return dictionaries from a getter [10:57:20.0000] <Domenic> yeah just frozenarray<dictionary> [10:57:25.0000] <Domenic> which it freezes in prose [10:57:37.0000] <annevk> Oh right, that madness [10:57:44.0000] <annevk> I'm not a fan [10:58:23.0000] <annevk> If I had the power I'd remove FrozenArray and replace existing usage with sequence [10:59:23.0000] <annevk> As for nullable dictionary attributes, why would that be needed as opposed to returning {}? [11:01:28.0000] <Domenic> Is your payment address not set, or is it just a payment address with empty string country/region/city/etc.? The former seems better. [11:02:47.0000] <annevk> Fair [11:03:40.0000] <Domenic> But it seems like we want a PaymentAddress interface with lots of readonly fields, after all. [11:39:04.0000] <TabAtkins> annevk, tobie: The distinction y'all are looking for is the notion of "kinds" from type theory. Values are the lowest kind, types are the next highest (they can be instantiated to produce a value), and type constructors are the next highest after that (they can be instantiated to produce a type). The kind hierarchy is infinite, of course. [11:39:35.0000] <TabAtkins> If values are kind 1, types are kind 2, etc, then "dictionary" or "record" are kind-3 things. [11:40:52.0000] <TabAtkins> The IDL definitions types in Bikeshed are meant to capture kind-2 things. There's nothing official for kind-3, because there's no call for it, so they instead fall into the generic "dfn" bucket. [11:42:09.0000] <TabAtkins> Then you've also got the kind-2 things like "sequence<DOMString>". They're definitely kind-2, types, because when they're instantiated they produce values (an array of strings, in this case). [11:44:22.0000] <TabAtkins> They're just *anonymous* types, which aren't handled by the Bikeshed linking model. As far as I can tell, you don't really need it, either. You instead want to link to "sequence" (the kind-3 thing) and "DOMString" (the kind-2 thing). If you use typedef to give a name to it, tho, like "typedef sequence<DOMString> NameList;", then "NameList" is a kind-2 [11:44:22.0000] <TabAtkins> thing, a type, with a name that can be referred with Bikeshed's linking model. [13:46:40.0000] <younder> I am getting complaints frm devepers that webgl it has to transpile to javascript or avoid garbage colection. [13:47:09.0000] <younder> They don't like it [13:47:50.0000] <younder> What are you ogoing to do about it? [14:23:53.0000] <TabAtkins> I think we removed the "block inheritance" flag from shadow roots, right? [14:26:23.0000] <gsnedders> Philip`'s old canvas tests, regenerating them seems to produce different reference images depending on cairo version. Is this a problem? [14:26:28.0000] <gsnedders> /me wonders how they differ [14:30:30.0000] <Philip`> gsnedders: If it's just changes to antialiasing etc, then no [14:31:12.0000] <Philip`> The reference images weren't meant to precisely match the canvas output, just look close enough that a human could visually check if the browser was doing basically the right thing [14:31:33.0000] <Philip`> and to help debug test failures by seeing what was expected [14:37:05.0000] <gsnedders> Philip`: thx [14:39:08.0000] <Philip`> (But I could be wrong, I haven't worked on this stuff for like a decade) [14:39:57.0000] <gsnedders> Well, that's where you went wrong! :) [14:52:23.0000] <Philip`> I assumed the web was solved so there wasn't any need to continue working on it [14:58:39.0000] <gsnedders> turns out that assumption was wrong, unfortunately 2016-11-22 [17:21:07.0000] <MikeSmith> SGML5 http://lists.xml.org/archives/xml-dev/201611/msg00078.html [22:19:03.0000] <annevk> MikeSmith: lol [22:21:02.0000] <MikeSmith> annevk: gotta love the ambition there [00:11:33.0000] <MikeSmith> annevk: https://github.com/w3c/manual-of-style [00:11:38.0000] <MikeSmith> if you not see it yet [00:12:27.0000] <annevk> MikeSmith: https://www.w3.org/2001/06/manual/ in a repo? [00:13:08.0000] <MikeSmith> yeah I think so [00:13:32.0000] <MikeSmith> seems plh moved it over [00:14:25.0000] <MikeSmith> there was probably some discussion about it that I either failed to read or forgot about [00:14:47.0000] <annevk> I haven't seen anything but I'm not on many mailing lists anymore [00:15:26.0000] <annevk> I created https://wiki.whatwg.org/wiki/Style the other day [00:15:41.0000] <MikeSmith> yeah I did see that [00:16:11.0000] <annevk> tobie: I'm very sad we don't seem to make much progress on the type stuff [00:16:36.0000] <annevk> tobie: I wonder if we can export the word "record" at least and settle on an ID for it [00:16:54.0000] <annevk> tobie: that would unblock a contribution someone made to Fetch [00:17:24.0000] <annevk> Although maybe I should be more optimistic, at least we're discussing the type stuff and figuring out what it means together [00:20:45.0000] <tobie> annevk: feel free to do this. I'm out of office this week, but can merge this. [01:16:40.0000] <annevk> tobie: https://github.com/heycam/webidl/pull/243 [02:23:29.0000] <tobie> annevk: did you rebuild and see no changes or not rebuild? [02:23:55.0000] <tobie> annevk: I imagine the former, but one can't be too sure. :) [02:24:28.0000] <annevk> tobie: the former [02:24:44.0000] <annevk> tobie: I ran make, then committed [02:50:29.0000] <annevk> zcorpan: MikeSmith: is http://sgmljs.net/docs/html5.html#the-datalist-element an actual problem? [03:00:02.0000] <zcorpan> annevk: http://books.xmlschemata.org/relaxng/relax-CHP-16-SECT-1.html - afaict ambiguous patterns are allowed in RELAXNG and i would assume the existing schemas in v.nu have them, and that's not a problem [03:00:28.0000] <annevk> zcorpan: cool [03:00:44.0000] <zcorpan> but i could check more carefully [03:01:01.0000] <annevk> zcorpan: I fixed the other nit, haven't found anything else in this document that is pointing out a potential mistake [03:02:36.0000] <zcorpan> i suppose the bigger issue we have with content models is that the language itself can be ambiguous. it's not always clear how the prose maps to a schema, and what edge cases are allowed [03:02:49.0000] <zcorpan> for example, is this allowed? <dl><script></script></dl> [03:04:58.0000] <zcorpan> but making it crystal clear for conformance checker implementors would probably come at the expense of less clarity for web developers [03:08:05.0000] <zcorpan> given the priority of constituencies, the spec should optimize for web developers over MikeSmith and hsivonen [03:20:19.0000] <annevk> Well, but it should be unambiguous first [03:26:14.0000] <annevk> MikeSmith: xml-dev wow btw [03:26:28.0000] <annevk> MikeSmith: there are some threads thereā€¦ [03:31:25.0000] <MikeSmith> annevk: yeah I didnā€™t even know xml-dev was still going [03:31:51.0000] <MikeSmith> itā€™s like stepping back in time to visit the mid-1990s [03:31:57.0000] <MikeSmith> retro tech [03:33:31.0000] <MikeSmith> annevk: about http://sgmljs.net/docs/html5.html#the-datalist-element, what zcorpan said [03:33:49.0000] <MikeSmith> ā€œThis means that upon encountering a template element in a datalist parent element, the parser cannot decide which of the two branches declared in the choice submodels of datalists grammar rule is to be selected for subsequent parsing.ā€ is not true [03:34:19.0000] <MikeSmith> RelaxNG was designed from the beginning to allow that [03:34:52.0000] <zcorpan> i suppose he was talking about SP [03:35:05.0000] <MikeSmith> yeah I guess so [03:35:29.0000] <MikeSmith> well in another message he said he wrote an SGML parser [03:36:00.0000] <MikeSmith> so now we have two SGML parsers! [03:36:47.0000] <MikeSmith> it only took 20 years to get a second SGML parser [03:37:08.0000] <MikeSmith> that is like only seconds in SGML-time [03:37:23.0000] <zcorpan> must be more than 20 years? [03:37:41.0000] <MikeSmith> true I guess so [03:38:34.0000] <tobie> annevk: sorry had to run out and wanted to double check we weren't breaking stuff downstream before committing. (We aren't as nothing really was exported anyway.) [03:38:43.0000] <tobie> annevk: merged now. [03:39:43.0000] <annevk> tobie: ta [03:44:40.0000] <MikeSmith> btw for those of you who like to call out to Java executables from your node applications, there is now https://www.npmjs.com/package/vnu-jar just for you [03:45:21.0000] <MikeSmith> npm install vnu-jar [03:46:32.0000] <zcorpan> MikeSmith: actually now we have at least 4 sgml parsers. arcsgml (1974), sgmls, sp and this new one [03:47:25.0000] <MikeSmith> oh [03:47:58.0000] <MikeSmith> never heard of them [03:48:43.0000] <MikeSmith> except sp [03:48:49.0000] <MikeSmith> well sgmls sounds familiar sorta [03:49:01.0000] <MikeSmith> I wonder if James CLark wrote that one too [03:54:30.0000] <MikeSmith> http://sgmljs.net/blog.html ā€œthe custom element feature puts HTML into the class of markup meta languages like SGML and XMLā€ is an interesting way of looking at custom elements [03:54:35.0000] <MikeSmith> but true I guess [04:05:08.0000] <karlcow> aaaahā€¦ manual of style [04:05:27.0000] <karlcow> MikeSmith and annevk made me jump a couple of years [04:06:22.0000] <MikeSmith> karlcow: yeah glad plh has revived it [04:06:27.0000] <annevk> Why not visit xml-dev and jump decades? [04:06:31.0000] <MikeSmith> heh [04:07:07.0000] <karlcow> I spent a big chunk of time on this with Susan Lesch [04:07:14.0000] <karlcow> annevk: <3 [04:08:25.0000] <karlcow> MikeSmith: that's cool. [04:08:51.0000] <MikeSmith> opens it up to collaboration, PRs [04:09:00.0000] <karlcow> these old thingsā€¦ like JapanBloggersāŠ™yc :D [04:09:12.0000] <karlcow> circa 2004 [04:09:15.0000] <MikeSmith> ah yaeh [04:09:53.0000] <MikeSmith> met Andreas Bovens on that list I think [04:10:43.0000] <karlcow> :) [04:10:49.0000] <karlcow> Opera Kaput [04:15:58.0000] <MikeSmith> there may be former Opera people now working at every major browser vendor [04:16:52.0000] <annevk> I think that's true [04:17:04.0000] <annevk> Not sure who Microsoft picked up other than David Storey [04:18:16.0000] <MikeSmith> yeah not sure either [04:18:45.0000] <karlcow> http://web.archive.org/web/19970605092055/http://www.w3.org/Overview.html [04:20:36.0000] <MikeSmith> Public Release of Jigsaw 1.0 Alpha 5 -- the HTTP 1.1 Compliant Server [04:21:00.0000] <MikeSmith> reminds me w3.org should deploy HTTP/2 support [04:22:19.0000] <MikeSmith> I guess there is HTTP/2 for Apache now [04:22:26.0000] <nox> https://twitter.com/FakeUnicode/status/800808929554857984 This thread is sad. [04:24:00.0000] <MikeSmith> nox: sad for one reason that somebody is quoting https://www.w3.org/TR/html-markup/syntax.html#comments there as if it is authoritative about anything [04:24:11.0000] <nox> MikeSmith: Yes, just replied. [04:24:58.0000] <MikeSmith> I really gotta fix that, make some floating thing as we have done for other do-not-use-this docs [04:24:59.0000] <annevk> nox: I like the Christmas tree [04:25:06.0000] <nox> annevk: Yeah. :) [04:25:59.0000] <MikeSmith> https://twitter.com/jleedev/status/800813497177161729 is great [04:36:57.0000] <JakeA> annevk: I'm trying to fix up service worker's use of bikeshed but struggling with the bikeshed docs. Is there a bikeshed spec that you'd consider "really good"? [04:37:10.0000] <JakeA> Trying to figure out the right way to mark up concepts [04:37:37.0000] <annevk> JakeA: Fetch is pretty good at this point [04:38:01.0000] <JakeA> ta [04:38:24.0000] <annevk> JakeA: a concept would just be "a <dfn>service worker</dfn> is a ... A <a>service worker</a> has an associated <dfn for="service worker">X flag</dfn>" etc. [05:15:16.0000] <zcorpan> MikeSmith: apparently sgmls was James Clark's fork of arcsgml [05:15:39.0000] <zcorpan> before he wrote sp [05:21:18.0000] <zcorpan> MikeSmith: about <!----->, is there an open bug for firefox? it's fixed in the v.nu HTML parser? [05:23:54.0000] <zcorpan> /me can't find a bug [05:33:57.0000] <zcorpan> filed https://bugzilla.mozilla.org/show_bug.cgi?id=1319410 [05:52:58.0000] <annevk> zcorpan: https://stackoverflow.com/questions/40735720/does-flow-content-has-to-have-palpable-content [05:57:33.0000] <JakeA> annevk: with "A <a>service worker</a> has an associated <dfn export>id</dfn>" - this is a case where I'd give the dfn an ID right, since its content is ambiguous? [05:58:05.0000] <JakeA> or would for="service worker" be enough? [05:58:38.0000] <ondras> uhm, quick css question -- https://jsfiddle.net/57p72fh0/1/ [05:58:42.0000] <annevk> JakeA: if that is the current markup you'd add for="service worker"; however, you also want to check what the current ID is and add that, to make sure you're not changing IDs around [05:58:55.0000] <annevk> JakeA: since the for attribute does affect the generated ID [05:59:01.0000] <ondras> why are the dt/dd layouted in in a different way in these two <dl>s ? [05:59:41.0000] <JakeA> annevk: gotcha. Was trying to eliminate the explicit IDs, but I guess that's too breaking [06:00:02.0000] <annevk> JakeA: yeah, you should definitely keep IDs on <dfn>s [06:00:43.0000] <annevk> JakeA: I noticed service workers regressed several times on that front, you want to start reducing that and improve reliability of linking to stuff [06:01:08.0000] <zcorpan> annevk: answered [06:01:27.0000] <annevk> JakeA: and basically add the original ID to any <dfn>s you modify by adding for attributes and such [06:01:48.0000] <JakeA> shall do, cheers [06:02:24.0000] <zcorpan> ondras: margins don't collapse across borders [06:03:42.0000] <zcorpan> ondras: maybe padding does what you want here? [06:04:05.0000] <zcorpan> ondras: also note <dl><div><dt><dd></div></dl> is allowed now, if that helps [06:04:13.0000] <JakeA> annevk: if a dfn has an ID, is there any point in "for"? [06:04:34.0000] <JakeA> as in, is the "for" redundant in <dfn export for="service worker" id="dfn-state"> [06:04:40.0000] <annevk> JakeA: yes, for will help disambiguate with terms from the same name [06:05:00.0000] <JakeA> cheers, thanks for all the help! [06:05:26.0000] <annevk> JakeA: so e.g. I can define <dfn for=XMLHttpRequest export>state</dfn> and we both don't end up linking to each others state and others can pick which state to link to [06:06:01.0000] <JakeA> gotcha [06:06:15.0000] <ondras> zcorpan: thanks, I am pretty sure I can solve this in various ways. But it is still not clear to me why the dt/dd are actually (vertically) centered in the border-less case. [06:06:32.0000] <ondras> in particular, what moves the dt downwards [06:06:35.0000] <annevk> JakeA: the ID doesn't carry any magic, it's just the identifier within your document, but it's good to keep it stable so links don't break [06:07:08.0000] <annevk> JakeA: the cross-spec and internal linking magic is all about contents / lt attribute and the for attribute, and there's also a couple of IDL-specific things [06:07:12.0000] <JakeA> annevk: the bit of the learning curve I'm hitting is where the magic starts & stops [06:07:46.0000] <annevk> JakeA: https://tabatkins.github.io/bikeshed/ has lots of information on this [06:07:50.0000] <JakeA> Hopefully by the end of this I'll *know* it rather than just copying it and hoping it's right :D [06:08:10.0000] <annevk> JakeA: I'm happy to review your PR [06:08:32.0000] <ondras> zcorpan: i.e. with just the first list present, how is it possible that <dd>'s top margin influences its previous sibling's vertical position [06:09:04.0000] <JakeA> annevk: Cheers. Will aim for it to produce html that's identical in all the important ways [06:09:39.0000] <annevk> ondras: because it collapses with the margin of the <dl> [06:10:35.0000] <ondras> annevk: the same happens when the <dl> does not have any margin [06:11:00.0000] <ondras> /me probably missing some rudimentary knowledge about margin collapsing [06:11:25.0000] <zcorpan> ondras: "A floating box's outer top may not be higher than the top of its containing block." [06:11:27.0000] <annevk> ondras: they get joined basically, larger one wins [06:11:39.0000] <zcorpan> i think is the rule that applies here [06:11:48.0000] <ondras> annevk: joining I know. of adjacent siblings. [06:11:57.0000] <zcorpan> the margin pushes down the containing block (the <dl> block box) [06:12:00.0000] <annevk> ondras: I'm talking about margins [06:12:11.0000] <ondras> annevk: yeah, margins of adjacent siblings [06:12:19.0000] <ondras> zcorpan: aha, interesting [06:12:24.0000] <annevk> ondras: also parent [06:12:29.0000] <tobie> annevk: Bikeshed doesn't namespace exported dfns with their spec name? [06:12:50.0000] <JakeA> annevk: in which cases would I *not* want to export a dfn? [06:13:04.0000] <annevk> tobie: yes, but if a term belongs to a specific thing it should use for [06:13:17.0000] <annevk> JakeA: when it's for internal usage [06:13:34.0000] <ondras> annevk: yeah, but parent's top margin only collapses with its first child's top margin [06:13:38.0000] <annevk> JakeA: generally most stuff is probably good to export, the export story is a little messy [06:13:53.0000] <wanderview> JakeA: what do you think about adding an install event handler to async-waituntil-polyfill that tests if the native waitUntil works async so it can turn the polyfill on/off? [06:14:08.0000] <wanderview> sorry for the non-sequitor during your conversation [06:14:10.0000] <tobie> annevk: I'd like to see a clear guide as when you're supposed to do what with Bikeshed. [06:14:41.0000] <tobie> annevk: the docs tells you everything you can do. It would be good to have good practice doc somewhere [06:14:50.0000] <ondras> zcorpan: I see, thanks. I supposed this is related to floats, so I shall read that part of the spec? [06:15:08.0000] <JakeA> wanderview: where would it store the result of the test? [06:15:21.0000] <wanderview> JakeA: thats a good point :-\ [06:15:49.0000] <zcorpan> ondras: floats, block boxes and margin collapsing [06:15:54.0000] <wanderview> JakeA: I guess there is no good way to feature detect it then [06:16:14.0000] <JakeA> wanderview: not that I could figure out. And if the test is async it's probably not worth it :( [06:16:38.0000] <wanderview> JakeA: well, thats why I thought doing it during install would be nice... but I forgot about needing to persist the result [06:16:47.0000] <ondras> "When the float occurs between two collapsing margins, the float is positioned as if it had an otherwise empty anonymous block parent taking part in the flow. The position of such a parent is defined by the rules in the section on margin collapsing." [06:16:50.0000] <ondras> that would be it. [06:17:00.0000] <ondras> cool, thanks for the info [06:17:10.0000] <wanderview> JakeA: I guess our impl won't see much use until chrome ships it as well [06:17:36.0000] <JakeA> Haven't caught up with the status of that yet :/ [06:20:25.0000] <wanderview> JakeA: well, this release is delayed an extra cycle... so we won't ship until April 2017... shouldn't be a problem for us to ship first since people mostly test with chrome [06:20:44.0000] <zcorpan> ondras: yeah, i think that's what actually pushes down the block. i read that paragraph but didn't understand it so went on looking at other places trying to find this :-D [06:20:54.0000] <ondras> :) [06:21:18.0000] <ondras> zcorpan: yeah, the behavior is the same in ff/chrome, so I assume it is correct. just puzzling for me. thanks a lot. [06:22:09.0000] <zcorpan> CSS [06:22:10.0000] <zcorpan> IS [06:22:13.0000] <zcorpan> AWESOME [06:22:19.0000] <ondras> :} [06:22:27.0000] <css> Thx! [06:26:17.0000] <nox> Can't spell awesome without me. [06:26:39.0000] <Ms2ger> Fortunately you can without nox [06:26:51.0000] <nox> Ms2ger: But you can't spell obnoxious without me. [06:27:33.0000] <Ms2ger> That's undeniable [06:28:44.0000] <nox> Ah ah. [06:33:46.0000] <JakeA> annevk: should https://w3c.github.io/ServiceWorker/#dfn-script-resource-map really be an infra map? [06:34:16.0000] <JakeA> Rather than pointing to ecmascript concepts [06:35:13.0000] <annevk> JakeA: I suspect so, but maybe ask Domenic since it involves importScripts() [06:35:33.0000] <JakeA> cheers [06:53:47.0000] <wanderview> annevk: can we lock this thread or something? its devolving into conspiracy theories, etc: https://github.com/whatwg/html/issues/315#issuecomment-262210092 [06:56:58.0000] <nox> This is gold. [07:08:05.0000] <zcorpan> wanderview: commented [07:08:28.0000] <wanderview> zcorpan: thanks [07:35:09.0000] <annevk> wanderview: šŸ˜Ÿ [08:29:15.0000] <Ms2ger> Is there no IDL algorithm for creating an ArrayBuffer? [08:29:40.0000] <nox> Ms2ger: "Make it so" boom, done. [08:40:54.0000] <Ms2ger> annevk / Domenic: around? [08:41:07.0000] <Domenic> we've merged into a superentity ;_; [08:41:35.0000] <Ms2ger> I'm looking at https://html.spec.whatwg.org/multipage/workers.html#run-a-worker , your superentitiness [08:42:05.0000] <Ms2ger> Correct me if I'm wrong... [08:42:30.0000] <Ms2ger> "outside settings" is the realm of the Worker that's being constructed [08:42:49.0000] <Ms2ger> "inside settings" is the realm of the DedicatedWorkerGlobalScope [08:43:03.0000] <Ms2ger> We do "Fetch a classic worker script given url, outside settings, and destination." [08:43:39.0000] <Ms2ger> It returns a "classic script", whose "settings object" is "outside settings" [08:43:45.0000] <Domenic> hmmmm [08:43:58.0000] <Domenic> yes, that seems a little broken [08:45:11.0000] <Ms2ger> Seems like it's using a realm on the wrong thread... That's more than a little in C++ :) [08:45:44.0000] <Domenic> I forgot that the settings object passed to fetch a classic worker script was used for more than just the fetch client [08:45:51.0000] <Domenic> Will add another parameter [08:45:59.0000] <Ms2ger> Thanks [10:14:42.0000] <jsbell> wanderview: thanks for test feedback! We're now running the w-p-t copies locally so expect more patches as I try and reconcile our local copies so I can delete them :) [10:15:30.0000] <wanderview> jsbell: np, sounds great [10:28:42.0000] <bterlson> TabAtkins: is this a bug? http://codepen.io/anon/pen/XNRdwg Position: fixed doesn't work when a child of an element with will-change: transform. [10:30:14.0000] <bterlson> TabAtkins: I should say, chrome behaves like this, but edge does not :-P [11:06:15.0000] <KiChjang> are there any plans for an implementor-only HTML spec? [11:06:27.0000] <KiChjang> i know there's the developer-only spec [11:17:20.0000] <Domenic> KiChjang: no concrete plans, but yes vague ones. We see implementers get confused by authoring requirements way too often; it would be nice to do something about that. [11:45:41.0000] <gsnedders> Domenic: I wonder if it'd be worthwhile having a bar to one side saying "this applies to x"? [11:46:17.0000] <Domenic> yeah, it's really just a matter of tooling + marking up the spec consistently [14:51:00.0000] <n0ah_> Hello, got a question regarding CORS: is there a way to detect (client side) the header fields exposed by Access-Control-Expose-Headers? [14:53:47.0000] <n0ah_> here's my use case a browser supporting fetch but missing Headers.prototype.entries Id have to pick each header exposed using Headers.prototype.get but for that Id need the list of these headers. [14:54:04.0000] <n0ah_> Is it exposed anywhere? [14:55:09.0000] <n0ah_> If it's not the right place to ask could someone redirect me to the right channel? [15:05:05.0000] <n0ah_> a/ everyone is sleeping b/ too simple c/ too complicate [15:05:17.0000] <n0ah_> Which one is it? [15:12:02.0000] <n0ah_> the fetch spec. has this channel listed in its header [15:12:08.0000] <n0ah_> you should remove it [15:14:56.0000] <caitp> wow 2016-11-23 [17:46:15.0000] <MikeSmith> zcorpan: I did not file a gecko bug for comment-parsing change, but I see you did, so problem solved :) [23:55:16.0000] <annevk> caitp: indeed, that's rather rude [04:13:13.0000] <annevk> W3C made a real mess of their copy of DOM, geez [04:14:03.0000] <annevk> For something where they reportedly only subsetted (which was not what I was told originally), I wonder how https://github.com/w3c/dom/issues/4 happened [04:16:58.0000] <annevk> MikeSmith: can we get https://dvcs.w3.org/hg/xhr/raw-file/default/xhr-1/Overview.html redirected? [04:20:58.0000] <MikeSmith> annevk: yeah to https://fetch.spec.whatwg.org/ ? [04:21:13.0000] <annevk> MikeSmith: no, https://xhr.spec.whatwg.org/ [04:21:24.0000] <MikeSmith> ah of course yeah [04:22:52.0000] <annevk> MikeSmith: maybe https://dev.w3.org/2006/canvas-api/canvas-2d-api.html too? [04:23:22.0000] <annevk> MikeSmith: to https://html.spec.whatwg.org/multipage/scripting.html#the-canvas-element [04:23:27.0000] <MikeSmith> hai [04:23:40.0000] <annevk> MikeSmith: or https://html.spec.whatwg.org/multipage/scripting.html#2dcontext maybe, up to you [04:23:45.0000] <MikeSmith> k [04:23:53.0000] <MikeSmith> working on it now [04:25:28.0000] <MikeSmith> annevk: I seem to remember that when we tried this before, adding redirects in .htaccess did not work [04:25:31.0000] <MikeSmith> right? [04:25:40.0000] <MikeSmith> because it is not apache [04:25:50.0000] <annevk> MikeSmith: I'm not sure [04:26:03.0000] <annevk> MikeSmith: you can find out how http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html redirects maybe? [04:26:06.0000] <MikeSmith> well I remember adding meta-refresh to tsome [04:26:12.0000] <MikeSmith> ok [04:26:12.0000] <annevk> MikeSmith: I thought that for dev.w3.org you could use .htaccess [04:26:21.0000] <MikeSmith> yeah for that yeah [04:26:26.0000] <MikeSmith> because that is apache [04:26:40.0000] <MikeSmith> anyway Iā€™ll check [04:36:35.0000] <MikeSmith> annevk: OK just now finding/remembering where the redirects are configured [04:36:45.0000] <MikeSmith> in a file maintained in cvs [04:37:11.0000] <MikeSmith> canā€™t make this stuff up [04:39:30.0000] <Ms2ger> /me was wondering why you'd use "powerware mediocre" as a user name [04:47:15.0000] <MikeSmith> annevk: OK https://dvcs.w3.org/hg/xhr/raw-file/default/xhr-1/Overview.html done [04:51:55.0000] <Ms2ger> MikeSmith, doing DOM too? :) [04:54:57.0000] <MikeSmith> Ms2ger: would that I could [04:56:32.0000] <Ms2ger> /me wonders what it'd take to become dictator^Wchair of the htmlwg [05:09:47.0000] <MikeSmith> Ms2ger: there is no htmlwg currently so I guess you could even nominate yourself chair and then second the nomination and then I could issue you a pretend chair certificate [05:09:58.0000] <MikeSmith> annevk: https://dev.w3.org/2006/canvas-api/canvas-2d-api.html redirected [05:10:10.0000] <Ms2ger> MikeSmith, whatever they call the fools wg now [05:11:23.0000] <MikeSmith> didnā€™t know we had a fools wg but if we do I think most people would agree I should definitely be King of that group [05:12:12.0000] <jgraham> /me hopes it is a goosberry fool [05:27:51.0000] <zcorpan> trying to find things that are expensive in standard.css I find that adding table { display:none } reduces time spent on layout more than removing the entire stylesheet (in chromium) [05:32:31.0000] <JakeA> annevk: This <a>task source</a> is used for features that <a>dispatch</a> other <a>functional</a> events, e.g. <a href="https://w3c.github.io/push-api/#h-the-push-event">push</a> events, to <a>service workers</a> - trying to figure out what to do with this. Since it's an "e.g." should it be moved to a note? Also, what about the link to the push event, should [05:32:32.0000] <JakeA> I set up auto-linking for that or should I avoid that in non-normative text? [05:35:00.0000] <annevk> JakeA: events are typically linked [05:35:36.0000] <annevk> JakeA: e.g. could be moved to note, but no hard rules [05:36:10.0000] <JakeA> annevk: I was worried that by using autolinking it's make the push event a dependency in the spec or something [05:39:32.0000] <annevk> JakeA: should be possible to keep that informative and not normative [05:43:45.0000] <JakeA> ta [06:28:23.0000] <zcorpan> annevk: the only case where bikeshed's plural heuristic doesn't work is "C0 control or space" I think [06:28:46.0000] <zcorpan> annevk: but in practice it's just the url spec that uses that, right? [06:29:22.0000] <annevk> zcorpan: I think we'd have to rename ASCII hex digit upper to ASCII upper hex digit, no? [06:29:42.0000] <zcorpan> annevk: yes [06:29:54.0000] <zcorpan> annevk: i mean after renaming those [06:30:27.0000] <zcorpan> annevk: "C0 control or space" would not be found for <a>C0 controls or spaces</a> since bikeshed only tries to pluralize the last word [06:31:07.0000] <annevk> zcorpan: sure, we'd have to add an alternative lt for that one [06:32:23.0000] <zcorpan> oh right, that is possible [06:37:49.0000] <annevk> MikeSmith: who is responsible for https://github.com/w3c/streams-api/issues/1 at this point? [06:38:17.0000] <annevk> MikeSmith: I wonder if we can at least get those documents cleaned up where there is no ongoing work [07:33:35.0000] <gsnedders> rbyers: who do I need to ask to be able to CC people on Monorail? [07:37:07.0000] <gsnedders> rbyers: also not having to go through the issue wizard [07:54:41.0000] <JakeA> TabAtkins: bikeshed question: I've got two "service worker" definitions in the spec, how do I signal that <a>service worker</a> should link to for="/" by default? [08:09:17.0000] <annevk> JakeA: I don't think you can [08:09:30.0000] <JakeA> aww [08:11:29.0000] <annevk> JakeA: there is https://tabatkins.github.io/bikeshed/#metadata-assume-explicit-for but that might have some side effects [08:11:47.0000] <JakeA> annevk: yeah, don't really want to enable it across the whole thing [08:12:01.0000] <annevk> JakeA: in that you need to specify for="" everywhere where it's not "/" [08:12:17.0000] <annevk> (even if there's only one such term) [08:12:29.0000] <JakeA> annevk: yeah. What I really want is a link-defaults line for the current spec [08:12:55.0000] <JakeA> type:dfn; for:/; text:service worker [08:13:05.0000] <annevk> JakeA: see long discussion in https://github.com/w3c/ServiceWorker/pull/995 [08:13:45.0000] <annevk> JakeA: I hope you have seen that PR before today btw [08:14:03.0000] <annevk> JakeA: it has similar goals as you have, I had forgotten about it [08:14:33.0000] <JakeA> annevk: I had, but had also forgotten about it. It's no biggie, it changes a few lines whereas I've ended up changing almost every line :D [08:14:45.0000] <annevk> heh [08:15:50.0000] <annevk> I'm still having a hard time understanding Web IDL, wherever I look it does strange things in how it defines things [08:16:15.0000] <annevk> Where "strange" means "I wouldn't have done it that way" I guess [08:16:25.0000] <JakeA> annevk: https://github.com/w3c/ServiceWorker/blob/bikeshed-cleanup/docs/index.bs is where I'm at - just stripping everything back. Now in the process of adding stuff back that's needed [08:28:15.0000] <JakeA> annevk: https://github.com/tabatkins/bikeshed/issues/853 seems relevent btw [08:29:07.0000] <annevk> JakeA: yeah, that's how we got explicit for I think [08:29:21.0000] <JakeA> shame it's a bit of a sledgehammer [08:30:10.0000] <annevk> JakeA: it's pretty easy to add for=/ everywhere too though [08:30:22.0000] <JakeA> annevk: yeah, doing that now [08:30:23.0000] <annevk> JakeA: (case-sensitive) search & replace ftw [08:39:20.0000] <rbyers> gsnedders: Oh, you still don't have edit-bugs rights! Sorry, I should have asked. [08:39:35.0000] <rbyers> gsnedders: I can fix that. Is it your gmail account that you use? [08:41:39.0000] <gsnedders> rbyers: geoffersāŠ™gc [08:42:02.0000] <gsnedders> I should really stop using that everywhere, but it's irritating having bugs filed from two separate accounts, soā€¦ [09:05:36.0000] <JakeA> annevk: I'm a bit stuck. https://gist.github.com/jakearchibald/2df40122ef29b11948624f065e041857 - I can't figure out why <a for="ServiceWorkerGlobalScope">install</a> isn't resolving [09:06:06.0000] <JakeA> "LINK ERROR: No 'dfn' refs found for 'install'." [09:10:16.0000] <JakeA> TabAtkins: is the above a bug or have I just Jake'd it up? [09:25:31.0000] <annevk> JakeA: what does the install dfn look like? [09:32:47.0000] <JakeA> annevk: <dfn event id="service-worker-global-scope-install-event"><code>install</code></dfn> - the gist above is reduced [10:12:26.0000] <KiChjang> Domenic, i've got a complaint about ES6 promises [10:12:45.0000] <KiChjang> one developer said that the new promises silently drops exceptions [10:19:09.0000] <JakeA> KiChjang: Chrome, Firefox & Node all log uncaught promise rejections [10:19:48.0000] <JakeA> Safari doesn't report them unfortunately, complain to them šŸ˜€ [10:23:46.0000] <annevk> JakeA: sorry, I missed the gist when looking on my phone [10:23:58.0000] <annevk> JakeA: so it seems two things are wrong [10:24:08.0000] <annevk> JakeA: 1. the <dfn> doesn't have an equivalent for attribute [10:24:21.0000] <annevk> JakeA: 2. the <a> doesn't have an event attribute [10:25:20.0000] <annevk> KiChjang: new? [10:26:23.0000] <KiChjang> so basically what happens is that within the callback of a .then(), exceptions thrown does not bubble up to the top level [10:26:27.0000] <Domenic> KiChjang: it sounds like you are just dealing with uninformed developers [10:26:31.0000] <KiChjang> you have to call .catch() in order to handle it [10:26:59.0000] <KiChjang> chrome does a better job and throws an unhandledrejection exception if you don't call .catch [10:27:28.0000] <Domenic> All browsers log. Chrome also has an event. This is a non-issue. [10:27:55.0000] <KiChjang> logging isn't the issue here, the problem is having an explicit event [10:28:34.0000] <KiChjang> you can't use existing try-catch blocks to handle exceptions thrown within a callback in a .then() [10:28:35.0000] <Domenic> Well if the claim is silent then that claim is just false. [10:28:42.0000] <Domenic> Of course, you can't use try-catch on anything async [10:28:51.0000] <Domenic> You can't use try-catch on exceptions in an event handler or setTimeout or ... [10:29:42.0000] <KiChjang> the "silent" here meaning that within the code, there's no way in the outer scope to know about the exception [10:30:01.0000] <Domenic> Sure there is, use .catch() [10:37:56.0000] <JakeA> KiChjang: have you seen async functions? https://developers.google.com/web/fundamentals/getting-started/primers/async-functions [10:38:22.0000] <rbyers> gsnedders: Yeah, switching accounts is annoying - using your gmail one should be fine. Sent you an invite. [10:38:50.0000] <KiChjang> JakeA, that's chrome-only, isn't it? [10:39:53.0000] <JakeA> annevk: 1 is solved by a parent dfn-for, it was the event attribute I was missing. Cheers! [10:40:22.0000] <KiChjang> so now he's saying that when an exception is thrown within a callback in then(), it really shouldn't be handled like a promise rejection [10:40:24.0000] <rbyers> If anyone else here has filed chromium bugs in the past and would benefit from full access to the chromium bug tracker (edit labels, cc specific people etc.) please let me know. [10:41:16.0000] <JakeA> KiChjang: it's polyfillable using generators. That's covered in the article [10:41:33.0000] <Domenic> KiChjang: in which case he should read https://blog.domenic.me/youre-missing-the-point-of-promises/ [10:41:53.0000] <KiChjang> Domenic, ohh, that's something i can show him, thanks [10:42:45.0000] <JakeA> KiChjang: your developer is wrong here. Especially as throwing and rejecting become the same thing in async functions [10:51:07.0000] <KiChjang> FTR i think the chaining/function composition makes sense, i guess the issue here is getting some programmers who are still stuck in the sync world to understand that this is an entirely different model [10:52:11.0000] <KiChjang> there's still a sense of "when an exception is thrown, i expect the program to crash and burn" [11:05:05.0000] <JakeA> KiChjang: but that never happens in the browser. A thrown error doesn't crash a tab [11:05:56.0000] <KiChjang> let's say the expectation here is that it should behave like sync exceptions [11:10:11.0000] <caitp> KiChjang: async functions aren't chrome-only, they're implemented in WebKit (compile-time flag was removed last week), in ChakraCore and in SpiderMonkey [11:42:57.0000] <zcorpan> http://stackoverflow.com/questions/40735720/does-flow-content-has-to-have-palpable-content/40743860?noredirect=1#comment68741471_40743860 - help? i don't understand what they is asking now [15:00:55.0000] <Domenic> botie: ask rniwa for a repro file for https://github.com/whatwg/html/issues/2058 [15:00:55.0000] <botie> will do [15:35:19.0000] <zcorpan> /me updated https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dl (and div/dt/dd, though they might not have gotten through yet) [15:38:58.0000] <Domenic> nice! [15:39:45.0000] <Domenic> Still unsure why MDN has W3C HTML at all... 2016-11-24 [17:29:16.0000] <MikeSmith> annevk: not sure who is responsible for https://github.com/w3c/streams-api/issues/1 at this point but I guess the Web Platform WG [17:30:20.0000] <MikeSmith> will ask the team contacts [17:31:14.0000] <MikeSmith> I see itā€™s explicitly listed in the charter https://www.w3.org/2015/10/webplatform-charter.html [17:31:44.0000] <MikeSmith> ah wait thatā€™s not the current one I guess [17:32:45.0000] <MikeSmith> good news itā€™s not in the current charter https://www.w3.org/2016/11/webplatform-charter.html [17:33:04.0000] <MikeSmith> (I guess everybody else probably already knew that except me) [17:37:45.0000] <MikeSmith> annevk: will ask the team contacts to move https://www.w3.org/TR/streams-api/ to Note. Lemme know what else you think should be done [21:30:50.0000] <annevk> MikeSmith: gutting the editor's draft too I suppose [23:12:26.0000] <MikeSmith> annevk: made the editorā€™s draft just redirect [23:42:46.0000] <annevk> MikeSmith: yay [23:48:56.0000] <MikeSmith> annevk: and am asking that the TR WD get made into a Note [00:27:57.0000] <kochi> Is Thanksgiving a thing as well in European countries? (just curious) [00:35:01.0000] <annevk> kochi: I don't think so, I only celebrated it once in London with Americans [00:35:20.0000] <annevk> kochi: I might just be missing out though [00:36:23.0000] <kochi> annevk: in Japan we had a national holiday yesterday, but that's it. No big holidays like in US. [00:37:01.0000] <kochi> /me was wondering if I can ask anyone for review in non-US countries. [00:37:38.0000] <annevk> kochi: https://en.wikipedia.org/wiki/Thanksgiving seems as long as they're not in Canada either you're okay [00:39:01.0000] <annevk> Hah, apparently if you're of a certain relgion it's a thing in the Netherlands too [00:39:04.0000] <kochi> annevk: the article says in Canada it's on the second Monday in October, so US people only at this point ;) [00:39:36.0000] <annevk> I should have read more than the first sentence before saying that I guess [01:34:54.0000] <jgraham> kochi: Nope [01:35:35.0000] <jgraham> Isn't the story that it's giving thanks for not dying when then first reached North America [01:36:10.0000] <jgraham> Obviously people in Europe don't give thanks for that since they didn't go in the first place ;) [01:39:58.0000] <kochi> jgraham: haha, but in northern hemisphere it's the season for harvests, so no wonder if there are festivals of some sorts. [01:52:15.0000] <jgraham> Indeed, although I think they tend to be lower-key [01:52:28.0000] <jgraham> At least in the UK there isn't really anything special at this time of year [02:37:13.0000] <JakeA> annevk: sorry, more bikeshed questions. If I've got an algorithm, <section algorithm="terminate-service-worker-algorithm">, how would I define and link to that? [02:37:33.0000] <annevk> JakeA: I don't know about algorithms [02:37:44.0000] <JakeA> no worries, I'll have a play [02:37:56.0000] <annevk> JakeA: IDL uses them I think these days so you might find an answer there [03:57:27.0000] <annevk> MikeSmith: I have a couple more nits... [03:57:54.0000] <MikeSmith> annevk: no worries [03:58:03.0000] <MikeSmith> letā€™s get it right [04:02:39.0000] <MikeSmith> annevk: btw https://github.com/whatwg/wattsi/pull/30 (ā€œAppend a self-link to each headingā€) seems to have had the unintended effect of also adding the a[class=self-link]s in the generated TOC [04:03:02.0000] <MikeSmith> so we end up with, e.g., <a href=#toc-introduction>1 Introduction<a href=#introduction class=self-link></a></a> [04:03:05.0000] <MikeSmith> nested links [04:03:12.0000] <zcorpan> JakeA: i think https://rawgit.com/tabatkins/bikeshed/master/docs/index.html#section-links if you want to link to a section [04:03:35.0000] <MikeSmith> annevk: which for one thing the HTML checker doesnā€™t like so much [04:04:04.0000] <annevk> MikeSmith: oh shit, I thought we had avoided that [04:04:42.0000] <JakeA> zcorpan: I'm currently going with <section algorithm><h3 dfn>Do amazing stuff</h3>ā€¦ [04:04:58.0000] <JakeA> zcorpan: then <a>Do amazing stuff</a> does (what I assume is) the right thing [04:05:01.0000] <MikeSmith> annevk: seems not but I could be missing something [04:05:17.0000] <MikeSmith> annevk: anyway my bad for not catching in review [04:05:29.0000] <MikeSmith> or maybe I didnā€™t review that one [04:05:42.0000] <MikeSmith> which if so, still my bad [04:05:48.0000] <zcorpan> JakeA: ah yes, that sounds like the best way to do it [04:05:55.0000] <annevk> hah, it's really my fault [04:06:08.0000] <JakeA> zcorpan: lucky guess on my part then! [04:06:32.0000] <annevk> MikeSmith: I'll investigate [04:06:39.0000] <zcorpan> JakeA: i hope you actually name the algorithm "Do amazing stuff" ;-D [04:07:29.0000] <JakeA> zcorpan: ah, bollocks, I'm wrong. While bikeshed will infer an algorithm name from an inner <dfn>, it won't from <h3 dfn>. [04:07:38.0000] <JakeA> I'll file that though [04:07:56.0000] <zcorpan> annevk: hmm https://checker.html5.org/?doc=https%3A%2F%2Fdom.spec.whatwg.org%2F complains about space in href. is that bikeshed's fault? [04:08:38.0000] <MikeSmith> annevk: Iā€™m looking back at the wattsi change now too [04:08:56.0000] <annevk> zcorpan: not if the ID actually contains a space [04:09:12.0000] <zcorpan> annevk: <h3 id="ordered sets">Ordered sets</h3> [04:09:24.0000] <annevk> zcorpan: yeah, so bug in DOM [04:09:33.0000] <annevk> zcorpan: for attributes is probably also some kind of bug in DOM [04:10:01.0000] <zcorpan> i can take a stab at fixing [04:10:17.0000] <annevk> ta [04:22:39.0000] <JakeA> annevk: I'm trying to link to https://html.spec.whatwg.org/multipage/webappapis.html#concept-settings-object-origin, is there anything better I can do than add something to <pre class=anchors>? [04:23:45.0000] <annevk> JakeA: <a for="environment settings object">origin</a> [04:24:17.0000] <annevk> JakeA: you can find it through inspect element, not ideal... [04:25:10.0000] <JakeA> annevk: ughhh sorry, I really should have figured that out myself. I tried for="settings object" since that's in the url. Didn't think to inspect. [04:25:17.0000] <JakeA> The dumb questions will stop eventually [04:25:19.0000] <JakeA> maybe [04:25:26.0000] <annevk> dude no worries [04:25:39.0000] <annevk> it's not like it's a lot of effort to answer these questions [04:25:55.0000] <JakeA> well, I really appreciate it [04:31:13.0000] <zcorpan> we should probably have something automated checking the markup of all our specs [04:31:25.0000] <MikeSmith> yeah [04:31:37.0000] <MikeSmith> travis [04:31:52.0000] <MikeSmith> not hard to set up [04:32:18.0000] <MikeSmith> I could add something for the html repo first [04:32:31.0000] <zcorpan> ā¤ļø [04:37:03.0000] <annevk> MikeSmith: oh, if HTML checker has an API that'd be great indeed [04:37:23.0000] <annevk> MikeSmith: I'm getting closer to that self-link bug you found btw [04:37:44.0000] <annevk> MikeSmith: that is, cargo culting my way towards a solution [04:37:52.0000] <MikeSmith> haha [04:38:50.0000] <MikeSmith> FreePascalā€™n like a boss [04:39:00.0000] <annevk> MikeSmith: I got them out multi-page somehow, but not single-page [04:39:16.0000] <zcorpan> hit keys at random until it compiles and does what you want, like how people write HTML, except that always compiles [04:39:41.0000] <MikeSmith> annevk: that seems odd [04:41:23.0000] <MikeSmith> eventually weā€™re all either gonna have to actually learn FreePascal at some level of actual competency, or else burn wattsi to the ground [04:42:04.0000] <MikeSmith> I like the wattsi code but it is definitely not something quick to change [04:42:36.0000] <MikeSmith> gotta set aside an afternoon and furrow your brow a lot [04:45:15.0000] <annevk> Yeah, not really sure what it would be, but yes [04:52:24.0000] <nox> Will the HTML spec one day list all cross-references in multipage mode? [04:54:53.0000] <nox> "If the insertion point is undefined, call the open() method on the document object (with no arguments). If the user refused to allow the document to be unloaded, then abort these steps. Otherwise, the insertion point will point at just before the end of the (empty) input stream." [04:55:24.0000] <nox> I'm confused by the '(empty)', AFAIK the input stream can be non-empty, with yet-to-be-tokenised data coming from the network. [04:56:44.0000] <nox> Never mind, misparsed that. [04:57:01.0000] <nox> The "otherwise" is about 'if the user refused to allow the document to be unloaded", not the whole sentence. [05:08:25.0000] <annevk> MikeSmith: I have a solution but it's not super clean, attempting another... [05:13:46.0000] <Ms2ger> Do I know anyone who works on google docs? [05:24:14.0000] <annevk> zcorpan: https://github.com/whatwg/resources.whatwg.org/commit/b245e7c9adfe8b9e23a4e01904f487685361b5a9 that kind of removes the need for initDfn too, no? [05:25:30.0000] <zcorpan> annevk: ...i guess, yeah [05:25:51.0000] <annevk> zcorpan: although maybe not as simple as the change you made [05:26:13.0000] <zcorpan> i don't want to fiddle with this anymore for now :-) [05:29:03.0000] <JakeA> annevk: should https://fetch.spec.whatwg.org/#concept-response-response be exported? [05:29:34.0000] <zcorpan> nox: hmmmmmmmmmmmmmmmm. wonder if dfn.js can use fragment-links.json [05:29:47.0000] <annevk> JakeA: yeah probably; issue/PR welcome [05:30:18.0000] <annevk> JakeA: I guess add a comment to https://github.com/whatwg/fetch/issues/403 [05:30:35.0000] <annevk> JakeA: once you've found all that are not exported I can push an update and they'll be exported and indexed tomorrow [05:37:56.0000] <JakeA> annevk: I'll update #420 as I find them [05:38:10.0000] <annevk> JakeA: much appreciated [05:52:38.0000] <annevk> Hmm, w3.org is down [05:57:29.0000] <mkwst> Thanksgiving. [05:57:36.0000] <mkwst> Website's on vacation. [06:04:01.0000] <annevk> mkwst: it's funny, but I'm really starting to dislike the US-centrism of so many things in technology [06:04:36.0000] <mkwst> s/in technology// [06:04:42.0000] <mkwst> It's a problem. [06:05:15.0000] <MikeSmith> mkwst: yeah sorry no idea whats borked but systeam is on it (and still early enough that US team are not in a turkey-induced fugue state yet) [06:05:30.0000] <MikeSmith> most of systeam is in EU anyway [06:06:53.0000] <MikeSmith> but when affected servers are at MIT, the fix sometimes requires somebody to actualy go to MIT and kick a server [06:07:29.0000] <MikeSmith> seems like it is coming back now? [06:08:26.0000] <annevk> MikeSmith: nope, http://downforeveryoneorjustme.com/www.w3.org [06:08:36.0000] <annevk> MikeSmith: although I just got a 503 on Bugzilla, so maybe [06:12:31.0000] <MikeSmith> annevk: yeah not actually responding for me either now [06:23:29.0000] <annevk> MikeSmith: sorry about all the XML stuff [06:24:04.0000] <annevk> MikeSmith: I think basically what you want to do is compare against the original text and not remove/change what isn't absolutely required [06:24:37.0000] <annevk> MikeSmith: and then if we want some other changes, such as removing a section or the way we refer to things, do that separately from the renaming effort [06:31:53.0000] <zcorpan> annevk: why have a bikeshed macro for "[SNAPSHOT-LINK]" instead of having "LOCAL COPY" directly in the source? [06:32:20.0000] <annevk> zcorpan: it seems like you haven't seen all the recent commit snapshot happenings [06:32:40.0000] <annevk> zcorpan: load https://dom.spec.whatwg.org/ and see the result [06:33:17.0000] <zcorpan> annevk: i've seen the result :-) but i haven't looked into how it's implemented [06:33:42.0000] <MikeSmith> annevk: OK, will do that comparison and make sure I donā€™t miss anything you didnā€™t already add a comment on [06:33:44.0000] <annevk> zcorpan: basically build.sh passes different parameters than "LOCAL COPY" [06:34:22.0000] <zcorpan> annevk: ah [06:34:52.0000] <MikeSmith> IMHO the old ā€œXHTML syntaxā€ section was nearly useless in that it essentially just says ā€œItā€™s XML.ā€ [06:35:22.0000] <annevk> MikeSmith: yeah, but it's analogous to the HTML syntax section so in that respect I kinda like it [06:35:29.0000] <MikeSmith> yeah [06:35:45.0000] <MikeSmith> and given the other xref consequences of dropping it is better not to [07:22:14.0000] <MikeSmith> annevk: about the XML stuff I *think* in the change I just pushed I caught everything [07:23:15.0000] <JakeA> annevk: do you think https://fetch.spec.whatwg.org/#concept-empty-readablestream should be for="ReadableStream"? It's like a static method [07:23:40.0000] <JakeA> But the definition pertains to readable streams only [07:26:26.0000] <MikeSmith> been staring for so long tonight in my console a green-on-black git diffs for this change that Iā€™m starting to feel like an operator in the Matrix [07:26:42.0000] <MikeSmith> pretty sure I just saw a cat walking backwards [07:27:12.0000] <JakeA> :D [07:28:34.0000] <MikeSmith> annevk: wonder if I should add a note with ā€œThe XML syntax for HTML was formerly referred to as "XHTML"ā€ to that ā€œWriting documents in the XML syntaxā€ too [along with the one I added already to the (much earlier in the spec) ā€œHTML vs XML syntaxā€ section] [07:29:27.0000] <MikeSmith> it would mean duplicating the note, having the same one in two places [07:30:28.0000] <MikeSmith> but the spec kind of has the info it is relevant to split across two different far-apart places [07:30:52.0000] <annevk> JakeA: yeah, that should use for [07:31:31.0000] <annevk> MikeSmith: sounds okay [07:31:47.0000] <MikeSmith> k [07:32:01.0000] <MikeSmith> will add and push it to the PR branch [09:43:37.0000] <annevk> JakeA: will review tomorrow most likely [09:44:35.0000] <JakeA> annevk: no rush. Seems like bikeshed's markdown needs 4 indents to do nested lists, so ALL my lists are wrong [09:44:38.0000] <JakeA> fixing [10:02:59.0000] <annevk> JakeA: there's a global indent flag [10:03:10.0000] <annevk> JakeA: though not sure if that's also for markdown [10:03:11.0000] <JakeA> /me falls over [10:04:18.0000] <JakeA> omg https://github.com/tabatkins/bikeshed/issues/776#issuecomment-238647405 [10:04:44.0000] <JakeA> annevk: ughghghghgh well, I might unindent it all later [10:04:52.0000] <JakeA> Had no idea about that flag [10:08:04.0000] <annevk> Ooh, even though we discussed Thanksgiving this morning, I was getting confused about the lack of feedback from US-based people on stuff [10:15:53.0000] <annevk> JakeA: oh, would you mind merging the two Fetch PRs? [10:16:10.0000] <annevk> JakeA: if you're actually done I'm happy to land that today so Shepherd can index the terms overnight [10:17:03.0000] <JakeA> annevk: sure, should I squash the commits? [10:17:21.0000] <annevk> JakeA: nah, just add another for the Stream thingie [10:17:39.0000] <annevk> JakeA: I can squash through the GitHub UI [10:18:03.0000] <JakeA> annevk: ohhh I see, when you said merge I thought you meant into master. Gotcha [10:18:33.0000] <annevk> JakeA: ah no, I'll handle that bit [10:19:43.0000] <JakeA> annevk: done [10:25:50.0000] <annevk> JakeA: cool, landed [10:28:21.0000] <annevk> MikeSmith: validating the output and thereby failing the PR is going to be pretty sweet [10:29:18.0000] <annevk> MikeSmith: the only other thing I wish we had and maybe tobie can set up is diff -U of the generated output available somewhere [10:30:20.0000] <MikeSmith> ah yeah that would be nice [10:32:17.0000] <MikeSmith> one thing I realize/remember now is that calling the HTML checker through its web/HTTP API does not give us the original full path to the file, only the filename [10:32:23.0000] <annevk> I guess it should be pretty easy to do that with Travis somehow [10:32:59.0000] <MikeSmith> the diff thing should be yeah [10:33:00.0000] <annevk> Travis could curl the current output, then diff it against the output it just generated, and then upload that somewhere [10:33:17.0000] <MikeSmith> yup [10:34:53.0000] <annevk> Or maybe even better would be to let the snapshot server handle it, although I guess a problem with that is that currently we don't get snapshots for fork-PRs [10:35:16.0000] <MikeSmith> oh [10:35:33.0000] <MikeSmith> yeah well I guess it makes sense to not have snapshots for those [10:36:38.0000] <annevk> It doesn't really [10:36:44.0000] <annevk> It's a problem with Travis [10:37:11.0000] <annevk> Since you can modify Travis with PRs, if Travis ran for fork-PRs you'd have an exploit [10:37:38.0000] <annevk> But you can't configure Travis to run if a safelist of resources are modified [10:42:51.0000] <MikeSmith> Travis runs for fork-PRs in web-platform-tests [10:45:09.0000] <annevk> Maybe it's only with the build stuff we use, Domenic would know [10:45:24.0000] <annevk> Gonna take a break for a bit, or longer than a bit [10:45:38.0000] <MikeSmith> yeah me too [10:45:55.0000] <MikeSmith> like, sleep [12:41:19.0000] <tobie> annevk: happy to help (depending on how complex it is). Not sure what you need, though. [14:52:00.0000] <zcorpan> https://github.com/whatwg/html/pull/2094 is Meta: ? 2016-11-25 [21:42:36.0000] <annevk> zcorpan: on the fence [23:37:03.0000] <annevk> zcorpan: I'd go with "Editorial" given the descriptions in TEAM [23:38:12.0000] <zcorpan> ok [23:53:07.0000] <annevk> MikeSmith: I guess you have no preference on what fix to use for Wattsi? [23:53:29.0000] <annevk> MikeSmith: if not I think we should just land the one I wrote so the markup errors are resolved [00:07:03.0000] <alwu> zcorpan : hi, I would like to ask a question about webvtt's web platform tests, do you have a time? [00:09:38.0000] <zcorpan> alwu: sure [00:11:11.0000] <alwu> zcorpan : thanks! the cue.line's value should be auto by default. In this test [1], whether we need to change all -1/-2 into "auto"? [00:11:13.0000] <alwu> [1] https://github.com/w3c/web-platform-tests/tree/master/webvtt/webvtt-api-for-browsers/vttcue-interface [00:12:26.0000] <alwu> I also confuse about why we wrote '-2' in that test (I know '-1' was the old default value, but '-2'...?) [00:13:55.0000] <zcorpan> yes the default should be "auto" [00:14:47.0000] <zcorpan> alwu: if you have two tracks showing at the same time [00:15:32.0000] <zcorpan> alwu: http://w3c.github.io/webvtt/#cue-computed-line step 6 onwards [00:16:31.0000] <alwu> zcorpan : yes, but the return value of the computeLine is not equal to cue.line, right? [00:16:55.0000] <zcorpan> alwu: no, but it was when the test was written [00:16:58.0000] <zcorpan> i think [00:17:22.0000] <alwu> I thought that the return value of the computeLine is used for the internal, only be used for sec.6 'Processing model' [00:18:51.0000] <zcorpan> well it doesn't matter so much what the spec used to say, right? :-) [00:20:21.0000] <alwu> because if we set line > 100, the computeLine would only return 100 [00:20:22.0000] <Ms2ger> annevk, doh [00:20:38.0000] <Ms2ger> Someone hardcoded that Firefox 52 == nightly [00:20:47.0000] <alwu> that means we would have a conflict [00:20:55.0000] <annevk> Ms2ger: hah [00:21:31.0000] <Ms2ger> jgraham, can you fix check_stability? [00:21:42.0000] <alwu> zcorpan : what I said is http://w3c.github.io/webvtt/#cue-computed-line step 1 [00:23:03.0000] <alwu> or we set line < 0, but the computeLine would return 100 [00:23:25.0000] <zcorpan> alwu: what is the conflict? [00:25:00.0000] <alwu> if the return value of the computeLine is the "cue.line", that that value is not equal to the original value we set [00:29:10.0000] <alwu> zcorpan ^ [00:30:57.0000] <MikeSmith> about the wattsi change, I like the fix you committed to the branch better than .RemoveChild one [00:31:14.0000] <annevk> MikeSmith: ok, let's roll with it [00:31:20.0000] <MikeSmith> k [00:31:46.0000] <MikeSmith> merged [00:32:06.0000] <MikeSmith> annevk: thanks for fixing that so quick [00:34:49.0000] <zcorpan> alwu: right. i suppose that's a reason the spec changed to not have the computed line influence cue.line anymore [00:35:41.0000] <zcorpan> alwu: the current spec says "The line attribute, on getting, must return the WebVTT cue line " (not computed line) [00:37:33.0000] <zcorpan> https://github.com/whatwg/html/pull/2062 all green \o/ [00:38:14.0000] <MikeSmith> Ms2ger: is the hardoded Firefox 52 == nightly thing the reason why Travis for wpt is failing to download Firefox? [00:38:26.0000] <Ms2ger> MikeSmith, yes [00:40:42.0000] <MikeSmith> Ms2ger: OK yeah I see now [00:40:45.0000] <MikeSmith> https://github.com/w3c/web-platform-tests/blob/master/check_stability.py#L170 [00:41:02.0000] <annevk> zcorpan: I think I found a fix for the <span> thingy [00:41:05.0000] <annevk> zcorpan: gonna test [00:41:21.0000] <zcorpan> cool [00:45:08.0000] <alwu> zcorpan : ok thanks! since the computedLine doesn't affect the cue.lines, I'll modify that test :) [00:46:58.0000] <zcorpan> alwu: šŸ‘ [00:50:26.0000] <annevk> zcorpan: I get 40 errors when I do that, gonna fix those [01:27:19.0000] <jgraham> Ms2ger: hmm? [01:27:43.0000] <Ms2ger> jgraham, https://github.com/w3c/web-platform-tests/pull/4249 [01:30:21.0000] <jgraham> Ms2ger: OK, merged, but I think we need a better solution for the long term [01:30:31.0000] <Ms2ger> Agreed [01:36:43.0000] <jgraham> re.search("(firefox-\d+\.[^\.]+\.en-US\.linux-i686\.tar\.bz2)", requests.get("https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/").text).group(0) [01:36:47.0000] <jgraham> I suppose [01:36:59.0000] <jgraham> Not necessarily as a one-lines [01:37:03.0000] <jgraham> *one-liner [01:37:18.0000] <jgraham> Anyway, I should think about going into the office [03:36:12.0000] <hsivonen> zcorpan: Are there browsers that are passing https://github.com/w3c/web-platform-tests/blame/56ea52b8668ceee63ec196c59dd11ad7797e4f0d/html/infrastructure/urls/resolving-urls/query-encoding/resources/resolve-url.js#L17 [03:36:40.0000] <hsivonen> which seems to call for treating unmappable characters in URLs as percent-encoded question marks [03:36:52.0000] <hsivonen> surely that's no longer correct per spec [03:37:18.0000] <zcorpan> hsivonen: i think that was the behavior of IE? [03:37:26.0000] <hsivonen> zcorpan: possibly [03:37:36.0000] <zcorpan> i need to leave now, sorry [03:37:43.0000] <hsivonen> ok. I'll just adjust the test [03:37:48.0000] <zcorpan> sounds good [03:40:13.0000] <annevk> JakeA: the script mentioned in https://github.com/whatwg/fullscreen/commit/f9df3ea73f1f32490699e0a925d7e0822c2084a1 might be useful to figure out if you regressed any links or IDs [03:41:04.0000] <annevk> JakeA: also, copying the text of the output HTML (of original and new) and comparing that with git diff --word-diff -w will help you spot other mistakes [03:41:39.0000] <JakeA> annevk: ta. I've already done the latter [03:41:49.0000] <JakeA> Although I'm just using opendiff [03:42:47.0000] <annevk> JakeA: I think doing word diff and ID/URL diff is probably sufficient to prove nothing was harmed [03:43:46.0000] <annevk> JakeA: although <dfn> and for= review would still be good to see that is all in order too I suppose [03:44:09.0000] <annevk> That went rather wrong with the conversion of Fetch [03:49:12.0000] <Ms2ger> Hrm [03:49:37.0000] <Ms2ger> iframe = document.createElement("iframe"); [03:49:38.0000] <Ms2ger> document.body.appendChild(iframe); [03:49:38.0000] <Ms2ger> doc = iframe.contentDocument; [03:49:38.0000] <Ms2ger> assert_equals(doc.readyState, "complete", "The readyState attribute should be 'complete'."); [03:49:52.0000] <Ms2ger> Where does the spec back that up? [04:45:25.0000] <annevk> MikeSmith: tried a whole bunch of parens already to get that to compile [04:45:47.0000] <annevk> Although maybe I should try one last time... [04:46:01.0000] <JakeA> annevk: yeah I caught a load of stuff that was pointing at the fetch concept rather than the fetch event [04:46:34.0000] <JakeA> annevk: but hardly surprising as I changed almost every <a href> to just <a> as a starting point [04:46:55.0000] <annevk> JakeA: ah, that does make it harder šŸ˜Š [04:47:22.0000] <JakeA> I was determined to eliminate as many of those anchor things as I could [04:57:32.0000] <MikeSmith> annevk: pretty sure those missing parens at least are a syntax error that has to be fixed first [04:57:53.0000] <annevk> MikeSmith: yeah, you're right [04:58:31.0000] <MikeSmith> yeah I did not otherwise try to actually understand the change [04:58:56.0000] <MikeSmith> I will thugh [05:02:40.0000] <annevk> MikeSmith: found it [05:02:46.0000] <annevk> MikeSmith: Element.Attributes is not always assigned [05:03:24.0000] <annevk> MikeSmith: works perfectly [05:03:26.0000] <MikeSmith> ah ok [05:03:36.0000] <MikeSmith> that caused it to fail to compile? [05:03:57.0000] <annevk> MikeSmith: that was the runtime failure [05:04:27.0000] <MikeSmith> ah runtime failure [05:04:28.0000] <annevk> MikeSmith: so I change (Element.Attributes.Count = 0) to (not Assigned(Element.Attributes)) [05:04:39.0000] <annevk> MikeSmith: and boom, reports issues perfectly [05:05:21.0000] <MikeSmith> nice [05:05:57.0000] <MikeSmith> reminds me, fpc compiler error messages are nearly useless [05:06:11.0000] <MikeSmith> as far as identifying what the actual problem is [05:07:01.0000] <MikeSmith> ah, loking back at the bug now [05:07:09.0000] <MikeSmith> your comment there [05:08:03.0000] <MikeSmith> Iā€™m not getting timely github notifications the last few days [05:09:39.0000] <MikeSmith> my mail server got hammered the other day after I pushed a change to the production w3c html checker that caused it to fatally fail for every single document it was chekcing [05:10:07.0000] <MikeSmith> and I have it configured to send me a notification with a stack trace when that happens [05:10:17.0000] <MikeSmith> because it should only happen very rarely [05:10:48.0000] <MikeSmith> but this time after I pushed it I didnā€™t notice for probably an hour or so, did not look at my mail [05:11:15.0000] <MikeSmith> but during that time it tried to send me at least 50,000 e-mail messages I think [05:11:53.0000] <MikeSmith> I got it fixed but I think it put my mail server in some kind of state it has not recovered from yet [05:12:11.0000] <MikeSmith> message coming in out of order or hours or even days late [10:10:58.0000] <annevk> Blink implements DOMActivate?! [10:11:02.0000] <annevk> sigh [14:22:52.0000] <nox> /me just did a PR to implement document.write in Servo. [14:22:59.0000] <nox> Not perfect yet but it's almost there AFAIK. [14:23:21.0000] <nox> Seems like foregoing the concept of insertion point altogether was the way to go. 2016-11-27 [07:36:50.0000] <nox> Btw, https://github.com/servo/servo/pull/14361 [07:37:01.0000] <nox> this doesn't have a concept of insertion point, but It Works(tm). [14:38:28.0000] <zcorpan> nox: i like that the diffstat has more lines removed than added 2016-11-28 [01:31:00.0000] <annevk> zcorpan: did you look into changing them into <details> too? [01:31:12.0000] <annevk> zcorpan: <details><summaryStatus</summary> ...</details> [01:31:45.0000] <annevk> zcorpan: I was thinking if we did that we'd drop the "Support:" paragraph [01:31:50.0000] <zcorpan> annevk: not yet. i want to PR the tweaks i already have since now it's looking pretty good [01:32:16.0000] <zcorpan> we can do a second round for details [01:32:29.0000] <annevk> zcorpan: okay, I don't care too strongly about it either [01:32:43.0000] <annevk> zcorpan: it's a little weird that what the specification does cannot really be done with <details> [01:33:26.0000] <zcorpan> annevk: it can be done surely [01:35:23.0000] <annevk> zcorpan: well in the specification you have multiple summaries in a single <details> box [01:36:00.0000] <annevk> zcorpan: I guess you could only markup the first as the overall summary and the others with some other element, but it's a little wonky [01:36:24.0000] <zcorpan> oh that. hmm yeah [01:36:44.0000] <zcorpan> or generated content, but yes [01:40:31.0000] <nox> zcorpan: The diffstat on my PR is a lie. :D [01:40:41.0000] <nox> zcorpan: I did a first commit that enables all document.write tests, [01:40:49.0000] <nox> which added dozens of unexpected failures, [01:41:02.0000] <nox> and then removed most of them with the implementation of the damn method. :) [01:41:38.0000] <nox> +402 āˆ’0 and then +191 āˆ’575 [01:41:56.0000] <zcorpan> nox: ah :-) [01:43:37.0000] <nox> zcorpan: Reminds me of https://github.com/servo/servo/pull/5839/commits/5386cb31d05da2a8c9e8a9fb42817c107880a96b, that diffstat. :) [01:43:52.0000] <nox> Followed by +521 āˆ’98,593. [01:44:11.0000] <nox> Why code lines aren't a good metric. ^ :p [01:44:52.0000] <zcorpan> nox: clearly you're just doing it wrong. maybe all expected failures should all be on one line? [01:45:02.0000] <nox> :D [01:47:26.0000] <nox> Reminds me, [01:47:35.0000] <nox> there is no writeln() test that uses only writeln(), [01:47:44.0000] <nox> they all use open() and close() and thus I can't make them pass. [01:47:54.0000] <nox> (I didn't implement them yet. open() scares me.) [01:49:55.0000] <annevk> zcorpan: btw, did you try floating? [01:50:23.0000] <annevk> zcorpan: I was curious what floating might do, but I guess that doesn't turn out nicely for wide screens [01:50:38.0000] <zcorpan> annevk: yes, i tried that first. doesn't work because there are status boxes in tables. [01:51:05.0000] <zcorpan> annevk: and indeed it won't push the box to the edge of the viewport unless we re-do other things... [01:51:21.0000] <zcorpan> annevk: plus, reflowing text when clicking the button on single-page is not going to be cheap [01:51:38.0000] <annevk> zcorpan: yeah true [01:51:43.0000] <annevk> zcorpan: let's not do that [01:51:55.0000] <annevk> zcorpan: btw, I need you to look at https://github.com/whatwg/html/pull/2098 at some point [01:52:21.0000] <zcorpan> chekcing now [02:02:20.0000] <zcorpan> annevk: commented [02:05:31.0000] <zcorpan> annevk: PRs for style tweaks, https://github.com/whatwg/resources.whatwg.org/pull/37 https://github.com/whatwg/html/pull/2106 [02:33:22.0000] <annevk> zcorpan: I'm happy with you landing those provided you tried them out, resized things a bit, and it all looks reasonable [02:34:40.0000] <annevk> Soon we'll have validation and <span> without attributes checking, pretty exciting [02:37:27.0000] <zcorpan> annevk: ok, thx [02:59:28.0000] <zcorpan> does Domenic need to update build.whatwg.org or so whenever wattsi changes? [03:04:33.0000] <annevk> zcorpan: I'm not sure what the deal is [03:05:16.0000] <annevk> zcorpan: maybe file an issue to track it? [03:08:58.0000] <zcorpan> annevk: filed https://github.com/whatwg/wattsi/issues/37 [03:15:14.0000] <MikeSmith> annevk: whatā€™s the purpose of the omit-Origin flag? I guess first for <img> and <embed> and <object> elements that have always been allowed to cause cross-origin fetches? [03:17:08.0000] <MikeSmith> and same-origin requests? [03:18:45.0000] <MikeSmith> per spec any fetch cors-mode request is always required to send Origin? [03:20:08.0000] <annevk> MikeSmith: that is basically a bug [03:20:27.0000] <annevk> MikeSmith: hard to get browsers to work on resolving it [03:20:55.0000] <annevk> Maybe I should give that another push later today [03:21:15.0000] <annevk> MikeSmith: see Origin header issue [03:28:57.0000] <MikeSmith> annevk: issue where? [03:28:57.0000] <botie> somebody said issue was that blink's callback interfaces are just callback functions [03:29:26.0000] <MikeSmith> https://github.com/whatwg/fetch/issues/225 [03:29:54.0000] <MikeSmith> ā€œShould we send an Origin header for no-cors fetches?ā€ from ehsan? [05:06:14.0000] <annevk> MikeSmith: yeah, sorry [05:15:45.0000] <annevk> MikeSmith: it seems https://github.com/whatwg/html/pull/2093/files can be copied to other Travis-using repositories without much trouble, that's really quite nice [05:20:21.0000] <annevk> I wonder how the W3C TAG ever got to publish https://github.com/w3ctag/client-certificates [05:20:31.0000] <annevk> Who there has the expertise? [07:21:45.0000] <Ms2ger> annevk, ping [07:22:08.0000] <Ms2ger> annevk, umping [07:22:12.0000] <Ms2ger> unping, even [07:22:18.0000] <annevk> Ms2ger: yo unyo [07:22:46.0000] <Ms2ger> I was looking for the definition of the origin of the document returned by createHTMLDocument, but it was hidden, not missing [07:34:51.0000] <annevk> zcorpan: http://speleotrove.com/decimal/decifaq.html [07:39:01.0000] <zcorpan> annevk: thanks. per http://speleotrove.com/decimal/decifaq1.html#needed it seems something like 32 digits is necessary [07:40:28.0000] <annevk> zcorpan: if we ever did something though we'd introduce something closer to Java BigDecimal/C decNumber I hope [07:43:19.0000] <zcorpan> annevk: yeah [07:51:23.0000] <annevk> Sam Ruby tried to get decimals into JavaScript at some point and failed [07:51:56.0000] <annevk> I looked that up a couple weeks ago, but I forgot again why it failed [07:52:20.0000] <annevk> Suspect details weren't worked out to the satisfaction of everyone [07:52:22.0000] <Ms2ger> annevk, https://html.spec.whatwg.org/multipage/scripting.html#appropriate-template-contents-owner-document does seem to be missing the definition of its origin, though [07:52:51.0000] <annevk> Ms2ger: nice find, file an issue? [07:53:07.0000] <annevk> Ms2ger: maybe we should start defining a "create a Document" algorithm that everyone hooks into... [07:53:29.0000] <Ms2ger> Perhaps, yes [07:54:06.0000] <annevk> Running the HTML checker on standards is a great idea MikeSmith [07:54:23.0000] <annevk> MikeSmith: already finding numerous issues that should have been solved ages ago [07:54:42.0000] <annevk> MikeSmith: Travis will soon run a lot of Java, hehe [09:22:05.0000] <annevk> Domenic: just noticed the HTML Standard doesn't use Travis to deploy yet [09:31:15.0000] <MikeSmith> annevk: gotta keep the Java spirit alive :) [09:31:30.0000] <MikeSmith> anyway glad the checker is being useful [09:36:09.0000] <annevk> MikeSmith: I did something wrong and it didn't end up failing which was somewhat surprising [09:36:17.0000] <annevk> MikeSmith: I hadn't corrected the path [09:36:24.0000] <MikeSmith> ah [09:36:39.0000] <MikeSmith> yeah I should refine it to fail in that case [09:37:37.0000] <annevk> MikeSmith: for Fetch I should use /home/travis/build/whatwg/fetch/*.html, right? [09:37:57.0000] <MikeSmith> yep [09:38:00.0000] <annevk> MikeSmith: see https://github.com/whatwg/fetch/pull/426 for my WIP [09:38:06.0000] <MikeSmith> /me looks [09:48:33.0000] <annevk> MikeSmith: it doesn't seem to work [09:49:04.0000] <MikeSmith> annevk: yeah looking at it now [09:49:08.0000] <annevk> MikeSmith: does /home/travis/build/whatwg/fetch/*.html actually go into subdirectories? [09:49:17.0000] <MikeSmith> oh [09:49:27.0000] <MikeSmith> not it does not [09:49:36.0000] <annevk> MikeSmith: okay, so for HTML it's wrong too then [09:49:47.0000] <MikeSmith> oh? [09:50:18.0000] <MikeSmith> /me looks back HTML config [09:50:53.0000] <MikeSmith> ah yeah [09:51:30.0000] <annevk> JakeA: have you ever had a need for a promise/event when document.body was inserted? [09:52:30.0000] <annevk> MikeSmith: is there an elegant fix? [09:58:18.0000] <MikeSmith> yes [09:58:20.0000] <MikeSmith> https://github.com/whatwg/html/pull/2110 [09:58:37.0000] <MikeSmith> sorry was just careless about it before [09:59:23.0000] <MikeSmith> please try that invocation in the fetch travis.yml [10:00:52.0000] <MikeSmith> the --skip-non-html option is because by default vnu.jar will try to parse and check any file you give it or any file it finds when recursing through directory [10:01:26.0000] <MikeSmith> regardless of whether it has a .html or .htm or .xhtml or .xht extension [10:02:13.0000] <MikeSmith> --skip-non-html causes it to only check files with those extensions [10:07:04.0000] <gsnedders> foolip, Domenic, rbyers: https://bugs.chromium.org/p/chromium/issues/detail?id=668172 covers sorta cases where Blink has diverged from the HTML spec wrt parsing; the linked log is p. useful [10:07:32.0000] <gsnedders> foolip, Domenic, rbyers: basically, a bunch of the removed SVG stuff has had it's parser special cases removed [10:10:19.0000] <MikeSmith> annevk: if you give it the --verbose option it will report all filenamesćƒ¼both the names of HTML files it actually checks and a warning message for each non-HTML file (if there any) it skips [10:16:09.0000] <annevk> MikeSmith: done, we'll see how it goes [10:16:14.0000] <annevk> MikeSmith: didn't add --verbose for now [10:17:54.0000] <MikeSmith> dang [10:18:07.0000] <MikeSmith> https://travis-ci.org/whatwg/fetch/builds/179524939 exited with 0 [10:18:29.0000] <MikeSmith> will try it locally [10:21:15.0000] <annevk> MikeSmith: per https://github.com/whatwg/fetch/pull/426 one of the checks did fail [10:21:23.0000] <annevk> MikeSmith: kinda curious [10:22:00.0000] <MikeSmith> ah yeah [10:22:11.0000] <MikeSmith> I noticed that with HTML as well [10:22:22.0000] <annevk> MikeSmith: so it would fail on master, but doesn't fail within the PR [10:22:29.0000] <annevk> MikeSmith: that's something, but not great [10:23:17.0000] <MikeSmith> continuous-integration/travis-ci/push will fail if thereā€™s an error on the PR branch but continuous-integration/travis-ci/pr will not [10:23:28.0000] <MikeSmith> I donā€™t understand why [10:24:25.0000] <MikeSmith> I guess I donā€™t actually understand why there are two to begin with [10:27:07.0000] <MikeSmith> ah is it because it skips running the deploy.sh script for PR branches? [10:27:33.0000] <MikeSmith> and the deploy.sh script is what produces the generated HTML? [10:28:21.0000] <annevk> MikeSmith: no we run it for both [10:28:29.0000] <annevk> MikeSmith: there's different output, but it always runs [10:29:03.0000] <annevk> MikeSmith: is the directory recursion infinite? [10:29:20.0000] <MikeSmith> OK then yeah I donā€™t understand why the checker finds no errors for the continuous-integration/travis-ci/pr one [10:29:26.0000] <MikeSmith> yeah it is infinite [10:29:40.0000] <annevk> Let me re-run it just in case [10:29:43.0000] <MikeSmith> OK [10:30:05.0000] <MikeSmith> anyway another thing to note is that the warnings will not cause the travis build to faile [10:30:23.0000] <MikeSmith> because the warnings do not cause vnu.jar to exit non-zero [10:31:06.0000] <annevk> That's okay, I wonder where Fetch uses <details> now, wasn't aware of that [10:31:16.0000] <MikeSmith> OK [10:31:32.0000] <MikeSmith> if you ever do want to suppress warnings you can give it the --errors-only option [10:31:39.0000] <annevk> Hmm, I cannot find details [10:31:45.0000] <MikeSmith> oh [10:31:50.0000] <MikeSmith> maybe bikeshed [10:31:58.0000] <MikeSmith> adds something [10:32:28.0000] <annevk> even locally I can't find "<details" in the generated HTML [10:33:05.0000] <annevk> Can that warning be generated for other reasons? [10:33:16.0000] <MikeSmith> no [10:33:27.0000] <MikeSmith> should be something on line 90 [10:33:29.0000] <MikeSmith> it claims [10:33:50.0000] <MikeSmith> line 90 column 5 [10:34:11.0000] <MikeSmith> trying to test it with bikeshed locally, I get: [10:34:20.0000] <MikeSmith> $ bikeshed [10:34:20.0000] <MikeSmith> FATAL ERROR: Found unmatched text macro [SNAPSHOT-LINK]. Correct the macro, or escape it with a leading backslash. [10:34:23.0000] <MikeSmith> āœ˜ Did not generate, due to fatal errors [10:34:29.0000] <annevk> MikeSmith: you need to run make [10:34:41.0000] <MikeSmith> ah [10:34:45.0000] <annevk> MikeSmith: or ./build.sh --local [10:34:53.0000] <MikeSmith> k [10:35:17.0000] <annevk> MikeSmith: sorry, deploy.sh [10:35:28.0000] <MikeSmith> ok [10:36:35.0000] <smaug> no wpt tests for IntersectionObserver o_O [10:36:38.0000] <annevk> MikeSmith: sorry, I think you're right "Skipping deploy for a pull request; the branch build will suffice" [10:36:40.0000] <MikeSmith> annevk: 90 <details class="annoying-warning" open=""> [10:37:05.0000] <MikeSmith> annevk: yeah I think HTML does that too? skips it I mean [10:37:06.0000] <annevk> MikeSmith: aaah, that's a snapshot only thing [10:37:19.0000] <MikeSmith> OK [10:37:39.0000] <annevk> MikeSmith: not sure what HTML does exactly [10:37:51.0000] <MikeSmith> ok [10:37:59.0000] <MikeSmith> so yeah for fetch it is checking all the .html files, all versions/subdirs [10:39:09.0000] <MikeSmith> if you want to skip some subdirs then I guess you would need to have travis call vnu.jar on only the subtrees in there you want [10:40:23.0000] <annevk> MikeSmith: I'm happy with this [10:40:34.0000] <MikeSmith> OK [10:40:42.0000] <MikeSmith> sorry for the churn [10:41:27.0000] <MikeSmith> yeah anyway as long as a PR is making it run continuous-integration/travis-ci/push that will fail if there are errors, and the github UI will show the red X and all that [10:41:33.0000] <MikeSmith> so that gets us what we want [10:42:33.0000] <MikeSmith> about that <details> warning maybe it is time I make the checker stop emitting that anyway [10:42:53.0000] <MikeSmith> the table warnings are real though [10:46:41.0000] <annevk> MikeSmith: the table warnings were only because of my bogus table to cause an error I think [10:46:52.0000] <annevk> MikeSmith: the build now passes, I'll double check for any emitted warnings [10:47:03.0000] <MikeSmith> super [10:47:33.0000] <annevk> Just warnings for <details> [10:47:39.0000] <annevk> Very nice [10:47:59.0000] <MikeSmith> excellent [10:48:30.0000] <MikeSmith> OK with that I will step away for sleep [10:48:58.0000] <MikeSmith> if there are any other problems I can look in a few hours [10:49:30.0000] <annevk> MikeSmith: sleep a little longer than a few hours pretty please [10:49:39.0000] <MikeSmith> heh [10:49:41.0000] <MikeSmith> will try [12:08:51.0000] <foolip> gsnedders: thanks for noticing and filing, let's see if it gets triaged without poking. [12:09:34.0000] <foolip> gsnedders: are these tests also in web-platform-tests, and should they be? [12:14:40.0000] <gsnedders> foolip: they are [12:15:07.0000] <gsnedders> foolip: hence them being in third_party/WebKit/LayoutTests/imported/wpt [12:15:13.0000] <foolip> gsnedders: did you check if those tests are imported in Blink and failing as expected? there may already be a bug tracking those failures [12:17:49.0000] <gsnedders> foolip: they are, they are, I didn't find one [12:18:42.0000] <foolip> gsnedders: ok :) [12:20:03.0000] <gsnedders> /me really wishes those tests were better organised, but invalidating everyone's expectations isn't great either [14:09:06.0000] <nox> https://github.com/servo/servo/blob/4d93ee134c84d72f73d7a5556bd2dcaf36e5ca99/components/script/dom/servoparser/mod.rs#L43-L54 <- How I handled the insertion point [14:09:24.0000] <nox> With https://github.com/servo/servo/blob/4d93ee134c84d72f73d7a5556bd2dcaf36e5ca99/components/script/dom/servoparser/mod.rs#L163-L172 [14:28:33.0000] <JakeA> annevk: um, not specifically, but I tend to use script[defer]. If I was using async, a way to know a particular element was present would be handy, but I guess mutation observers provide that [14:28:38.0000] <zcorpan> nox: šŸ‘ [14:28:57.0000] <nox> zcorpan: Thanks. :) [14:33:31.0000] <nox> zcorpan: Now if we could get a decision for https://github.com/whatwg/html/issues/1954... :) [14:41:45.0000] <zcorpan> nox: the black-box equivalent of Gecko, Chromium, WebKit, seems reasonable [14:42:11.0000] <nox> What does that mean? [14:44:29.0000] <zcorpan> that you should get "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19," for my test case in Servo [14:44:39.0000] <nox> Oh. [15:23:43.0000] <zcorpan> annevk: interest in https://www.w3.org/Bugs/Public/show_bug.cgi?id=28555 ? 2016-11-29 [21:41:40.0000] <MikeSmith> todayā€™s winner: https://groups.google.com/a/chromium.org/forum/#!msg/chromium-dev/kDq4t93zbpA/KX9aZlbLBwAJ [21:41:54.0000] <MikeSmith> hope he takes in interest in <keygen> [21:42:49.0000] <MikeSmith> ā€œfake news story about functionality that very much needs to be trueā€ [22:16:26.0000] <Domenic> botie: tell zcorpan that the problem with the "Note:" bug is that we'd need some kind of override in standard.css to not insert the generated content... or we'd need to update all the specs at once. [22:16:27.0000] <botie> will do [22:16:57.0000] <Domenic> MikeSmith: isn't that the same guy that got kicked off a bunch of service worker repos? [22:17:07.0000] <MikeSmith> Domenic: yup [22:17:13.0000] <MikeSmith> making new friends now [22:17:19.0000] <Domenic> oh wow I scrolled up [22:17:31.0000] <Domenic> he sent a ... fake intent to implement ... [22:18:16.0000] <MikeSmith> gotta be a first [22:18:27.0000] <MikeSmith> breaking new ground every where he goes [22:18:41.0000] <MikeSmith> the Johnny Appleseed of techno-boors [22:20:43.0000] <MikeSmith> in other news we need a review for BroadcastChannel tests PR https://github.com/w3c/web-platform-tests/pull/4237 [22:21:26.0000] <MikeSmith> if anybody on teh channel is interested in helping the web-platform-tests effort that would be good PR for review as far as reviewing goes [22:21:59.0000] <MikeSmith> especially if you are already familiar with BroadcastChannel [22:22:40.0000] <MikeSmith> PR by Mek [22:50:12.0000] <Domenic> MikeSmith: aren't they already reviewed upstream? [22:50:21.0000] <MikeSmith> oh [22:50:27.0000] <MikeSmith> maybe so [22:50:32.0000] <MikeSmith> if so that would be great [22:50:36.0000] <MikeSmith> /me checks [22:50:54.0000] <MikeSmith> dā€™oh [22:50:55.0000] <MikeSmith> yeah [22:51:01.0000] <MikeSmith> first word in the commit message [23:17:54.0000] <botie> zcorpan, at 2016-11-29 06:16 UTC, Domenic said: the problem with the "Note:" bug is that we'd need some kind of override in standard.css to not insert the generated content... or we'd need to update all the specs at once. [23:51:29.0000] <annevk> MikeSmith: whoa, makes me wish Mark Pilgrim was still writing [00:10:10.0000] <annevk> zcorpan: added Oxford Comma to https://wiki.whatwg.org/wiki/Style [00:47:33.0000] <younder> Like the bit " stalkers, estranged spouses, and marketeers will no longer be allowed to track users covertly" :) [00:49:02.0000] <younder> Response to link https://groups.google.com/a/chromium.org/forum/#!msg/chromium-dev/kDq4t93zbpA/KX9aZlbLBwAJ [01:04:30.0000] <zcorpan> Domenic: we have bikeshed.css [01:05:44.0000] <zcorpan> but if the idea is that generated content shouldn't be used for this, i suppose it shouldn't be used for bikeshedded specs, either [01:06:14.0000] <zcorpan> TabAtkins: ^ (see https://www.w3.org/Bugs/Public/show_bug.cgi?id=28555 ) [01:09:15.0000] <zcorpan> i don't know if it causes an actual problem for users though. generated content is exposed in the acc tree in all browsers but IE11 per http://ljwatson.github.io/decks/2016/cssday/ and http://tink.uk/accessibility-support-for-css-generated-content/ [01:09:34.0000] <zcorpan> (i guess IE <= 11) [02:32:04.0000] <annevk> zcorpan: given you resolved the rendering issue for list items, is https://www.w3.org/Bugs/Public/show_bug.cgi?id=27185 WONTFIX? [02:33:11.0000] <zcorpan> annevk: without impl interest, i'd say so [02:34:11.0000] <annevk> Oh wait, I already marked it as such back in March [03:39:27.0000] <daleharvey> hmm am I missing something, <img style="width:25px; height: 25px" srcset="red-50.png 50w, green-100.png 100w, blue-150.png 150w" /> always comes out blue? [03:41:19.0000] <zcorpan> daleharvey: sizes defaults to 100vw. and chrome will stick to the largest one it has already loaded in srcset if you later shrink the viewport [03:43:37.0000] <daleharvey> Not sure why that means I am not getting the expected src, I am not shrinking the viewport, and I have a size set for each stc so default shouldnt apply? [03:43:41.0000] <daleharvey> *src [03:44:16.0000] <zcorpan> daleharvey: maybe you want sizes="25px" [03:45:15.0000] <zcorpan> daleharvey: the algorithm ignores your style attribute. you need to declare intended size with the sizes attribute [03:50:19.0000] <daleharvey> zcorpan: ah, thats great thanks a lot [03:50:29.0000] <zcorpan> daleharvey: np [04:43:58.0000] <jamesanderson> good afternoon; i am looking for a place to enquire about the proper way to use eventsource/server-side-event in practice. is this a good place? [04:48:52.0000] <nox> zcorpan: Your document.write test is amazing. [04:49:36.0000] <annevk> jamesanderson: depends on the question [04:53:50.0000] <jamesanderson> the first one: why do the clients not support setting the actual content media type and how do applications work around that? [04:54:10.0000] <zcorpan> nox: did it reveal some crash bug or so? :-) [04:55:25.0000] <jamesanderson> the second one: what is the intended way for a server to indicate there is nothing more in the stream. my initial encounter with the client implementation in firefox and safari indicates, if the caller does not close the connection, the requests are repeated indefinitely. [04:57:08.0000] <annevk> jamesanderson: why does the client have to set the MIME type? [05:02:11.0000] <annevk> jamesanderson: indicating the stream is done is something you have to implement yourself, e.g., by sending some kind of close frame [05:02:35.0000] <annevk> jamesanderson: you can also use a status code other than 200 to make the subsequent request fail [05:03:36.0000] <annevk> tobie: posted another PR for IDL's dfn tragedy [05:03:48.0000] <annevk> tobie: very small [05:04:23.0000] <jamesanderson> other than 200 sounds mean. i have to think about that, but as relentless as the safari and firefox libraries are, i do not want to leave it to the application. [05:06:04.0000] <jamesanderson> the effective content media type is to indicate how the application wants the data encoded. the obvious place would be a media type parameter, but the libraries do not permit that. [05:06:59.0000] <jamesanderson> other than two hundred also means that the server would have to retain request history, to known that there is a previous/next request relationship. [05:08:08.0000] <annevk> jamesanderson: the future of this is going to be fetch() and using the streams API on the Response object; EventSource is somewhat legacy though better supported at this point [05:08:28.0000] <annevk> jamesanderson: but yeah, you'll have to do some bookkeeping [05:08:40.0000] <annevk> jamesanderson: still not really sure what you mean by "effective content media type" [05:12:11.0000] <jamesanderson> my situation is a streaming sparql endpoint. a client customarily specifies how they want the result encoded. for which, something like "text/event-stream; accept=application/sparql-results+json" would make sense, despite that the registration permits no parameter. [05:14:09.0000] <annevk> jamesanderson: you mean in the Accept header? [05:14:34.0000] <annevk> jamesanderson: but yeah, that's not possible [05:14:50.0000] <annevk> jamesanderson: that kind of stuff is all possible with fetch(), but as I mentioned support for that is worse [05:14:55.0000] <jamesanderson> exactly. the eventsource code which i have found has the accept header value hard-coded. [05:15:14.0000] <annevk> jamesanderson: and you'd have to write your own framing code with fetch(), it's a little lower level [05:16:06.0000] <jamesanderson> the point of eventsource was to avoid that, so that would be a shame. [05:16:45.0000] <annevk> It's a tradeoff, you can go with EventSource, but you have to accept it's limited [05:16:49.0000] <jamesanderson> emiiting an eventsource strem actually does involve some degree of framing, but the client side need not. [05:17:04.0000] <annevk> You can go with fetch(), but you have to accept you need to do more work and not all browsers support it well [05:17:34.0000] <jamesanderson> so, wrt media type, what do people do? just presume something and hope? [05:17:35.0000] <annevk> That is, I think at this point it's basically Chrome that does fetch() and streams, but maybe Edge? [05:18:14.0000] <annevk> jamesanderson: I would expect EventSource to be mostly used for tightly-coupled applications [05:18:30.0000] <annevk> jamesanderson: where the server and client library are written by the same team and no variance is needed [05:18:41.0000] <jamesanderson> oh. cool. [05:19:15.0000] <jamesanderson> good to know, what to make of it. [05:20:57.0000] <jamesanderson> that is, good for an immediate demo, but do not count on it for general use. [05:23:14.0000] <annevk> The future here is clearly fetch(), but you'll have to figure out how to get there I'm afraid [05:34:25.0000] <jamesanderson> thank you for the insights. [05:42:24.0000] <annevk> smaug: history is the worst [05:42:37.0000] <annevk> smaug: history/navigation [05:42:55.0000] <smaug> tell me something new :) [05:42:55.0000] <botie> will do [05:43:22.0000] <annevk> smaug: location.hash = "forward", does not refresh the page; then history.back() does not either; then refresh the page; then history.forward(), does refresh the page?! [05:44:01.0000] <annevk> smaug: also, in Chrome location.hash = "forward" does not count as a new history entry [05:44:11.0000] <smaug> really [05:44:12.0000] <smaug> huh [05:44:19.0000] <smaug> does it count in UI? [05:44:22.0000] <annevk> smaug: if you do history.back() after that you end up on about:blank [05:44:25.0000] <smaug> but not in history API? [05:44:31.0000] <annevk> smaug: dunno, haven't tested the difference [05:44:38.0000] <annevk> I wasn't even testing that [05:44:57.0000] <annevk> I am trying to test if same-URL loading deletes forward history [05:45:21.0000] <annevk> And then I found myself getting dragged into all kinds of other messes [05:47:42.0000] <annevk> smaug: do we mess around with sessionStorage when traversing in history? [05:47:52.0000] <annevk> smaug: I think we do, since I just created an infinite loop [05:49:04.0000] <annevk> Ooh, wait, maybe that's my bad [05:49:55.0000] <smaug> mess with sessionStorage? I don't think so. If we end up re-loading something, that might be different, but session history itself doesn't know anything about sessionStorage [05:52:51.0000] <annevk> smaug: Chrome does the same through UI [05:53:16.0000] <annevk> smaug: <script>location.hash = "blah"</script> then either UI back or history.back() takes you to about:blank [05:54:33.0000] <smaug> annevk: but if you have a page with #fragments, and click those, new session history entry is created [05:54:41.0000] <smaug> in chrome, as far as I know [05:54:43.0000] <smaug> /me tests [05:55:18.0000] <annevk> smaug: yeah [05:55:27.0000] <annevk> seems like it anyway [05:55:28.0000] <botie> i think seems like it is coming back now? [05:55:42.0000] <annevk> botie: stop [05:55:42.0000] <botie> annevk: sorry... [05:56:04.0000] <annevk> smaug: maybe in Chrome they guard this with user gestures or something? [05:57:03.0000] <smaug> how would that be web compatible... [05:58:48.0000] <annevk> smaug: yeah, it's not true [05:58:57.0000] <annevk> smaug: if you do <a>.click() it also adds an entry [05:59:36.0000] <annevk> smaug: seems like this might just be a bug with location since it's not consistent at all [06:04:59.0000] <nox> zcorpan: Do you get an exception in Gecko through the rendered view too? I don't. [06:30:16.0000] <wanderview> JakeA: ping [06:30:25.0000] <JakeA> wanderview: hey! [06:30:37.0000] <wanderview> JakeA: got a minute for a SW spec question? [06:30:57.0000] <JakeA> wanderview: yeah, I'm actually sat at a desk and a laptop for once [06:31:03.0000] <wanderview> wow... ok! [06:31:35.0000] <wanderview> JakeA: so we are implementing the "use no-cache by default on updates" thing in gecko and a question arose [06:32:16.0000] <wanderview> the issue defines an API like register(scriptURL, { useCache: true }) [06:32:41.0000] <wanderview> the spec also short circuits registration if the scriptURL and scope are the same as an existing registration [06:32:59.0000] <wanderview> our question is, should that short circuit still happen even if the "useCache" value has changed? [06:33:10.0000] <wanderview> or should there be another way for a service worker to change its "useCache" value? [06:33:17.0000] <wanderview> JakeA: ^^^ [06:34:30.0000] <wanderview> I'm inclined to implement without any ability to change useCache to start, but thought I would get your opinion [06:34:49.0000] <JakeA> wanderview: changing the value of useCache in .register feels like the right way to update this value [06:35:22.0000] <JakeA> wanderview: whether it causes an immediate refetch of the SW (like changing the url does) is another question [06:35:45.0000] <wanderview> JakeA: so the bypass check should be "if script URL, scope, and useCache value are identical, then bypass" ? [06:35:52.0000] <JakeA> wanderview: yeah [06:35:57.0000] <wanderview> ok [06:36:27.0000] <wanderview> JakeA: it would be easiest if it just acted the same as if a script URL changed [06:36:38.0000] <JakeA> wanderview: that works for me then [06:36:51.0000] <wanderview> JakeA: ok, thanks... I'll update the github issue [06:37:34.0000] <JakeA> wanderview: btw I've been working on cleaning up the spec. Hopefully making changes from now on will be a lot easier. I'm also taking a break from speaking in 2017 so will in theory have more time to actually, y'know, contribute [06:37:56.0000] <wanderview> nice! [06:43:50.0000] <wanderview> JakeA: oh, looks like I had a couple other questions about this here: https://github.com/w3c/ServiceWorker/issues/893#issuecomment-260442769 [06:44:01.0000] <wanderview> like, should we expose a getter for useCache [06:46:12.0000] <JakeA> wanderview: ugh, sorry I didn't answer that. I'm still recovering from CDS I think [06:46:19.0000] <wanderview> np [06:46:34.0000] <zcorpan> nox: the too deep counter should be a variable of the HTML parser, like the script nesting level, correct? [06:46:51.0000] <wanderview> JakeA: I think I was thinking it was less part of the registration identity (scope/scriptURL) and more something that could changed on the registration (like push subscription) [06:47:39.0000] <JakeA> wanderview: yeah, it could go either way. But it feels most like the scriptURL to me [06:48:13.0000] <wanderview> JakeA: so a new version of the SW script should not be able to change it? [06:49:12.0000] <JakeA> wanderview: it could call navigator.serviceWorker.register() in its install step [06:49:44.0000] <wanderview> JakeA: navigator.serviceWorker.register() is exposed in the worker context? [06:50:19.0000] <JakeA> wanderview: yep! [06:50:46.0000] <wanderview> I don't think we implement that [06:52:43.0000] <beverloo> I don't think we do either [06:54:39.0000] <JakeA> huh, so we don't [06:55:02.0000] <JakeA> It's specifically added to NavigatorWorker https://w3c.github.io/ServiceWorker/#navigator-serviceworker [06:55:12.0000] <JakeA> um, WorkerNavigator [06:55:50.0000] <wanderview> JakeA: workers are not well implemented for SWs yet... I don't think either browser exposes Worker Client objects either [06:56:13.0000] <wanderview> JakeA: and in gecko we don't even expose ServiceWorker in worker context yet... self.registration.active is always null in gecko at the moment [06:56:27.0000] <JakeA> ohhh interesting [06:57:24.0000] <wanderview> we've had surprisingly few compat issues from that [07:00:09.0000] <wanderview> I had one report where someone wanted to check self.registration.active.scriptURL... but I was able to point them to self.location [07:00:49.0000] <annevk> Ms2ger: way to go finding so many issues by just looking at origin [07:00:51.0000] <wanderview> JakeA: s/setter/getter/ in your github comment? [07:01:19.0000] <JakeA> oh ffs why do they even let me near computers [07:01:23.0000] <JakeA> wanderview: fixed! [07:01:32.0000] <MikeSmith> .win 22 [07:01:39.0000] <MikeSmith> bah [07:01:57.0000] <wanderview> JakeA: oh, I didn't realize I could edit your post... (or the button in the UI suggests I can) [07:01:58.0000] <annevk> Ms2ger: slowly realizing that while what Hixie created is much better than HTML4, we need to be much better than that still [07:02:24.0000] <annevk> Ms2ger: and the lack of review on these features is just astonishing [07:02:40.0000] <annevk> Ms2ger: all these other APIs that get added must do pretty poorly [07:03:12.0000] <Ms2ger> Yeah :/ [07:06:00.0000] <nox> zcorpan: Probably. [07:07:09.0000] <zcorpan> nox: are you interested in making a PR for the spec? :-) [07:07:19.0000] <nox> Not really. :P [07:07:21.0000] <nox> zcorpan: Though, [07:07:32.0000] <nox> zcorpan: do you think the spec could use a refactoring getting rid of insertion point? [07:09:08.0000] <zcorpan> nox: no, i think that seems like it would risk introducing regressions and it wouldn't fix any known problem, would it? [07:09:24.0000] <nox> Nah. [07:44:16.0000] <nox> zcorpan: Didn't try your stuff in Servo yet btw, [07:44:40.0000] <nox> zcorpan: I said "amazing" because I wouldn't even have tried to see if later calls get neutered or not. [07:46:02.0000] <zcorpan> nox: ah :-) [07:48:04.0000] <annevk> jgraham: so I have tests that are nearly ready but I need help with making the origin bits generic [07:48:14.0000] <annevk> jgraham: is it best to submit a PR or create a branch? [07:58:23.0000] <Ms2ger> PR, I think [07:58:27.0000] <Ms2ger> Harder to get lost [07:58:37.0000] <annevk> I'm going with that [07:58:44.0000] <annevk> Since I need to leave soonish too [07:59:57.0000] <wanderview> JakeA: have you guys had any compat issues from the no-fetch optimizations shipping in chrome 54? [08:00:10.0000] <JakeA> wanderview: none that I'm aware of [08:00:20.0000] <Ms2ger> Spec says "When an iframe element is removed from a document, the user agent must discard the element's nested browsing context," [08:00:36.0000] <Ms2ger> What should happen to descendants of the discarded BC? [08:03:21.0000] <annevk> Ms2ger: isn't that defined in "discard"? [08:03:46.0000] <Ms2ger> Doh [08:04:48.0000] <annevk> Ms2ger: it's a little vague since according to that a browsing context doesn't have child browsing contexts, it's associated document does, but we do talk about a browsing context's nested browsing contexts now and then [08:05:01.0000] <annevk> Ms2ger: maybe the latter is actually bad practice and we shouldn't do things like that [08:06:31.0000] <annevk> igrigorik: for https://github.com/whatwg/fetch/pull/419 it'd be good to have a test plan as well [08:06:56.0000] <annevk> igrigorik: we basically want to have a corresponding test for each WHATWG Standard change [08:07:34.0000] <annevk> igrigorik: puts the bar a little higher, but the thinking is that interop will come faster too [08:07:41.0000] <Ms2ger> annevk, meet ajeffrey_, who's prompting my questions :) [08:07:55.0000] <annevk> I think we met in London [08:07:56.0000] <ajeffrey_> /me waves [08:08:00.0000] <annevk> /me waves back [08:08:04.0000] <ajeffrey_> annevk: we did indeed [08:08:08.0000] <annevk> Unfortunately, I gotta go pick up the kid [08:08:22.0000] <ajeffrey_> was it something I said? :) [08:08:54.0000] <annevk> Nah, it's more that I'm already a little late [08:09:20.0000] <annevk> Anyway, let me apologize for the state of the lifecycle affair of all these objects [08:09:27.0000] <annevk> It's pretty awful [08:09:39.0000] <annevk> I have hopes of improving the situation, but the complexity is somewhat daunting [08:12:41.0000] <wanderview> JakeA: I still wish we could add an explicit fetch event subscription API that gets rid of this weird quirk mode with addEventListener() throwing [08:12:59.0000] <ajeffrey_> Am I right in reading https://html.spec.whatwg.org/multipage/browsers.html#a-browsing-context-is-discarded [08:13:19.0000] <ajeffrey_> as saying that when a browsing context is discarded, its document is discarded, [08:13:19.0000] <wanderview> JakeA: if you call registration.sendMeFetchPlease(true) then you can call addEventListener('fetch') async, etc [08:13:30.0000] <ajeffrey_> even if there are other strong references to it? [08:13:38.0000] <JakeA> wanderview: *scratches head* what's the benefit? [08:14:44.0000] <wanderview> JakeA: if you want to work with a sane API you can choose to do so... we only do weird quirk stuff if you aren't explicit about fetch event handling on the registration [08:15:54.0000] <wanderview> JakeA: just my christmas wish... but I'm happy not to re-litigate the no-fetch issue [08:16:27.0000] <JakeA> wanderview: creating the listeners async is going to fail though [08:16:37.0000] <JakeA> once the service worker is shut down, the listener is gone [08:18:43.0000] <wanderview> JakeA: I guess it would be difficult to use without some sort of sync state the SW could use [08:19:21.0000] <wanderview> JakeA: although still possible... the page could postMessage('doSpecialFetch') to the SW and then perform a network call... the message event listener could register the fetch event listener [08:20:04.0000] <JakeA> feels really hacky [08:20:17.0000] <wanderview> yes [08:20:55.0000] <wanderview> JakeA: but so does making addEventListener() throw for async registrations... but not throwing for random addeventlistener in script evaluation [08:21:24.0000] <JakeA> wanderview: random as in Math.random? [08:21:25.0000] <wanderview> JakeA: anyway... it just feels like an explicit API could avoid all the special logic [08:21:33.0000] <wanderview> JakeA: yes... Math.random [08:21:47.0000] <wanderview> JakeA: or "only on tuesdays" [08:22:05.0000] <wanderview> just think of the potential of different fetch event handlers for every day of the week! [08:22:13.0000] <JakeA> haha [08:22:35.0000] <wanderview> JakeA: I agree there aren't a lot of use cases... but its just a code smell adding these special cases to addEventListener()... [08:22:41.0000] <wanderview> and onfetch= [08:23:04.0000] <JakeA> wanderview: I think it's a big of implementation ugliness but works pretty well for developers [08:23:27.0000] <wanderview> JakeA: does chrome let you do setTimeout(_ => self.onfetch = null, 0) ? [08:28:18.0000] <zcorpan> annevk: wouldn't an opaque origin mean that the script is not allowed to access anything in the document (e.g. to clone a node)? [08:30:52.0000] <JakeA> wanderview: just tried it and it didn't complain [08:32:35.0000] <wanderview> JakeA: is chrome supposed to be complaining about async fetch event handlers? [08:34:01.0000] <wanderview> JakeA: I can do setTimeout(_ => addEventListener('fetch'), 0) without warning in chrome [08:34:10.0000] <wanderview> and without throwing [08:34:45.0000] <JakeA> wanderview: I'm getting a warning when I try it in the console [08:34:50.0000] <JakeA> but yeah it should be a throw [08:35:10.0000] <wanderview> JakeA: maybe its just a warning after install? [08:36:41.0000] <wanderview> JakeA: ah, canary warns, but but chrome stable does not [08:36:51.0000] <JakeA> wanderview: ahh so it's relatively new [08:36:56.0000] <JakeA> it should really throw though [08:38:25.0000] <wanderview> JakeA: not throwing might explain why no compat complaints so far [08:39:53.0000] <wanderview> JakeA: I think we will probably implement what chrome implements here to start... to avoid web compat issues [08:40:13.0000] <wanderview> unless you think throwing might be added soon [08:41:00.0000] <JakeA> wanderview: matching Chrome seems fair. I'll create an issue and a test case to get Chrome doing the right thing [08:42:08.0000] <wanderview> JakeA: here is the issue for the warning: https://bugs.chromium.org/p/chromium/issues/detail?id=594160 [08:43:08.0000] <wanderview> JakeA: and do you think we should throw for all async addEventListener() calls or just for async addEventListener('fetch') calls? [08:43:38.0000] <JakeA> wanderview: oh, the spec actually says to warn rather than throw [08:43:43.0000] <JakeA> my bad [08:43:51.0000] <wanderview> hmm [08:44:02.0000] <wanderview> JakeA: I thought we agreed to change that in the no-fetch issue [08:44:18.0000] <JakeA> wanderview: ohhh I think it might be in the dom spec [08:44:28.0000] <wanderview> right [08:44:42.0000] <JakeA> wanderview: https://dom.spec.whatwg.org/#dom-eventtarget-addeventlistener [08:44:42.0000] <wanderview> JakeA: it was added for *all* addEventListener() calls... even things like 'error'... that seems wrong to me [08:45:13.0000] <JakeA> wanderview: https://github.com/whatwg/dom/issues/371#issuecomment-261251184 [09:03:13.0000] <annevk> zcorpan: I don't think so [09:03:26.0000] <annevk> zcorpan: I don't think any of those checks use the origin of a document object [09:04:03.0000] <zcorpan> annevk: ok [09:04:03.0000] <annevk> ajeffrey_: yeah, I think that's correct [09:04:18.0000] <annevk> ajeffrey_: I'm around for a bit now if you have some questions [09:04:28.0000] <annevk> (no promises on answers though) [09:04:33.0000] <ajeffrey_> annevk: cool [09:05:25.0000] <ajeffrey_> OK, so the idea is that a document can be discarded even if there is a strong reference to it. [09:05:52.0000] <ajeffrey_> can it ever be undiscarded? [09:06:30.0000] <annevk> ajeffrey_: I don't think so [09:06:37.0000] <ajeffrey_> e.g. if an iframe is detatched from the document tree then reattatched? [09:06:44.0000] <ajeffrey_> annevk: I think you're right, [09:07:09.0000] <ajeffrey_> when the iframe is reattatched, it gets a new document object. [09:07:10.0000] <annevk> ajeffrey_: definitely not then, we'd create a new browsing context and document [09:07:29.0000] <annevk> ajeffrey_: and since salvageable is set to false I'm pretty sure it won't ever reappear [09:07:51.0000] <ajeffrey_> does this happen if the iframe is moved inside the same document? [09:07:56.0000] <annevk> ajeffrey_: yes [09:08:31.0000] <ajeffrey_> okay, and the disposing of documents is synchronous, isn't it? [09:08:42.0000] <annevk> ajeffrey_: <iframe> is one of the reasons we can't really do transactions with the tree [09:08:54.0000] <annevk> ajeffrey_: yeah, creation is too [09:09:19.0000] <ajeffrey_> the case which is going to cause servo grief is where you have nested iframes [09:09:20.0000] <annevk> ajeffrey_: collection of the underlying objects can be async of course [09:09:27.0000] <ajeffrey_> A contains B contains C, [09:09:35.0000] <ajeffrey_> and A and C are same-origin, [09:09:49.0000] <annevk> ajeffrey_: do you have cross-process <iframe>? [09:10:00.0000] <annevk> ajeffrey_: I guess you want to study whatever Chrome is doing [09:10:05.0000] <ajeffrey_> then A detatches B, and should immediately be able to observe that C is detatched. [09:10:20.0000] <ajeffrey_> annevk: cross-thread, yes. [09:10:35.0000] <annevk> ajeffrey_: A can already get sync access to C though [09:10:44.0000] <ajeffrey_> in the case above, A and C will be in a different thread than B. [09:11:10.0000] <ajeffrey_> annevk: indeed, that's what's causing the problem, [09:11:46.0000] <ajeffrey_> we need to provide some way for the script thread for A+C to be synchronously informed that the discard has happened, [09:11:52.0000] <annevk> ajeffrey_: maybe foolip has insights into how Chrome does that [09:12:06.0000] <ajeffrey_> even though it's a different thread that takes care of it :/ [09:12:07.0000] <annevk> ajeffrey_: but you basically need some kind of proxying and script halting I suppose [09:12:46.0000] <ajeffrey_> annevk: yes, we are probably going to have to block the script waiting for the discards to happen, [09:13:16.0000] <ajeffrey_> we just need to make sure that we don't have a possibility for deadlock because of this. [09:13:55.0000] <ajeffrey_> Does chrome keep all the iframes for one tab in the same process? [09:15:19.0000] <annevk> ajeffrey_: I think they might at the moment, but they have an OOP-iframe project going on [09:15:35.0000] <annevk> ajeffrey_: http://www.chromium.org/developers/design-documents/oop-iframes [09:16:15.0000] <ajeffrey_> annevk: ah, thanks for the pointer! [09:16:21.0000] <ajeffrey_> /me goes and reads [09:18:19.0000] <ajeffrey_> hmm, no mention of document and browsing context discarding there, I wonder how that'll be handled? [09:26:37.0000] <annevk> ajeffrey_: yeah weird, dunno [09:28:01.0000] <ajeffrey_> I think I can see how to do it in servo. Thanks! [09:29:01.0000] <annevk> \o/ [09:30:39.0000] <annevk> zcorpan: help me out here, is test((t) => { t.add_cleanup() what you mean? [09:31:02.0000] <zcorpan> annevk: yes [09:35:23.0000] <zcorpan> annevk: setting to the empty string does nothing :-D but i can try to fix it [09:36:15.0000] <annevk> zcorpan: does nothing? [09:36:32.0000] <annevk> zcorpan: ooh, the setter is super weird? hmm [09:36:40.0000] <zcorpan> yeah [09:36:58.0000] <annevk> can it even be fixed then if every set is effectively a new cookie header? [09:39:12.0000] <zcorpan> there are tests that deal with cookies and clean them up. i'll check [09:41:47.0000] <zcorpan> websockets/cookies/001.html [09:43:24.0000] <zcorpan> it uses a random cookie name because tests can be run in parallel in the same browser instance, which would affect the result if it runs 2 cookie tests with the same cookie name [09:43:43.0000] <annevk> zcorpan: that does seem a lot purer [09:43:57.0000] <annevk> zcorpan: I guess I can try something like that later [09:45:46.0000] <zcorpan> annevk: also there's the template document's cookie, but i don't know if it really needs a cleanup [09:46:38.0000] <annevk> zcorpan: it probably should though it would only affect non-conforming UAs [09:46:47.0000] <zcorpan> yeah [10:58:53.0000] <foolip> ajeffrey_, annevk, I know mostly about fullscreen, but in ABA origin nesting cases, there's code that traverses the frame tree to find all of the local frames ("browsing contexts") and do stuff with them in the same task, while doing the things in B in another process. [10:59:19.0000] <foolip> ajeffrey_: If you need it, I can find someone who knows more about out-of-process iframes for you to interrogate. [11:00:03.0000] <ajeffrey_> foolip: do you keep a cached copy of the frame tree in each process? [11:00:25.0000] <foolip> ajeffrey_: yes, each process has its own view of all frames [11:00:35.0000] <foolip> In Blink this is the Frame/LocalFrame/RemoteFrame split [11:00:42.0000] <ajeffrey_> foolip: yes, that would work too. [11:00:42.0000] <foolip> and some other things are also split into Local/Remote [11:01:03.0000] <ajeffrey_> we're trying not to duplicate data in servo, [11:01:29.0000] <ajeffrey_> so there's only one process which keeps track of the whole frame tree. [11:02:10.0000] <foolip> ajeffrey_: but there must at least be a way to synchrously ask some questions about the parent frame? Without that you can't implement the Fullscreen allowfullscreen checks and probably many other things. [11:02:15.0000] <ajeffrey_> there's an annoying tradeoff of messaging vs cache coherency here :( [11:03:00.0000] <ajeffrey_> foolip: yes, for things which have to be synchronous across processes, we use messaging. [11:03:36.0000] <foolip> ajeffrey_: is it only ever synchronous in the child-parent direction? otherwise, deadlocks? [11:04:16.0000] <ajeffrey_> foolip: there's a coordinating process (the "constellation") that script is allowed to block on, [11:04:26.0000] <ajeffrey_> otherwise like you say, deadlock. [11:50:31.0000] <foolip> ajeffrey_: ok, will be interesting to see if it's possible to do it everything this way, or if there are web compat contraints that break the whole model [11:50:35.0000] <foolip> (hope not) [11:51:16.0000] <ajeffrey_> foolip: indeed. [11:52:15.0000] <ajeffrey_> foolip: it's an interesting challenge adding concurrency to a model that was designed to be single-threaded. [13:51:53.0000] <ajeffrey_> annevk: in the WebIDL for Window https://html.spec.whatwg.org/multipage/browsers.html#window should parent and top have type WindowProxy? since they can return null? [13:55:44.0000] <Domenic> ajeffrey_: yes definitely; file an issue? [13:56:09.0000] <ajeffrey_> Domenic: will do [13:58:49.0000] <smaug> why google.fi wants to use Flash o_O [14:00:15.0000] <ajeffrey_> Domenic: https://github.com/whatwg/html/issues/2115 [15:54:00.0000] <MikeSmith> another fake Intent to Implement https://groups.google.com/forum/#!topic/mozilla.dev.platform/1K_Uq_fx1l4 [15:54:10.0000] <MikeSmith> from another personality 2016-11-30 [16:07:35.0000] <smaug> if window.open(..., "noopener"); is used for about:blank, what is the origin of the about:blank ? [16:07:48.0000] <smaug> same as opener's or opaque ? [16:08:02.0000] <smaug> /me is too lazy to read the spec [20:06:21.0000] <annevk> ajeffrey_: they return null when the browsing context is discarded? [01:08:28.0000] <zcorpan> i learned that Optimus have keyboards with a display in each key [01:15:08.0000] <annevk> MikeSmith: seems he got a response for once [01:15:54.0000] <annevk> ajeffrey_: I found out the answer btw, thanks for filing [03:39:29.0000] <MikeSmith> annevk: https://www.w3.org/TR/streams-api/ has been changed to Note (instead of WD) [03:40:08.0000] <annevk> Very cool [03:41:15.0000] <MikeSmith> hmm the warning thing at the bottom got dropped though [03:41:25.0000] <MikeSmith> will get it re-added [03:41:35.0000] <MikeSmith> I mean like it had at https://www.w3.org/TR/2014/WD-streams-api-20141023/ [03:43:25.0000] <MikeSmith> annevk: hey also btw at https://github.com/w3c/web-platform-tests/pull/4261#issuecomment-263612913 youā€™ll notice that the test filenames in the stability-checker comments are now hyperlinks to the http://w3c-test.org/submissions copies [03:43:36.0000] <MikeSmith> I think you had asked for that a few weeks back [03:45:04.0000] <annevk> I noticed that, but forgot to thank someone, great [03:48:53.0000] <MikeSmith> annevk: next change needed is for cases like https://github.com/w3c/web-platform-tests/pull/4247 and https://github.com/w3c/web-platform-tests/pull/4104 where the change is to the .js or .json source for a test but not to the .html test file [03:49:13.0000] <annevk> That seems a little harder [03:49:18.0000] <MikeSmith> in those cases currently the stability checker does not run [03:49:27.0000] <MikeSmith> yeah harder but working on it [03:49:45.0000] <MikeSmith> https://github.com/w3c/web-platform-tests/pull/4100 is hte PR for that [03:50:02.0000] <MikeSmith> should be able to get it done by early next week [03:53:04.0000] <annevk> MikeSmith: can we do https://www.w3.org/TR/url/ and https://www.w3.org/TR/url-1/ too you think? [03:55:46.0000] <annevk> MikeSmith: updated https://wiki.whatwg.org/wiki/Fork_tracking btw [04:23:49.0000] <MikeSmith> annevk: yep will ask for those to get moved to Note too [04:53:16.0000] <annevk> \o/ [05:28:03.0000] <zcorpan> mathiasbynens: "(Things like window.opener.document are subject to CORS though.)" https://mathiasbynens.github.io/rel-noopener/ - is not correct; CORS doesn't enable accessing the DOM (unless you use XHR) [05:28:26.0000] <zcorpan> mathiasbynens: window.open and <a> can't do a CORS request [05:28:34.0000] <zcorpan> or iframe etc [05:28:38.0000] <smaug> annevk: jgraham: is there some list of APIs missing wpt tests? [05:28:52.0000] <annevk> Not that I know about [05:29:11.0000] <smaug> or should one file github issue about missing tests or something? [05:29:21.0000] <jgraham> smaug: File an issue I guess [05:29:38.0000] <jgraham> I think there is a label to indicate missing coverage [05:29:56.0000] <annevk> Filing an issue is a start, perhaps against the API and WPT [05:31:52.0000] <smaug> this is about BroadcastChannel [05:34:18.0000] <annevk> smaug: BroadcastChannel has at least one open PR for a test [05:34:27.0000] <smaug> ah, good [05:37:15.0000] <smaug> annevk: which spec defines noopener? [05:37:52.0000] <smaug> oh, html [05:38:19.0000] <ajeffrey_> annevk: np [05:38:44.0000] <smaug> ok fine. noopener doesn't affect to origin of window.open'ed about:blank or javascript or anything [05:39:36.0000] <annevk> smaug: nah, just reachability [05:55:32.0000] <mathiasbynens> zcorpan: care to send a PR? https://github.com/mathiasbynens/rel-noopener/blob/gh-pages/index.html [06:01:17.0000] <zcorpan> mathiasbynens: https://github.com/mathiasbynens/rel-noopener/pull/6 [06:12:17.0000] <mathiasbynens> zcorpan: you da man [09:57:20.0000] <zcorpan> what should OAuth do instead, if rel=noopener was used (or it was the default)? in that case postMessage doesn't work either. maybe iframe + popup + localStorate + "storage" event? [10:43:31.0000] <Domenic> mkwst: not sure you want to wade into the conspiracy theories but https://github.com/whatwg/html/issues/2122 is an ... opportunity to educate people. [11:04:36.0000] <Mek> smaug: I upstreamed the chrome BroadcastChannel tests, which landed upstream in wpt yesterday iirc [11:04:51.0000] <smaug> Mek: ah, great thanks [11:05:20.0000] <smaug> Mek: probably not tests for using BroadcastChannel in contexts with opaque origin [11:05:32.0000] <smaug> (since that fails in FF and Chrome, but FF is about to be fixed) [11:06:50.0000] <Mek> actually I did add a test for that too (currently testing that it should fail, since that seemed to match the current implementations; and tehre is an open spec issue about it) [11:07:21.0000] <Mek> smaug: https://github.com/whatwg/html/issues/1319 [11:07:48.0000] <Mek> I guess I should possibly have tried to get that issue resolved before landing the test though... [11:09:13.0000] <smaug> Mek: you landed tests against the spec? [11:09:27.0000] <smaug> fwiw, I think that spec bug is definitely invalid [11:09:35.0000] <smaug> no good reason to add special cases there [11:10:06.0000] <smaug> tests should test spec, not implementations [11:10:43.0000] <Mek> yeah, possibly I shouldn't have included that particular test [11:14:16.0000] <Mek> and I agree that implementation limitations shouldn't be the guiding force for what the spec should say about things. But BCChannel in opaque origins also seems of limited usefulness [11:15:20.0000] <smaug> Mek: how so [11:16:12.0000] <smaug> BC can be used for random in-page communication too, and special casing it for opaque origins would just break such scripts [11:16:15.0000] <smaug> without any reason [11:16:23.0000] <Mek> well, at least in chrome's implementation of opaque origins it's unlikely that I'll be able to implement anything more than letting you talk to yourself. But yeah, I suppose that's true. [11:17:32.0000] <Domenic> oh i see the conversation already happened here :) [11:22:02.0000] <Mek> probably better to keep the conversation on the bug though :) [11:29:46.0000] <Mek> and my original chrome implementation for BCChannel actually did more or less support it in opaque origins. But code reviewers pushed back heavily against the extra code complexity... At least bringing back that complexity will make it more performant... [13:56:04.0000] <gsnedders> https://github.com/html5lib/html5lib-python/issues/310 ā€” Iā€¦ don't know how to respond really. [14:02:36.0000] <Mek> hah [14:08:27.0000] <caitp> it's understandable to want to be able to do that [14:09:25.0000] <gsnedders> yeah, I agree [14:09:29.0000] <caitp> even if you didn't want to copy/paste, it's just easier to read, which is the most important thing in software [14:09:32.0000] <gsnedders> but it's p. awkward [14:12:06.0000] <gsnedders> and I can't remember if there aren't concerns with legacy browsers about that [14:12:17.0000] <gsnedders> though that's not such a worry any more [14:15:36.0000] <TabAtkins> It's definitely necessary to encode the ampersand for links in general - otherwise you get things like "example.com?foo¢er=true" being interpreted as being "fooĀ¢er". [14:16:31.0000] <TabAtkins> I don't think there are any collisions between recognized mailto query params and the optional-semicolon named entities, but shrug. [14:17:16.0000] <TabAtkins> (I know that Ā¢ thing is still happening because I recently had to fix one my personal apps due to it.) [14:19:31.0000] <gsnedders> TabAtkins: that's not true in attributes [14:19:44.0000] <TabAtkins> whaaaaaat? [14:20:04.0000] <gsnedders> TabAtkins: only entities ending in ";" are supported in attributes [14:20:45.0000] <gsnedders> TabAtkins: the ";"-less ones are only in element content [14:20:51.0000] <TabAtkins> Ahhhh. [14:21:13.0000] <gsnedders> TabAtkins: the ambiguity is only with &[a-zA-Z]+; which might be entities in future [14:21:14.0000] <TabAtkins> Then, hm. Are we still allowing ; as the alternate param separator? [14:21:42.0000] <gsnedders> idk [14:33:41.0000] <darobin> using ; as an alternate separator is completely up to server-side implementations, and they vary a lot [15:04:54.0000] <7YUAAQM6D> this was mailto: [15:05:21.0000] <zcorpan> testing [15:05:27.0000] <zcorpan> wtf happened to my nick [15:05:38.0000] <gsnedders> zcorpan: you got 7UAA'd [15:06:12.0000] <TabAtkins> hehehe