2015-08-01 [17:23:55.0000] Hi everyone [17:24:17.0000] would anything bad happen if, in ES, we added 'global' to point to the WindowProxy? [20:53:00.0000] Help: A form that used to work flawlessly now shows: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/. [21:08:52.0000] xxMatiasFCxx: the form should still work [21:09:02.0000] the message is just there to encourage you to not use sync xhr [21:09:14.0000] lol it was a very stupid mistake from me lol, deleted a cname and was causing the problem lol [21:09:18.0000] i'm a shamed [21:09:38.0000] btw what is this new warning ? is it going to stop working someday ? [21:09:51.0000] probably not for a very long time [21:10:22.0000] but if you change it to async xhr, the form won't lock up the user's browser [21:10:34.0000] which is a nicer behavior [21:15:20.0000] and what do you mean by block ? [21:18:10.0000] xxMatiasFCxx: until the server responds (or the request times out), the browser UI will be "frozen" [21:18:22.0000] that doesn't happen to me heheeh [21:18:26.0000] the UI thread is waiting on the sync xhr [21:18:34.0000] see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Synchronous_and_Asynchronous_Requests [21:18:38.0000] y just use jquery $.post [21:18:58.0000] actually $.ajax [21:19:04.0000] here's a good article too http://blogs.msdn.com/b/wer/archive/2011/08/03/why-you-should-use-xmlhttprequest-asynchronously.aspx [21:19:25.0000] thanks miketaylr [21:19:41.0000] np, cheers xxMatiasFCxx [21:19:44.0000] bed time for me [21:20:08.0000] miketaylr, I should go to bed also :S [21:20:10.0000] gnite [21:20:16.0000] nn [23:01:07.0000] Domenic: https://html.spec.whatwg.org/multipage/webappapis.html#concept-script under global object [23:27:18.0000] TabAtkins: well, maybe I am being pedantic, but you can only have one definition of the same function. It’s only indirectly, through generics, that you can make that definition do different things [07:17:09.0000] what is the latest stable html5lib release? Since the 1.0b5 release sounds like it is beta [09:20:43.0000] annevk: did you see littledan's question above? "would anything bad happen if, in ES, we added 'global' to point to the WindowProxy?" [09:22:38.0000] annevk: reported https://www.w3.org/Bugs/Public/show_bug.cgi?id=29012 btw because that was my first attempt at finding this [12:33:33.0000] Domenic: I didn't, but why do we want yet another alias for window? [12:34:57.0000] littledan: just standardize self [12:35:53.0000] littledan: at least that's already consistent across window and workers and wouldn't pose any risks [12:37:54.0000] I believe we discussed this before [12:38:04.0000] This comes up every six months or so? 2015-08-02 [17:24:25.0000] SimonSapin: Hmm, so you're still single dispatch (on the first arg)? I got the impression that, say, From::from could be written to convert to many types, and the right one would get chosen based on what it gets stored into. (I know you can write multiple versions of the function for different *source* types, by just defining the method in each source [17:24:25.0000] type.) [20:17:17.0000] annevk: well window and self and frames are getters which is a bit weird [21:41:21.0000] Domenic: that is a good enough reason to duplicate? Hmm... Was changing self considered? [22:42:37.0000] MikeSmith: I assume you'd be onboard with bumping SVG to SVG2 on http://platform.html5.org ? [23:51:41.0000] botie, tell cvrebert no, the SVG reference is one thing that should not be updated. [23:51:42.0000] will do [23:52:52.0000] TabAtkins: hum, right. Trait implementations are multi-dispatch [23:56:27.0000] oh lordy the SVG2 spec lists 10+ editors [23:57:56.0000] I think we could probably right a script that uses a very simple set of heuristics to decide whether a particular spec is likely a bad spec [00:06:34.0000] TabAtkins: So yeah, it’s a form of overloading, just not the same as C++. (This might off-topic here, feel free to join #rust on Mozilla IRC… or one of these http://edunham.net/2015/07/31/how_many_rust_channels_are_there.html) [04:23:45.0000] When parsing HTML from bytes, is there a way around keeping unbounded amount of input in memory in case the parser decides to "change the encoding"? [06:03:23.0000] SimonSapin: I thought the spec defined some limit on that [06:03:32.0000] like, the first 512 bytes [06:03:57.0000] MikeSmith: that’s " prescan a byte stream to determine its encoding" [06:04:24.0000] ah [06:04:49.0000] there is also "change the encoding" invoked by the tree builder [06:05:12.0000] https://html.spec.whatwg.org/multipage/#parsing-main-inhead:change-the-encoding [13:13:47.0000] What specifically is the concept called when elements like

