2015-11-02 [23:55:49.0000] wanderview: https://github.com/whatwg/fetch/pull/146 [01:50:21.0000] Ms2ger: How is one supposed to use promise_rejects in testharness.js? You added it but I can't see it used anywhere. [01:50:35.0000] annevk: yt? [01:52:01.0000] philipj, https://github.com/w3c/web-platform-tests/pull/1490/files [01:52:24.0000] (In case you ever wanted to write tests for webcrypto: don't bother) [01:52:31.0000] philipj: more or less [01:56:02.0000] Ms2ger: so it depends on promise_rejects being called before the then() and catch() inside promise_test are registered. I thought maybe it was intended to be used together with a bare async_test. [01:56:42.0000] You ask me like you think I have code from a year ago paged in :) [01:57:16.0000] Well, you should. Obviously. [01:57:17.0000] Ms2ger: I expect nothing less from you :) [01:57:30.0000] annevk: Do you expect that Gecko will implement webkitMatchesSelector()? [01:58:13.0000] annevk: And do you have the full story about how it went from matchesSelector() to just matches()? [01:58:36.0000] philipj: I expect we will [01:58:50.0000] I expect we have [01:59:07.0000] https://bugzilla.mozilla.org/show_bug.cgi?id=1216193 shipping in 44 [01:59:26.0000] Ms2ger: was this the first webkit-prefixed method to be added to Gecko? [01:59:30.0000] philipj: not the full story, I ended up taking it from http://dev.w3.org/2006/webapi/selectors-api2/ which I assumed had agreement [01:59:47.0000] philipj: I believe it was renamed because the other name was too long [01:59:59.0000] annevk: I'm using this as a case study in the talk Rick Byers and I are giving at BlinkOn [02:00:26.0000] philipj: it has been matches() since June 2012 it seems in the draft [02:00:41.0000] philipj: well, per the published draft, not sure when it changed in the editor's copy [02:01:07.0000] annevk: jQuery noticed the change in 2013-03: http://bugs.jquery.com/ticket/13629 [02:02:40.0000] Ms2ger: grep says the answer is yes. Would you happen to know what the first webkit-prefixed CSS properties in Gecko were? [02:05:01.0000] Ms2ger: And if you have any good stories about site compat that contains lessons for Blink developers, I'm making a collection :) [02:07:48.0000] https://bugzilla.mozilla.org/show_bug.cgi?id=837211 is relevant [02:08:01.0000] Also https://bugzilla.mozilla.org/show_bug.cgi?id=1132745 [02:08:13.0000] https://bugzilla.mozilla.org/show_bug.cgi?id=1160281 [02:09:08.0000] philipj: ah right, only the prefix variant was implemented [02:09:34.0000] philipj: that's probably why editors assumed the change was safe while in fact it was already too late [02:14:35.0000] annevk: Right, it was prefixed only for a very long time, and I guess this was before anyone had understood what fallback code looks like, or they thought that libraries would update and propagate the change. [02:15:08.0000] Ms2ger: thanks! [02:15:25.0000] > they thought that libraries would update and propagate the change. [02:15:26.0000] lol [02:15:40.0000] Ms2ger: right, but there must have been a time where that seemed plausible [02:16:09.0000] and they thought that people would update the libraries [02:17:59.0000] gotta go [02:26:12.0000] /me doesn't remember a time when people believed that libraries would update [02:26:20.0000] Well maybe in 2005 or something [02:26:37.0000] "people" being clueful people ofc [02:26:41.0000] Some peopel still think that [02:32:08.0000] philipj: I think it's very similar to the fullscreen situation [02:32:38.0000] philipj: which I suppose is largely my fault for insisting fullscreen is a single word [04:07:44.0000] mkwst: https://github.com/whatwg/fetch/issues/39#issuecomment-141043738 [04:08:51.0000] Would https://github.com/whatwg/fetch/issues/19 be fitting for the HTML Standard? [04:08:58.0000] /me isn't quite sure where to move it [04:49:52.0000] annevk: yep, I guess that one's on you :) [04:50:27.0000] fullScreen is fairly hideous though [05:58:23.0000] annevk, so is webkitFullScreen ;) [06:03:31.0000] annevk: navigator.onLine is my favorite capitalization [06:06:13.0000] philipj: wat. [06:07:24.0000] gsnedders: awesome, right? [06:08:00.0000] philipj: if by "awesome" you mean "makes me want to rip my eyes out", yes. [06:08:24.0000] yes, isn't that what the dictionary says? [06:09:18.0000] uhhh [07:27:36.0000] https://zcorpan.github.io/live-webvtt-viewer/ [07:28:16.0000] i don't know why it doesn't work in firefox [07:34:27.0000] Hixie: the csswg-test contains tests originally from hixie.ch that have been imported, but with some images. I presume you're happy licensing-wise to include them? [07:34:40.0000] Hixie: with some images still referencing hixie.ch, I mean [07:56:05.0000] annevk: Hello, submitted the proposal, do you want to suggest any particular ideas for it, the deadline is today for the proposal submissions [08:08:25.0000] JakeA: ping [08:08:54.0000] sorry, unping [08:11:05.0000] wanderview: no worries! Let me know if there's anything else you don't need me for :D [08:11:17.0000] I found the text in the spec [08:11:57.0000] JakeA: was wondering if the waitUntil() timeout killing a long running worker was spec'd to fail install... and it is [08:12:27.0000] ahhhh, yeah, that sounds like the right thing to do [08:12:40.0000] " If task is discarded or the script has been aborted by the termination of installingWorker, set installFailed to true." [08:36:31.0000] https://streams.spec.whatwg.org/#transform-stream talks about a text decoder being a kind of a transform stream [08:36:34.0000] but [08:36:54.0000] streames otherwise seem to deal with bytes while text in JS is UTF-16 [08:37:05.0000] are there actually byte streams and UTF-16 streams? [08:37:27.0000] hsivonen: ReadableStream() can pass chunks of any type.... its up to the producer of the stream to say what the type is [08:37:32.0000] searching the spec for the obvious words doesn't result in search matches explaining this [08:38:04.0000] wanderview: ok. https://streams.spec.whatwg.org/#chunk could use way more explanatory text [08:38:56.0000] hsivonen: if you don't mind, best way to get it fixed is to file an issue: https://github.com/whatwg/streams/issues/new [08:39:04.0000] wanderview: ok [08:40:06.0000] is there a place where text decoding in Streams is being specced for the case where the stream with Uint8Array chunks doesn't guarantee chunks to contain complete byte sequences from the point of view of an encoding? [08:41:02.0000] i.e. does the text decoder transform exist spec-wise yet? [08:41:54.0000] hsivonen: I'm not sure if work has begin to integrate streams into other APIs yet, besides fetch() [08:42:03.0000] hsivonen: I guess Domenic would know, though [08:42:42.0000] wanderview: OK. thanks. [08:43:06.0000] hsivonen: there is some question if things should take streams or Response objects... since Response objects also have headers [08:47:36.0000] hsivonen: it seems you could also file a bug against the encoding spec to add streams support: https://github.com/whatwg/encoding/issues [08:47:49.0000] wanderview: OK [08:54:01.0000] it looks like TextDecoder spec already has streaming support but eof handling in the streaming case doesn't work [08:54:04.0000] as in [08:54:07.0000] doesn't work in our impl [08:54:16.0000] and I don't see the spec covering the case properly [08:56:52.0000] JakeA: what about if the browser timeouts out activateEvent.waitUntil()... is the SW still active? the spec suggests it should be... see steps 16 and 17 here: https://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html#activation-algorithm [09:05:37.0000] /me files an issue [09:06:33.0000] rits: I was planning to review the proposals sometime this week, several have applied thus far [09:06:46.0000] rits: no thoughts at the moment [09:07:01.0000] wanderview: did you see my request for review? [09:07:16.0000] wanderview: https://github.com/whatwg/fetch/pull/146 [09:07:33.0000] annevk: no, I did not [09:07:46.0000] I'll look today [09:08:34.0000] annevk: ok sure :) [09:10:45.0000] wanderview: thank you [09:11:16.0000] rits: still recovering a bit from the jet lag too, got back last night [09:12:01.0000] JakeA: found the answer to my last question... filed a spec issue for a note, though: https://github.com/slightlyoff/ServiceWorker/issues/776 [09:13:44.0000] annevk: oh, no problem, you took out the time to review my application in your busy schedule that was enough for me, thanks a lot for that :) [09:19:38.0000] wanderview: btw, opaque stream is basically a stream for all intents and purposes but only privileged code (read: the user agent) gets to see the bytes [09:21:16.0000] wanderview: and thank you in advance for the review [09:24:41.0000] annevk: this seems to create a whole new vector of opaque tainting to be implemented... [09:25:04.0000] annevk: pass an opaque stream to a DOM implemented decoder, and the decoder has to produce an opaque stream, right? [09:25:10.0000] etc, etc [09:30:42.0000] wanderview: what do you mean by "a DOM implemented decoder"? [09:31:23.0000] yhirano_: like if https://encoding.spec.whatwg.org/ grew support for streams... it would in theory be a transform [09:31:40.0000] yhirano_: yet, if it took an opaque stream it would now have to be smart enough to pass on the opaqueness, etc [09:32:47.0000] yhirano_: maybe we need this, but it seems to add some non-trivial complexity [09:33:26.0000] yhirano_: for example, var r = new Response(url, { body: anOpaqueBody }) gives a non-opaque Response with an opaque body... that has to be propagated through Cache, etc... [09:33:27.0000] wanderview: Body.text() and so on don't recognize opaque streams. I thought it would be similar for other decoders [09:35:03.0000] yhirano_: well I guess thats the question... what recognizes these things and what doesn't... its hard to tell from the current spec issue [09:38:37.0000] wanderview: agreed. [11:49:04.0000] I'm trying to figure out what the intended guarantees are with regards to requestIdleCallback. Specifically around what happens if the request context gets closed before the queue is exhausted. Maybe when the second parameter is passed, it is expected to run in case of page unload? I'm implementing a very basic fallback but want to make sure behaviour is the [11:49:04.0000] same. [11:49:29.0000] The semantics rather. [14:10:48.0000] odinho: Just for the sake of process, do you want to give the objectStoreNames test approval via https://critic.hoppipolla.co.uk/r/5899 ? [14:18:16.0000] I prefer critic, -- but for some reason didn't use it on the first of your reviews :) [14:19:11.0000] jsbell: critic is not required, -- can use the GH review system (though it's quite bad for bigger reviews) :) But I clicked the button in critic now :9 [14:20:13.0000] odinho: Okay, just don't want to face the angry wrath of j-graham :) [14:22:55.0000] ^_* [14:36:53.0000] odinho: want to do the merge? (I seem to recall instructions saying "do not hit the merge button in the web ui" but not finding them now...) [14:37:05.0000] Sorry, feeling rusty. :P [14:41:14.0000] :P 2015-11-03 [23:37:26.0000] Hmm, still no review [00:22:49.0000] jgraham: https://github.com/w3c/web-platform-tests/pull/2283 [00:23:36.0000] jgraham: changes seem correct [00:52:01.0000] annevk: You don't have the ability to merge? [00:52:22.0000] jgraham: no [00:53:16.0000] annevk: Fixed that, thanks for the review [02:24:44.0000] annevk: Domenic: do you have an objection to changing the return value for add() in https://www.w3.org/Bugs/Public/show_bug.cgi?id=29061 ? [02:29:32.0000] /me is not convinced [02:33:59.0000] Ms2ger: why not? [02:48:01.0000] zcorpan: the known tokens approach seems better [02:49:09.0000] annevk: pointer to that approach? [02:49:23.0000] yoav: it's explained in the issue [02:50:33.0000] So the approach outlined in comment 8? [02:51:48.0000] annevk: it makes legacy browsers go into the "supported" branch [02:54:08.0000] iframe.sandbox.add('foo'); /* ignore */ if (iframe.sandbox.has('foo')) { /* supported, or legacy browser */ } [02:56:04.0000] i don't mind doing what comment 8 says (sans throwing), but it seems nice to have legacy browsers go into the unsupported branch, which is what boolean return value for add() does [02:56:55.0000] i.e. if (iframe.sandbox.add('foo')) { /* supported */ } else { /* unsupported or legacy browser */ } [02:58:13.0000] +1 to the latter [03:05:08.0000] zcorpan: the `toggle()` case https://dom.spec.whatwg.org/#dom-domtokenlist-toggle seems more complicated to handle then `add()`, since it already returns false in various cases [03:05:47.0000] we could also add that it returns false when trying to add an invalid token [03:07:12.0000] So add to https://dom.spec.whatwg.org/#dom-domtokenlist-toggle before step 4.2 "if token is invalid, return false" [03:08:09.0000] so the semantic right now for toggle is to return false if the token was removed, and return true if it's added, afaict [03:09:46.0000] maybe we should think about what remove() should do, and then toggle() becomes clearer what it should do [03:11:05.0000] i think remove/contains don't need to validate. and toggle should then only validate just before adding, not for removing [03:12:27.0000] but that is mostly arm-chair reasoning on my part. would be nice to walk though a real example that uses toggle [03:15:35.0000] zcorpan: FWIW, I agree with your arm-chair reasoning [03:15:55.0000] since if an invalid token would never get in, there's no point in validating on the way out [03:16:22.0000] and for feature detection purposes, a single method is enough [03:17:08.0000] I think it would be really weird if add() only worked on some strings [03:17:25.0000] Btw, how does this scale to classList? [03:18:40.0000] classList won't implement a validation algorithm, which means everything is valid [03:21:35.0000] yoav: invalid things could get in from the html parser or .rel = 'foo bar'; or setAttribute and so on [03:22:00.0000] zcorpan: good point [03:23:07.0000] still, if all we need is feature detection (which is the use case at hand for both iframe and link), add/toggle would be enough [03:24:04.0000] also, being unable to remove invalid values added elsewhere would be weird [03:25:03.0000] Note that toggle already returns a boolean [03:28:16.0000] Ms2ger: right [03:31:12.0000] /me only finds test cases using toggle() [03:33:35.0000] so back at the armchair, the boolean return value would be consistent with current toggle: if the token is added, return true, otherwise return false [03:33:52.0000] and we only add the token in add() and toggle() if it's valid [03:34:17.0000] Why? [03:35:14.0000] I think that would be very surprising, and I'm not convinced it [03:35:19.0000] 'd be compatible [03:35:27.0000] so that you can check if a keyword is supported, and have current browsers fall into the "unsupported" branch [03:35:54.0000] That's what the return value is for [03:36:08.0000] I don't see a use case for dropping the token on the floor too [03:36:13.0000] Ms2ger: oh, do you just find the validation thing surprising? [03:36:19.0000] ok [03:36:47.0000] i can live with that, but anne and dominic argued for that, to be consistent with "limited to only known values" [03:38:59.0000] Doesn't that still setAttribute()? [03:39:09.0000] /me pulls up the spec [03:39:18.0000] /me parse error [03:39:32.0000] "and on setting, the content attribute must be set to the specified new value." [03:40:00.0000] So what I suggested is more in line with "limited to only known values" [03:40:17.0000] ....yes, yes you're right [03:54:45.0000] Ms2ger: makes sense to me [03:55:36.0000] Always nice if existing practice agrees with you :) [04:49:21.0000] should DOMTokenList be ascii-case-insensitive for and