don't require an end tag/is closed by the subsequent element? [13:38:08.0000] implied end tag? [14:02:25.0000] JoWie: Yes, thank you (-: 2015-08-03 [23:20:00.0000] Ugh, some kind of OS X autocorrect thing added a space between opaque and redirect [23:20:17.0000] Fortunately that only happened in the commit message [23:35:59.0000] SimonSapin: and UAs implement that beyond 1024 bytes? [00:58:55.0000] annevk: html5lib has code for it, but I’ll have to test it in other impls [02:30:27.0000] Any love here for range.insert(nodes...)? https://www.w3.org/Bugs/Public/show_bug.cgi?id=27650 [02:49:37.0000] TabAtkins: using "URL" within DOM doesn't give the expected result [03:01:12.0000] why not make document fragments easier to use [03:03:27.0000] keep ranges as they are, and support something like document.createDocumentFragment(node1, node2, ...) [03:03:56.0000] well, we could add that to new DocumentFragment() I guess [03:04:11.0000] I guess the question is whether we'll ever need more arguments to support [03:05:13.0000] well in that case we could add a second method that is intended just for this convenience [03:06:12.0000] instead of using new DocumentFragment or document.createDocumentFragment [03:06:39.0000] could even add such a convenience method to collections [03:06:54.0000] JoWie: maybe add that comment to that bug [03:07:10.0000] range.insertNode(document.getElementsByClassName('foo').toFragment()) [03:07:35.0000] sure [03:08:06.0000] new DocumentFragment(...document.getElementsByClassName('foo'))? [03:08:54.0000] yes or that [03:08:55.0000] Ms2ger: yeah, JoWie, I meant the "make DocumentFragment easier" comment [03:09:13.0000] JoWie: that seems spot on, toFragment() a lot less [03:17:25.0000] posted the comment [03:17:43.0000] bugzilla redirected me to a completely different bug after I submitted it, very weird [03:18:16.0000] it does that sometimes when stuff is part of a collection or so [03:18:29.0000] so you get to see more bugs? I'm not really sure what the purpose is [03:18:39.0000] the whole page refresh is kind of oldfashioned [03:18:54.0000] Changes submitted for bug 27650... then on the same page: Bug 27688 - Odd comment in DO... [03:21:10.0000] speaking of that bug annevk, does subclassing Array work well with the live-ness of the dom collections? [03:21:40.0000] JoWie: not sure which bug you're talking about, but a subclass of Array would only be used for a snapshot [03:21:50.0000] https://www.w3.org/Bugs/Public/show_bug.cgi?id=27688#c3 [03:22:10.0000] the one i was redirected to ;) [03:23:24.0000] Weird, that one is fixed [04:37:19.0000] Hixie: Are you aware of a case where "prescan a byte stream to determine its encoding" would fail to find an encoding when given 1024 bytes, but tree construction would still "change the encoding" based on a meta start tag in the first 1024 bytes? [05:01:47.0000] philipj: any opinions on https://www.w3.org/Bugs/Public/show_bug.cgi?id=27456 and https://bugzilla.mozilla.org/show_bug.cgi?id=1061578? [05:02:06.0000] SimonSapin: I think hsivonen might have some statistics [05:24:57.0000] annevk: ugh, namespace lookup? [05:33:28.0000] annevk: commented on the bug, but haven't looked at any of this before [05:36:48.0000] Hopefully Arkadiusz replies since indeed, ugh, namespaces [05:37:17.0000] They're not the greatest APIs for dealing with them either [05:43:31.0000] Are they supposed to reflect something like "the prefix->namespace" mappings that the parser would have used here? [05:43:43.0000] move " to the end [05:44:09.0000] philipj: something like that, I suppose [05:44:14.0000] philipj: designed before my time [05:44:24.0000] well, it sure looks weird as implemented in Blink [05:45:56.0000] so I hope Arkadiusz will just tell me what to do :) [05:57:29.0000] philipj: https://www.w3.org/Bugs/Public/show_bug.cgi?id=25428? [05:58:52.0000] annevk: hasFeature() now always returns true in Blink [06:01:14.0000] annevk: I'll comment and close the bug [06:01:21.0000] philipj: ta [06:13:06.0000] MikeSmith: is there a way to close Bugzilla components for new bugs while still letting you mess around with existing bugs? [06:13:46.0000] MikeSmith: I think other than HTML/Unwelcome, we're probably ready for such a switch within WHATWG and perhaps some WebAppsWG components [06:15:51.0000] philipj: and https://www.w3.org/Bugs/Public/show_bug.cgi?id=27386? [06:16:02.0000] /me is doing some bug triage today [06:16:12.0000] /me can tell [06:17:10.0000] annevk: how much effort do you want to spend trying to kill CDATASection? [06:17:20.0000] I don't know [06:17:29.0000] Ms2ger: ^^? [06:17:56.0000] philipj: I have stopped caring about a lot of these things, although any simplification we can make would still be nice [06:18:19.0000] I tried to measure the cases where CDATASection was serialized at one point, but failed, and even if we could measure it I don't know what it would say about the risk [06:18:27.0000] Well, if it never happens then the risk is low [06:19:19.0000] but since CDATASection can't be nuked thoroughly, I'd vote to just keep it around and wait until time machines become available [06:20:38.0000] I know I don't want to add it to Servo :) [06:21:34.0000] philipj: why can't we nuke it thoroughly? [06:21:47.0000] annevk: because createCDATASection is used [06:21:59.0000] philipj: that could return a Text node? [06:22:27.0000] it could, but it's not as thoroughly nuked as it could be [06:22:42.0000] Well, the node is gone [06:22:45.0000] That's what matters [06:22:52.0000] sure, that's not bad [06:23:00.0000] createCDATASection itself is a lot less complexity compared to another Node type [06:23:34.0000] since CDATASection inherits from Text there isn't much complexity here [06:24:01.0000] I tried to remove it just to see, and it wasn't a lot of code that needed fixing or could be removed [06:24:26.0000] that being said, I'd be happy to see it gone, I'm just not excited enough to spend a lot of effort figuring out how to do it [06:25:32.0000] Thanks, let me summarize this in a new comment, I guess I'll just leave it open for now [06:50:58.0000] annevk: got time to talk about RequestMode and navigations? [06:51:06.0000] wanderview: yes [06:51:44.0000] annevk: can you explain why you think navigations should get RequestMode 'same-origin'? It seems navigations can normally redirect cross-origin, etc [06:52:01.0000] I guess google does this when you click on a search result, etc [06:52:13.0000] wanderview: a navigation doesn't follow redirects [06:52:49.0000] wanderview: each redirect is examined by the navigate algorithm and then acted upon with probably fresh request [06:53:08.0000] wanderview: although whether we should model it that way is still a bit unclear to me [06:54:05.0000] annevk: I guess this annoyance I am running into is that RequestMode almost maps to our new gecko security policies: https://dxr.mozilla.org/mozilla-central/source/netwerk/base/nsILoadInfo.idl?from=nsILoadInfo.idl&case=true#38 [06:54:41.0000] annevk: except for navigations... the navigations will get SEC_ALLOW_CROSS_ORIGIN_DATA_INHERITS I think... but I will have to special case RequestMode on navigations to force same-origin [06:55:06.0000] which makes me wonder if the same-origin RequestMode is correct [06:55:23.0000] You think it should be "no-cors"? [06:55:54.0000] Or a special mode? [06:57:37.0000] annevk: well, we used to have a "if client request, then do extra check" in HTTP Fetch step 2.2 [06:58:07.0000] annevk: also, chrome currently gives navigations "no-cors" (but has the old extra client request check you removed) [06:58:48.0000] wanderview: well, workers are same-origin, we agree on that, right? [06:59:13.0000] annevk: yes, although chrome also seems to give them no-cors... I think thats incorrect, though [06:59:37.0000] annevk: workers will get a SEC_SAME_ORIGIN security policy [06:59:41.0000] in gecko [07:00:22.0000] we could keep say that navigations are no-cors and add a check for navigation requests (not clients) [07:00:54.0000] maybe that's better and maybe even navigations keep some state around when they hit a redirect [07:01:12.0000] e.g. I guess Referrer is still the same [07:03:01.0000] wanderview: what does bz think? [07:03:04.0000] wanderview: or jgraham? [07:03:04.0000] rumour has it jgraham is happy with that option [07:03:14.0000] fascinating [07:03:18.0000] annevk, smaug____, can you battle it about nullability of ClipboardEvent.clipboardData? [07:03:21.0000] jgraham outsources his opinions to a bot [07:03:49.0000] philipj: if we already shipped that, do it? [07:03:57.0000] philipj: I don't care strongly [07:04:13.0000] annevk: I guess it depends what the purpose of RequestMode is... is it supposed to reflect the overall security policy for the request or is it really only there for service worker interception stuff? [07:05:29.0000] wanderview: if you don't follow redirects automatically, its value is a whole lot less interesting [07:05:58.0000] wanderview: unless we have some automated way of following redirects, where given a Request and Response you get a new Request [07:06:22.0000] annevk: let me ask you this... what motivated you to add RequestMode? [07:06:44.0000] annevk: when will you be 30? [07:06:48.0000] wanderview: I think someone asked if we could expose it to script [07:07:16.0000] philipj: 363 days, unless it's one of those special years next, which I guess it might be? [07:07:35.0000] annevk: so I guess happy recent birthday? [07:07:45.0000] philipj: heh, yes [07:08:36.0000] wanderview: the reason it exists at all is security decisions in Fetch of course, the reason it's exposed is mostly so you can ask for a policy in fetch() [07:08:50.0000] wanderview: reflecting it on Request.prototype.mode was the next logical step [07:12:36.0000] annevk: are there other places its used besides Http Fetch step 2.2? [07:15:19.0000] /me looks [07:16:06.0000] wanderview: yes, lots of places [07:16:31.0000] wanderview: ah, the main reason actually that I didn't think "no-cors" made sense for navigate was that the response could never be opaque [07:16:39.0000] wanderview: the response is always treated as same-origin [07:17:12.0000] wanderview: so either you have some new kind of mode that doesn't cause the response to be masked, or you just always make same-origin requests to ever changing URLs... [07:17:21.0000] sorry it took me a while to get to that [07:18:00.0000] annevk: I guess the main disconnect I am running into is that fetch expects new RequestMode values for redirects while gecko's security policy flag encompasses redirects (I think) [07:19:10.0000] wanderview: I don't expect new values for redirects... [07:19:23.0000] annevk: new Request objects [07:19:25.0000] no? [07:19:28.0000] I thought thats what you said above [07:19:28.0000] wanderview: I expect navigate to make new requests when its a redirect, since it doesn't follow them automatically [07:19:39.0000] when it hits a redirect* [07:21:37.0000] wanderview: I guess you're saying even for navigate we have some kind of callback all the way from Necko that navigate does something with before Necko follows the redirect? [07:22:01.0000] wanderview: such a design seems somewhat distasteful... [07:23:48.0000] annevk: in gecko the docshell (window container thing) starts a network request... it then gets told when everything is done... the docshell checks the final URL on the network request to see if it ended up redirecting... all the redirects happen transparently in that single network request [07:23:53.0000] AIUI [07:24:27.0000] annevk: so we have the security policy settings that say "allow cross-origin or require same-origin", etc... in this case navigations will get a cross-origin policy which conflicts with your vision of RequestMode [07:24:44.0000] this is the only conflict between our security policy and RequestMode as far as I can tell [07:26:43.0000] wanderview: I don't understand what it means for a navigation to have a cross-origin policy [07:26:58.0000] annevk: allow a cross-origin redirect [07:27:10.0000] cross-origin as defined by your original navigation URL [07:27:12.0000] wanderview: but what does that mean for the response? [07:27:21.0000] RequestMode is really about what kind of responses you allow [07:27:29.0000] And "no-cors" allows opaque responses [07:28:04.0000] And whenever you hit a redirect with navigation you need to do all kinds of things [07:30:17.0000] wanderview: so either we make it "no-cors" and navigate needs to open up some opaque responses, but not others, ... [07:30:53.0000] wanderview: or we keep it same-origin and each navigate attempt is a newish fetch with some accumulated state [07:31:13.0000] wanderview: it's not entirely clear to me how the "no-cors" processing model would work [07:31:44.0000] annevk: our network stack is modeled differently from the fetch spec... makes it really hard to reason about the two [07:32:03.0000] wanderview: say I navigate to http://example.com/redirect and end up at http://crossorigin.example/ [07:32:15.0000] wanderview: that second will become an opaque response if mode is "no-cors" [07:32:33.0000] wanderview: it's not clear to me how we can allow that while disallowing arbitrary opaque responses [07:32:46.0000] wanderview: though I guess we could compare the request and response URL or some such... [07:33:18.0000] wanderview: that's why I suggested involving bz and maybe jgraham who have some experience with navigation and might know what's best [07:33:25.0000] annevk: isn't that exactly what we are saying behavior should be, though... the browser follows redirects on navigation even cross-origin... but we don't want a service worker to do an opaque cross-origin interception [07:33:39.0000] annevk: bz is on pto [07:33:46.0000] we could ask sicking [07:33:52.0000] wanderview: the browser doesn't follow redirects automatically though [07:33:55.0000] when CA wakes up [07:34:13.0000] wanderview: navigate does all kinds of things with the response before even deciding to go to the network again [07:34:45.0000] annevk: are you saying some redirects are not permitted? [07:35:15.0000] wanderview: some redirects result in skype or some such [07:35:30.0000] wanderview: for navigate [07:35:53.0000] wanderview: whereas in fetch that would end up as a network error [07:36:59.0000] annevk: does fetch permit the case of clicking on a google link that goes to google and then redirects to the actual search result? [07:37:31.0000] sure, the navigate algorithm is priveliged code [07:37:45.0000] this is not Fetch, mind you, this is HTML [07:37:56.0000] Fetch has nothing to do with navigate [07:38:06.0000] it only supports not following redirects for it [07:38:18.0000] /me is thoroughly confused now. [07:38:19.0000] as navigate is the only consumer that needs that [07:38:32.0000] (though there's some API support for it added to fetch() too now) [07:38:40.0000] I'll just special case navigations to force same-origin RequestMode for now [07:39:18.0000] wanderview: something else to consider, a navigate would never result in a service worker seeing a request for a cross-origin URL [07:39:22.0000] annevk: I think some of the confusion is coming from there being no rules for how to actually set RequestMode [07:39:26.0000] wanderview: it will always be a request for a same-origin URL [07:39:38.0000] wanderview: what do you mean, no rules? [07:39:40.0000] annevk: ok... so its really just ServiceWorkerRequestMode? [07:39:56.0000] no :-/ [07:41:17.0000] annevk: how do I as a browser implementer determine what to set RequestMode to for any given Request? obviously confusion here since Chrome also sets navigations to no-cors [07:41:44.0000] wanderview: oh you mean no specification [07:41:52.0000] wanderview: yeah that is unfortunate [07:42:05.0000] we'll get it fixed, will just take a bit more time [07:42:07.0000] annevk: no specification and it seems your expectations are not matching what has been shipped [07:42:16.0000] which suggests there is a disconnect somewhere [07:42:55.0000] Well service workers have been implemented as a hack on top of existing code, so that much is pretty clear... [07:43:17.0000] I'd be happy to discuss this with mattto et al though [07:44:09.0000] annevk: for now I will just match the current spec... which involves basically doing the "if navigation for same-origin mode" since that mode value doesn't match gecko's internal concept [07:45:28.0000] annevk: it seems the only other same-origin Requests will be worker scripts and xmldocument.load()? [07:45:46.0000] wanderview: when you don't specify crossorigin [07:46:14.0000] annevk: I looked at track and it appears to use CORS... where does it define same-origin? [07:46:26.0000] wanderview: it says potentially CORS [07:47:01.0000] annevk: step 8 here says "No CORS" https://html.spec.whatwg.org/multipage/embedded-content.html#start-the-track-processing-model [07:47:38.0000] wanderview: yeah, but that combination means "same-origin" [07:47:54.0000] wanderview: because "default origin behaviour set to fail" [07:48:38.0000] ok, thanks [07:48:44.0000] that was.... non-obvious [07:49:07.0000] yeah, rewrite coming up within some months [07:52:22.0000] philipj: I'll try to give you a definition tomorrow for elements and attributes [07:52:28.0000] philipj: bit tired [07:54:30.0000] annevk: No problem, happy to help measure if it'd answer any questions. [07:58:03.0000] smaug____: pong [08:08:44.0000] hsivonen: did I ping? [08:09:09.0000] and if I did, I have no idea what I was going to ask [08:09:24.0000] smaug____: ok. the ping was pretty old (a couple of weeks) [08:09:29.0000] :) [08:11:40.0000] SimonSapin: hsivonen is around [08:12:33.0000] (this is why you shouldn't ping, ask a question...) [08:12:53.0000] thanks jgraham [08:12:59.0000] But the channel was pretty quiet anyway, so there's also the entertainment value to consider [08:13:45.0000] hsivonen: Do you know if there is a way around keeping unbounded amount of input in memory in case the parser decides to "change the encoding", when parsing HTML from bytes? [08:14:32.0000] SimonSapin: there intentionally is not supposed to be one [08:14:43.0000] and, to test if browsers do it, are you aware of a case where "prescan a byte stream to determine its encoding" would fail to find an encoding when given 1024 bytes, but tree construction would still "change the encoding" based on a meta start tag in the first 1024 bytes? [08:16:53.0000] hsivonen: intentionally? Why? [08:19:47.0000] SimonSapin: to answer the previous question: after the 1024-byte boundary, the parser instance commits to one encoding. However, a late meta or a Japanese/Russian/Ukrainian detector can still trigger a reload with a different encoding [08:20:25.0000] SimonSapin: in which case a new parser instance starts a new parse [08:20:44.0000] hsivonen: I’m trying to decide what to do in html5ever, which doesn’t necessarily have a notion of reload [08:21:02.0000] SimonSapin: IIRC, WebKit/Blink doesn't support late triggering a reload. I don't know if they do it for their Japanese detection [08:22:17.0000] SimonSapin: as for "intentionally", the intention of the 1024-byte boundary is precisely to make sure that the parser doesn't keep buffering forever and not produce any output [08:22:43.0000] SimonSapin: I suggest committing to an encoding at the latest when you've seen 1024 bytes [08:23:11.0000] SimonSapin: I can't recall why I implemented the late thing in the new parser [08:23:32.0000] SimonSapin: initially, I make the detectors see at most 1024 bytes so that they couldn't trigger a reload [08:23:44.0000] SimonSapin: but that broke Japanese Planet Debian [08:23:58.0000] SimonSapin: and people get really nervous if you break a Japanese site [08:24:01.0000] so... [08:24:11.0000] Japanese Planet Debian has since been fixed [08:25:31.0000] it's quite possible that we could get rid of the Russian and Ukrainian detectors and limit the Japanese detector to 1024 bytes and the sky wouldn't fall [08:25:38.0000] hsivonen: I see, thanks. So only run the byte-based prescanner, or can tree construction find meta tags that the pre-scanner doesn’t? [08:26:43.0000] hsivonen: I’m referring to https://html.spec.whatwg.org/multipage/#parsing-main-inhead:change-the-encoding [08:26:44.0000] SimonSapin: I suggest only running the prescanner. (but I bet it's possible to construct something that the prescanner doesn't see but the tree builder sees) [08:27:23.0000] hsivonen: WebKit only has a Japanese detector iirc [08:27:33.0000] SimonSapin: oh. the reason I added support for late may be that the spec said so! [08:27:44.0000] SimonSapin: but IIRC, WebKit doesn't honor the spec there [08:27:55.0000] we should fix the spec [08:28:03.0000] SimonSapin: it quite possible that the spec says so because the old parser in Gecko behaved like that [08:28:29.0000] SimonSapin: I'm not sure what IE did at the time the spec was written, but my vague recollection is that it supported late [08:30:11.0000] hmm. an obvious way to create a seen by the tree builder but not by the prescanner is, of course, document.write [08:30:34.0000] This wasn't one of the cases where Hixie was concerned about the security impact of an attacker that could cause early termination of the byte stream? [08:30:58.0000] jgraham: I don't recall this topic co-occurring with that topic [08:31:05.0000] /me isn't quite sure what such an attack would look like given incremental parsing [08:31:05.0000] jgraham: that was about comments and scripts [08:32:26.0000] OK [08:32:48.0000] annevk: so about bugzilla, short answer is Yes, we can. I think. [08:32:53.0000] SimonSapin: so I suggest 1) implementing just the prescan until 1024 bytes, 2) being aware that you might end up having to implement something that allows you to signal to the browsing context to reload if #1 Breaks the Web, 3) researching if old IE actually supports late and if it doesn't, filing a spec bug [08:33:08.0000] it's possible that a spec bug is warranted just based on the success of WebKit, though [08:33:09.0000] hsivonen: Chrome doesn’t reaload, it switches encodings mid-stream: https://gist.github.com/anonymous/addad9f51781a6cd2cf9 [08:33:21.0000] Firefox reloads [08:33:25.0000] SimonSapin: whoa! [08:34:00.0000] Firefox makes two HTTP requests [08:34:03.0000] annevk: In the admin UI for components, every component has a "Enabled For Bugs" which by default is enabled; I think the scope of the effect of disabling is that it just prevents anybody from creating new bugs in that component, but you can still comment on existing bugs and edit them. I think. [08:34:19.0000] SimonSapin: Firefox making two requests is expected [08:34:27.0000] SimonSapin: the Chrome behavior is news to me [08:35:12.0000] Chrome 46 dev, don’t have Release at hand [08:37:51.0000] beverloo: on Android, "new Notification(...)" intentionally no longer works in Chrome, right? (from 42 on? or 43?) [08:37:55.0000] annevk: my current assumption is that the Russian and Ukrainian detectors misfiring is a greater problem than the problems they fix, but I don't have proof [08:38:04.0000] MikeSmith, yup [08:38:07.0000] k [08:38:11.0000] MikeSmith, we shipped it in Chrome 42 on Android [08:38:20.0000] MikeSmith, we'll support it eventually, but they'll be more like Android toasts [08:38:28.0000] have to figure out the right ux :) [08:38:33.0000] annevk: I want to get rid of those two detectors but I feel I need something more concrete than a guess that they have negative utility [08:39:31.0000] MikeSmith: that sounds good to me [08:40:28.0000] SimonSapin: it changes the decoder on the fly? [08:40:31.0000] beverloo: what's there now seems to fairly well already. I mean was far as how the notifications get displayed in the status area, and what's shown if you pull down to view more [08:40:39.0000] SimonSapin: now that is interesting [08:41:21.0000] annevk: OK, so shall I go ahead and disable "Enabled For Bugs" for all WHATWG components except "Unwelcome"? [08:41:30.0000] MikeSmith, yes, but there's lifetime issues with that (the OS can kill the page whenever it feels like it). That's why the spec now mentions they're a more ephemeral form of notifications [08:41:47.0000] MikeSmith: they're still welcome for the HTML components too [08:41:51.0000] MikeSmith: for the time being [08:42:04.0000] annevk: ah yeah ok, sure [08:42:20.0000] beverloo: oh, ok [08:42:48.0000] MikeSmith: oh, Books and Figures too [08:42:56.0000] MikeSmith: howcome hasn't switched it seems [08:43:01.0000] annevk: yeah, those I figured to leave as is [08:43:34.0000] beverloo: was there an intent-to-deprecate message sent out to blink-dev about de-supporting the Notification constructor? [08:43:35.0000] MikeSmith: seems mimesniff hasn't migrated either [08:43:44.0000] GPHemsley: ^^ [08:44:05.0000] MikeSmith, we still support it on desktop (but are considering changing UX there too, part of a larger "what do we want with notifications"-effort) [08:44:06.0000] MikeSmith: neither has HTML Differences [08:44:09.0000] I sent a PSA, let me find a link for you [08:44:16.0000] MikeSmith: hmm, perhaps I can better list what we should disable :-/ [08:44:44.0000] MikeSmith, https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/BygptYClroM [08:44:45.0000] annevk: OK, for now, so I just did only Encoding, Fetch, and URL [08:44:57.0000] MikeSmith: to disable: JavaScript, URL [08:45:02.0000] beverloo: thanks [08:45:25.0000] annevk: ok just did JavaScript too [08:45:35.0000] MikeSmith, up for a drink later this week btw? :) [08:45:38.0000] would be good to meet you [08:45:46.0000] whoah [08:45:50.0000] beverloo: you in Tokyo? [08:45:55.0000] flying on Wednesday [08:46:01.0000] MikeSmith: Quirks Mode lists a very old URL in its description [08:46:14.0000] annevk: what should it be? [08:46:24.0000] MikeSmith: https://quirks.spec.whatwg.org/ [08:47:49.0000] beverloo: oh man, on Thursday morning I'm flying to Shanghai for a few days. Do you arrive in Tokyo on Wednesday or Thursday? [08:48:15.0000] annevk: OK, updated [08:48:28.0000] thanks [08:48:51.0000] MikeSmith, Thursday morning at Haneda (7:20am) [08:49:57.0000] beverloo: OK I think I fly from Haneda on Thursday at 1pm :( [08:50:29.0000] beverloo: but will be back in the evening on the 9th (sunday), so could meet up then [08:54:46.0000] Clearly the two of you should meet for drinks at the airport [08:55:26.0000] heh [09:11:46.0000] annevk: oh, Firefox on Android is going to continue supporting the old-style Notification constructor? [09:12:00.0000] per your comment at https://github.com/whatwg/notifications/issues/26#issuecomment-126310459 [09:12:27.0000] MikeSmith: non-persistent notifications are toasts, just a different name [09:12:52.0000] MikeSmith: also, I'm not familiar with Firefox' product plans [09:14:29.0000] ah I see, the "we" in "we're keeping non-persistent notifications" was about the spec itself [09:15:07.0000] MikeSmith: yeah, WHATWG-we [09:15:25.0000] k [09:16:00.0000] MikeSmith: I guess that's confusing, unless it's clear from context, I believe I usually make it quite clear when I speak of Mozilla or its products [09:16:06.0000] but unless* [09:16:25.0000] /me goes to look at the HTML parser [09:46:43.0000] Domenic: see recent post on blink-dev, making createElement() match the HTML parser seems hard [09:47:00.0000] annevk: I didn't really understand that post. [09:47:41.0000] It seemed to contradict itself a couple times? Incompatible, but a full subset? [09:49:01.0000] /me refers back to him being tired [09:49:37.0000] Domenic: there's a distinction between requirements on the first code point and any remaining code points [09:50:55.0000] I guess I am not able to find an actual example of incompatibility in that message [09:51:20.0000] Maybe... HTML does not allow a start of xEFFFF, but XML does? [09:51:36.0000] It seems fine if createElement allows more characters than the parser does [09:52:13.0000] Domenic: HTML only allows a-zA-Z at the start of an element [09:52:50.0000] annevk: OK. Why is that a problem? [09:53:10.0000] Domenic: XML and createElement() allow more, per the production I pointed too [09:53:36.0000] annevk: again, why is that a problem. [09:53:46.0000] Domenic: if you make createElement() a superset of both, you're suddenly allowing in new elements your code base might not have considered [09:54:01.0000] what elements? [09:54:14.0000] what is an example? [09:54:29.0000] it seems like any example could be either created by the parser or by createElement, so nothing new is happening. [09:54:53.0000] Domenic: ":>" [09:55:16.0000] Domenic: that cannot be created by the parser or by createElement() today [09:55:27.0000] sorry [09:55:29.0000] annevk: then don't allow it. nobody is asking for *new* elements [09:55:32.0000] Domenic: ":<" [09:56:01.0000] Domenic: well either you restrict per the HTML parser or you restrict per XML [09:56:09.0000] Domenic: HTML parser has restrictions on the first code point [09:56:22.0000] annevk: the proposal is very simple. allow a union of both. [09:56:24.0000] Domenic: if you open those up, you automatically allow more and allow things that cannot be done through XML [09:56:43.0000] annevk: start char = union of (what xml allows) + (what HTML allows) = what XML allows [09:56:52.0000] Domenic: so making it more complex? [09:56:58.0000] Domenic: I guess... [09:56:59.0000] annevk: rest of chars = union of (what xml allows) + (what HTML allows) [09:57:18.0000] well, you'd need to validate either or in that case [09:57:24.0000] yep [09:57:30.0000] if the first char is a non-HTML char remaining cannot be HTML char [09:57:32.0000] there's something on the platform that is creating elements and following these rules [09:57:52.0000] the internals might not actually care about the names I suspect [09:57:58.0000] then we should expose that [09:58:22.0000] saying that the platform can create elements you can't is the silly part people are against [09:58:39.0000] though it's a bit trickier with XML namespaces of course [09:58:51.0000] but that's namespaced elements and those likely have their own path anyway [09:58:53.0000] :-S [10:03:34.0000] annevk: I'll check it out, thanks. [10:04:19.0000] TabAtkins: thanks, it seems we also haven't quite figured out references yet [10:04:28.0000] ? [10:04:36.0000] Oh, biblio stuff [10:04:52.0000] TabAtkins: yeah, DOM still has SELECTORS4 and SELECTORS-4 whereas I just want SELECTORS [10:05:10.0000] Yeah, I need to finish working on deduping that. I've done *some* deduping. [10:05:25.0000] TabAtkins: editor's drafts have dates listed next to them too [10:06:15.0000] TabAtkins: also, it seems syntax for dated references doesn't work? https://dom.spec.whatwg.org/#informative for UIEVENTS is quite wrong [10:06:51.0000] Hm, there's no syntax for them, it's just another ref name. I'll see what's up. [10:07:11.0000] But perhaps DOM stating it supersedes them is no longer necessary either... At some point that's just the new normal. [10:13:44.0000] annevk: Looks like URL's not in Shepherd's database, which is why that link didn't work. ^_^ Tell me which WHATWG specs are bikeshedded and I'll add them. [10:45:43.0000] annevk, thanks for the suggestion, that makes more sense actually. Trivial proposal writeup at http://littledan.github.io/global.html [10:48:16.0000] littledan: probably want to explain that this is then either shadowed by or in conflict with HTML's `self`, which is a getter [10:49:10.0000] oh, it's readonly? I see [10:49:39.0000] yeah, we definitely can't make it readonly, due to SES, but shadowed makes sense to me [10:49:49.0000] that's annoying [10:50:00.0000] littledan: not readonly. a getter. [10:50:22.0000] { get, configurable: true, enumerable: true } instead of { writable: true, configurable: true, enumerable: false } [10:50:31.0000] looks like the IDL for Window says readonly, which translates into a getter in ES, right? [10:50:36.0000] right. [10:50:41.0000] and all IDL attributes are enumerable true [10:51:00.0000] oh, interesting [10:51:12.0000] doesn't that make enumerability pretty limited utility? [10:51:21.0000] note also that globals are special-cased and their getters/methods are on the instance, not the prototype. otherwise, if this was a normal IDL object, you'd have another mismatch [10:51:27.0000] yes. yes it does. [10:52:01.0000] oh, well if it were on the prototype, then it'd just be shadowed and that's fine [10:52:07.0000] yeah, but it's not [10:52:19.0000] you're allowed to have a writable thing shadow something [10:52:19.0000] i think it's just a conflict [10:52:34.0000] one or the other spec would have to change [10:53:01.0000] yeah, OK, so in spec-land, the DOM is written on top of the new ES realm after all of the ES primordials are set [10:53:09.0000] right? [10:53:21.0000] i guess. there's never really been a conflict of this sort where the ordering needed to be established. [10:53:22.0000] so if I just say, in a note, this is occurring, then that's enough [10:53:47.0000] well, the ES spec is pretty explicit about how a realm is established and then stuff is written to it imperatively [10:53:59.0000] right, but that stuff doesn't reflect reality, it's just allen's imagination [10:54:04.0000] similar to "jobs" [10:54:25.0000] do you think this will be a difficult thing to do in implementations? [10:54:42.0000] i am really not sure (i.e. i would bet either way with 50% probability) [10:54:43.0000] to have them make it a writable configurable property in, basically, their shell? [10:55:07.0000] engines can do it, but then what does an engine's IDL binding do when a global object IDL attribute has to override an existing property? [10:55:14.0000] depends on what APIs are used to implement the IDL binding layer [10:55:37.0000] It's solvable, but might require writing custom bindings. [10:55:53.0000] It would be better to hope that we can change `self` from a getter to a data property so that it isn't defined by HTML at all. [10:56:43.0000] so the question is, would it be better for HTML to make it a writable/configurable data property, or can we figure out if SES can accept it in its current for (which I guess it would have to to make it work on the current web) [11:03:55.0000] I think if it is web-compatible the best approach would be to move self to ES as a writable/configurable data property. [11:04:22.0000] however, experimenting with that sounds like a decent amount of implementation work, and the potential to break websites, for very little benefit. [11:04:32.0000] so i am not sure that the best approach will end up happening. [11:05:16.0000] alternate approaches include: figuring out if SES can live with `self` as a configurable, enumerable getter, and trying to move that to ES; or going for `global` to avoid such issues. [11:09:53.0000] OK, this whole thing sounds like too little benefit for me to pursue [11:10:19.0000] maybe we should just suggest to Node people to add 'self' in some way or another to make things easier for library authors [11:10:29.0000] or the problem just doesn't exist at all [11:11:59.0000] yeah the cost/benefit tradeoff is indeed quite high [11:12:07.0000] that is why this has not happened yet :) [11:13:08.0000] OK, I'm new, I'm still learning this stuff [11:13:20.0000] :) all good! [14:36:30.0000] TabAtkins: I am trying to write a spec with bikeshed and

... MediaStream ... 
and it is complaining that "No 'idl-name' refs found for 'MediaStream'" [14:36:46.0000] I've searched a lot of docs and haven't found how to tell it where to get MediaStream [14:39:28.0000] Domenic: https://github.com/tabatkins/bikeshed/blob/master/docs/definitions-autolinks.md#providing-custom-definitions [14:42:16.0000] TabAtkins: thanks. I guess I have to use url if I want to avoid lowercasing? [14:43:11.0000] Yeah, if you use text it auto-gens the url based on Bikeshed's normal id-generation rules. If your target doesn't conform to that, supply url manually. (You can still combine with urlPrefix; url is appended to the urlPrefix.) [15:19:55.0000] TabAtkins: any ideas on how I can make a

into a definition for an IDL thingy without nesting a inside it (which gets its own auto-generated id etc.)? [15:20:09.0000] Domenic: Don't? [15:20:21.0000] TabAtkins: that is literally all of the streams spec [15:20:25.0000] (That is to say, there is nothing in Bikeshed that supports that, and I don't really plan to make it.) [15:20:36.0000] methods and getters and constructors are all defined as headings [15:20:38.0000] all of ES too [15:21:21.0000] So what's wrong with getting a different heading? You'll get one formatted properly for IDL stuff, after all. [15:21:38.0000] Well, those are abstract ops, not IDL. Hm. [15:21:45.0000] I don't understand the question. What's wrong with

is that then I get dfn styles and two IDs (one for hte h4 and one for hte dfn) [15:21:52.0000] No, all the public API is done the same way. [15:22:28.0000] Styling is trivially fixable, obviously. Two ids isn't, tho. [15:22:32.0000] I also get two self-link s, a consequence of the double-IDs. Super-ugly. [15:22:38.0000] Yeah, that's definitely ugly. [15:22:45.0000] Okay, file a bug on me, I'll think about it. [15:22:56.0000] thanks [15:28:01.0000] jsbell: I was hoping that someone who had looked at those tests before would review, but if they haven't I'll look tomorrow [15:55:59.0000] jgraham: thx 2015-08-04 [17:13:59.0000] Domenic: plinss just landed code for recognizing headings that are definitions. I'll shortly be adding the code to Bikeshed to make it work properly, too. [23:06:00.0000] littledan: Node.js adding self first makes the most sense to me. Then we can figure out if that's worth harmonizing over. [23:06:28.0000] TabAtkins: Fetch and I think also HTML have header definitions [23:06:58.0000] TabAtkins: though I think HTML also has one case where a single heading contains multiple definitions (for h1, h2, etc., ironically) [02:24:35.0000] Oh, so now the IETF approved http://tools.ietf.org/html/rfc7159 that's the only RFC defining the MIME type, but it seems they at least aligned with the definition from Ecma, although I haven't read closely... [02:42:29.0000] philipj: does not seem to be much in https://lists.w3.org/Archives/Public/public-editing-tf/ or https://github.com/w3c/editing [02:43:47.0000] /me sees Ryosuke Niwa, Arthur Barstow and Florian Rivoal among the posters [02:43:52.0000] philipj: https://github.com/w3c/editing/issues/56 is the most interesting [02:45:19.0000] I'll watch that [02:46:00.0000] Looks like Ryosuke-san has some healthy skepticism [02:48:17.0000] yeah [03:03:52.0000] annevk: thanks for doing the bugzilla hygiene [03:07:07.0000] MikeSmith: made it possible to see all bugs on a single page again [03:07:50.0000] MikeSmith: not really impressed by how Web Components folks just moved all over Template bugs without any additional triage [03:08:16.0000] but most was spammy stuff from the widget [03:15:24.0000] annevk: yeah that Templates move was kind of quick-and-dirty [03:59:53.0000] annevk: what do you think about forking https://github.com/ayg/editing to https://github.com/whatwg/editing now that https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html is gone? [04:00:50.0000] philipj: we should ask ayg if he would be willing to move the repository [04:01:19.0000] yeah, there's certainly no rush [04:01:59.0000] philipj: and maybe we should include rniwa/ehsan in that email to get a feeling for what everyone else feels [04:02:04.0000] well "everyone" [04:02:18.0000] at least those that did some work on this in the past [04:02:47.0000] overall though I'd be supportive of that, certainly if this new Editing TF is not actually doing any hard work [04:03:58.0000] well perhaps they are doing good work, but just not taking ownership of execCommand() [04:06:55.0000] or contenteditable... [04:07:03.0000] or designMode [04:07:19.0000] if you don't take ownership of the primitives that exist, you're bound to create a shit show [04:36:34.0000] Speaking of editing, https://www.indiegogo.com/projects/prosemirror/ is pretty interesting [04:36:49.0000] philipj: it seems ayg is still around [04:37:55.0000] annevk: yep, and with no love for execCommand() :) [04:38:34.0000] yeah, I wonder what his answer is to "what about Servo?" [04:38:52.0000] i remember creating a rich text editor using javascript & dom many years ago, without using execCommand. that sure was a lot of work [04:38:58.0000] I'm assuming Edge simply has IE's old code without all the ridiculous switch statements [04:39:19.0000] annevk: he already answered in https://github.com/w3c/clipboard-apis/issues/16#issuecomment-127570472 [04:40:09.0000] ah I see [04:44:30.0000] it would be great if the editing api was more low level [04:44:59.0000] a sane API which execCommand can be built on top of would be nice [04:45:02.0000] contenteditable is so incredibly buggy in all browsers [04:45:43.0000] (not just execCommand) [04:46:22.0000] for example, in certain situations elements can "leak" outside of the element that has contenteditable [04:47:38.0000] so i think the behaviour of contenteditable must either be very well defined, or provide a much lower level api [05:03:59.0000] annevk, MikeSmith: What am I supposed to be migrating? [05:04:42.0000] GPHemsley: the idea is to slowly move over to GitHub [05:04:51.0000] :( [05:04:53.0000] GPHemsley: as you can see in e.g., URL and DOM [05:04:58.0000] /me dislike GitHub issues [05:05:04.0000] /me are plural [05:05:58.0000] annevk: I assume there's justification for this? [05:07:42.0000] GPHemsley: I don't have a long form argument handy [05:08:05.0000] I noticed also that the editor has been removed from the header? [05:08:18.0000] GPHemsley: in general we notice more participation on GitHub and due to GitHub's tight integration of PRs, issues, and commits, it also makes things easier to track [05:09:08.0000] GPHemsley: yes, we did that because some people felt having a name there might be unwelcoming to contributions of others, there's some other arguments too [05:09:27.0000] hmm [05:10:05.0000] GPHemsley: if specifications are more community owned, it doesn't make much sense to have a single name at the top [05:10:38.0000] are all of our specs by definition community-owned? [05:10:52.0000] it makes even less sense to list 10+ names at the top the way some W3C specs do [05:11:29.0000] IMHO name(s)-at-the-top-of-the-spec often creates perverse incentivies [05:11:52.0000] interesting [05:12:10.0000] GPHemsley: what else would they be if not community-owned? [05:12:17.0000] GPHemsley: they are in the public domain [05:12:25.0000] GPHemsley: and maintained by the WHATWG [05:12:26.0000] I always saw it as "who's the expert on this spec?" or "who do I talk to to clarify what this spec means?" [05:12:30.0000] dunno how other folks do it [05:12:37.0000] MikeSmith, annevk: That sounds like by definition, then [05:13:05.0000] GPHemsley: it would actually be a bad thing if it encouraged that kind of line of reasoning [05:13:21.0000] k [05:13:23.0000] GPHemsley: what you describe is what the Participate links are for, really [05:13:37.0000] GPHemsley: although it's great to have a couple of people own the spec and sort through things, having all conversations flow through that group alone seems damaging long term [05:14:19.0000] Well, in that case, then, I guess... patches welcome ;) [05:14:32.0000] MikeSmith: yeah, in the W3C you often have people volunteer to have their name on the spec, and only for that... [05:14:44.0000] annevk: yep [05:14:52.0000] although I appear to have turned github issues off for mimesniff [05:14:57.0000] GPHemsley: I'm happy to make the changes I made elsewhere at some point directly if you don't mind [05:15:21.0000] it looks like you can still do pull requests even with issues turned off [05:15:29.0000] the fringe WGs in the Linked-Data/Semantic-Web area are full of that "I'm here to get my name on a spec"-think [05:15:59.0000] they're also specs that few people look at, so... *shrug* [05:16:21.0000] annevk: re "having all conversations flow through that group alone seems damaging long term", yeah, hypothetically speaking [05:17:35.0000] annevk: hypothetically speaking, if an active editor were to sorta to go away and do other things for 10 months or whatever, on a spec that's never really been a community product in the same way most of our other ones now are [05:17:39.0000] just sayin' [05:17:57.0000] that would be less than ideal, if that were to ever happen [05:18:09.0000] especially if it were to happen with a really important spec [05:18:33.0000] so let's just hope that never happens I guess [05:19:55.0000] MikeSmith: indeed :-) [05:23:27.0000] Let's hope such a spec would at least have an open-source publication pipeline [05:23:29.0000] I haven't migrated off anolis yet, either [05:29:08.0000] If Hixie is actually blocking any work then it seems possible to address the situation [06:18:58.0000] annevk for execCommand editor, wee :) [06:19:19.0000] philipj: "maintainer" [06:19:26.0000] "PRs appreciated" [06:19:40.0000] If Aryeh is indeed giving up... [06:20:10.0000] I think he definitely isn't interested in editing, he said as much when I asked about the spec in an email a few years ago [06:52:04.0000] philipj: your list seems about right [06:52:21.0000] philipj: I think Domenic is only interested in elements and attributes, but I guess we might as well make it complete [06:52:50.0000] philipj: and yeah, breaking invariants elsewhere was my worry too [06:53:08.0000] philipj: to avoid that you need to go with the HTML/XML union [06:54:46.0000] nice to see Aryeh back around some, the last few days [06:55:16.0000] annevk: yeah, that should at least reduce the risk, even if it's still the case that there are things that can't be roundtripped in XML and/or HTML [06:55:49.0000] yeah, whoever designed that... [06:56:01.0000] Domenic: maybe you can just add use counters for the things you'd like and I can sit back and do nothing? :) [06:56:16.0000] still catching up on the morning email... [06:56:47.0000] annevk: any idea what the union would look like, is it just a short blacklist for the first code point and another short blacklist for the rest, or something more complicated? [06:57:15.0000] philipj: more complicated [06:57:28.0000] philipj: you need to validate against XML, if that fails, validate against HTML, if that fails, throw [06:57:44.0000] philipj: if at any point you succeed you have a winning name [06:58:02.0000] so more exception handling code in some of the most most called methods there are... [06:58:14.0000] yeah, seems unlikely [06:58:24.0000] although you could code it more efficiently that that of course [06:58:31.0000] by branching [06:58:43.0000] it might not affect perf at all since it's in an unlikely branch, but still not great [06:58:58.0000] so let's just wait for Domenic to read some more email :) [06:59:48.0000] although apparently it's more efficient to create a bunch of elements through appending to DocumentFragment and then cloning that then invoking createElement() a whole lot [07:00:29.0000] well, yeah, at some point the overhead of bindings just ruins everything I guess [07:00:38.0000] yeah I guess so [07:00:50.0000] maybe we should have API that allow you to create lots of elements in a single call, without parsing? [07:02:19.0000] probably not [07:02:47.0000] WebAssembly can also take some of this away I'm told [07:03:26.0000] /me eyerolls at the wasm panacea [07:03:33.0000] just allowing everything sounds better [07:03:41.0000] what would the use counter do? [07:07:11.0000] Domenic: I was thinking measure how often an exception is thrown where it no longer would be, but I'm not sure what to do with the result if it's anything but ~0.001% [07:07:31.0000] 0.1% could mean that we'll now make 0.1% of pages work better, who knows [07:07:56.0000] hmm yeah i would be surprised if it is >0% though, so that seems like a reasonable thing [07:08:55.0000] depending on exceptions being thrown is unusual, but given a common enough API it enters the realm of the possible [07:09:24.0000] But I dunno, just trying it would answer the question much faster :) [07:10:03.0000] zcorpan wanted to do this at some point btw [07:10:04.0000] o_O is TimBL actually posting on blink-dev as 0123456789abcedf⊙gc ? [07:10:07.0000] I'm not sure why he didn't [07:10:22.0000] philipj: I didn't see that [07:10:32.0000] annevk: in the thread [07:11:12.0000] It's his picture and name, but could just as well be an impostor I guess [07:11:52.0000] That sounds quite unlikely [07:12:23.0000] I think that's him [07:13:33.0000] Odd [07:20:11.0000] Domenic: what does this mean? https://lists.w3.org/Archives/Public/public-webapps/2015JulSep/0232.html [07:21:53.0000] wanderview: nothing [07:22:07.0000] ok [07:25:09.0000] Domenic: I do hope that if IDL is formalized we could actually have a "copy" operation that just creates a new instance and copies over all internal slots [07:25:37.0000] Domenic: so you can just write "copy" in your spec and it means something when applied to an object [07:43:12.0000] annevk: maybe, such an operation is rarely useful (never used in ES) [07:47:13.0000] What does no-backref do? [07:54:31.0000] Domenic: something I should probably patch into dfn.js [07:55:11.0000] Domenic: partially because ES doesn't define structured cloning as it should [07:55:24.0000] True [07:56:19.0000] There's quite a lot of objects that are copied in some manner, though arguably such a generic definition might give the wrong results for elements and such, that don't necessarily want all their internal slots copied [08:13:47.0000] Another interesting thing, we gave up on DOM Parsing & Serialization, but the W3C stopped maintaining their copy too [10:07:35.0000] does github's bug tracker have anything like needinfo in bugzilla? [10:08:00.0000] smaug____: closest is @ mention in a comment I believe [10:09:07.0000] which is quite different [10:09:25.0000] I guess "no" then :-) [10:10:02.0000] wanderview: I mean, needinfos end up to a queue which you can check easily [10:10:21.0000] I assume @ stuff don't end up to any queue [10:10:40.0000] if you miss some bugmail, you really miss it [10:11:01.0000] smaug____: they show up here: https://github.com/notifications [10:11:23.0000] probably too easy to clear something from the list, though [10:12:04.0000] wait what? I need to read bugmail _and_ clear that list [10:12:06.0000] huh [10:12:32.0000] though, perhaps there is some pref [10:14:57.0000] sorry [10:15:09.0000] I personally ignore that notifications page... but its kind of queue like [10:43:26.0000] hello, I was wondering why isn't there encoding spec for iso-8859-1 on whatwg.org? [10:44:46.0000] you can assign github issues and see all issues assigned to you [10:44:49.0000] again not quite the same [10:45:38.0000] ajankovic: there is. It is an alias of windows-1252. [10:46:31.0000] Domenic: I saw there is an alias for it but those two are not the same? [10:46:45.0000] ajankovic: it turns out they are in shipping software [10:47:42.0000] (or there could be a bug in encoding spec, but this particular issue has the feel of something that's already been discussed a lot.) [10:50:43.0000] ajankovic: I think the way to show they are different would be to create a document, with , containing one of the bytes in https://encoding.spec.whatwg.org/index-windows-1252.txt, and show that it is not displayed in browsers according to that table [10:51:06.0000] sorry, with [10:55:35.0000] thanks, I was led here by the issue in Go language implementation of character conversion which uses whatwg specs to generate character conversion tables, I guess whatwg is web centric and I need better precision than that for my project [10:56:44.0000] ajankovic: well, interoperability with the web is the primary use case for a lot of encoding software. I would suggest interoping with the web if at all possible. [10:57:04.0000] ajankovic: otherwise you will interpret one of those bytes differently than web browsers do, which is a recipe for lots of bugs being filed on your software :) [10:59:11.0000] Domenic: I am dealing with character conversions for sms messages [11:04:45.0000] ajankovic, I'm so sorry [11:06:08.0000] Ms2ger: thank you that was my first laugh today [11:06:29.0000] ajankovic: And it will be your last too. [11:06:34.0000] Sorry. [11:06:53.0000] yes, all i can offer at this point are condolences. [11:07:33.0000] ajankovic, more seriously, the whatwg spec is not very likely to be useful for you [11:44:08.0000] JakeA: you around by any chance? [12:21:01.0000] wanderview: a little [12:21:30.0000] JakeA: I decided to write a fetch issue... I'll let annevk set me straight in the morning [12:21:50.0000] thanks, though [12:22:36.0000] TabAtkins: I don't really understand "terms defined by this specification". E.g. in https://domenic.github.io/streaming-mediastreams/#index-defined-here it says this spec defines "stream" which feels a bit ridiculous. [12:23:09.0000] Domenic: It's an argument to a method. [12:23:25.0000] TabAtkins: yes. Which is why saying that the definition of "stream" is that argument is pretty silly. [12:23:48.0000] Maybe only exported definitions should appear there? [12:23:58.0000] Arguments are exported. ^_^ [12:24:05.0000] O__________o [12:24:11.0000] can i turn that off [12:24:24.0000] Everything is exported by default except "dfn" type arguments. [12:24:27.0000] Why do you want to? [12:24:39.0000] now anytime someone does stream in a Bikeshed spec they'll get this spec's method argument!? [12:25:00.0000] I want method arguments to be refactorable at will, not something people take dependencies on [12:25:02.0000] wanderview: I was thinking again about a fetch option that causes failure on !ok [12:25:08.0000] method argument names, that is [12:25:26.0000] I got bitten by a server 500 getting cached [12:25:29.0000] No, it's pretty hard to reference an argument. Almost impossible to do accidentally. [12:26:15.0000] You have to write either {{foo()/arg}} or {{arg!!argument}} (or the equivalents in longhand). [12:27:00.0000] JakeA: yea... seems annoying... I imagine best practice might become to put a thing on the promise chain to turn bad status codes into a rejection [12:27:35.0000] i would really rather them not be there ever. if they have to be then maybe nest them under the relevant constructor or method name? My index is clogged up with argument stuff I don't care about using up all the good terms. [12:27:59.0000] Domenic: *That* is something I can do. [12:28:06.0000] Tho what do you mean by "using up all the good terms"? [12:28:25.0000] fwiw, here's my fetch issue: https://github.com/whatwg/fetch/issues/101 [12:28:43.0000] I look at the list of terms defined and I think "wow this spec defines stream, cool" [12:28:49.0000] I'll file an issue for nesting [12:29:14.0000] I've wanted to nest values underneath properties for a while; nesting arguments underneath their function should work the same. [12:31:18.0000] I still think, given that argument names don't have any normative value, they should not be defined by specs [12:31:29.0000] well, should not be listed as officially defined by specs [12:35:43.0000] Domenic: I've had use-cases for referring to them; given that, they need to be an anchor. But I agree that they probably shouldn't be exported by default. (That won't remove them from the index.) (Tho maybe it should.) [12:36:09.0000] :) yes IMO it should [12:36:33.0000] That would mean that a lot of dfn-type definitions would stop showing up, tho maybe that would be a clue for people to export them. [12:39:00.0000] +1 [12:39:10.0000] I pretty much only use s right now when I should be exporting them a lot more [12:39:42.0000] I have different problems though with Web IDL vs. JS :-/ [14:19:02.0000] Why do we use
instead of