2016-07-01 [17:16:23.0000] Domenic: why CustomElements take reference to the lifecycle callbacks? Couldn't it just call the relevant methods in the prototype? [17:17:19.0000] (in other words I think https://github.com/heycam/webidl/issues/101 needs to be fixed somehow. The current specs using ctor as a callback are hard to follow and error prone to maintain ) [17:19:28.0000] (but still no idea how, since I don't know what has lead to the way ctors and classes are being used right now) [22:27:02.0000] botie, inform zcorpan I wonder if you could run a query for me and find out how widely used lang=zh-Hans* and lang=zh-Hant* are on the Web relative to lang=zh-cn* and lang=zh-tw* [22:27:03.0000] will do [22:28:03.0000] botie, inform zcorpan I suspect lang=zh-Hans* and lang=zh-Hant* are used almost not at all in practice yet (and maybe never really will be) [22:28:03.0000] will do [22:29:37.0000] botie, inform zcorpan this is related to implementation of https://github.com/validator/validator/issues/284 “Check for missing lang and mislabeled lang” [22:29:37.0000] will do [22:43:53.0000] TabAtkins: supported the cause [23:02:04.0000] annevk: I suspect the other commentors there did not realize a new camelcase element would require a parser change [23:03:04.0000] but now I wonder who will be the first purpose to comment to say, Well, if you’re already special-casing others, than it can’t really be much trouble to just add this one to the existing special-case list [23:03:11.0000] or something like that [23:03:16.0000] because consistency [23:04:37.0000] Then my next question will be about how many HTML parser implementers vouched for this [23:04:59.0000] But I think they generally want to do the right thing these days, they just might not know as you say [23:10:23.0000] yeah [00:17:42.0000] zcorpan, at 2016-07-01 05:27 UTC, MikeSmith said: I wonder if you could run a query for me and find out how widely used lang=zh-Hans* and lang=zh-Hant* are on the Web relative to lang=zh-cn* and lang=zh-tw* and at 2016-07-01 05:28 UTC, MikeSmith said: I suspect lang=zh-Hans* and lang=zh-Hant* are used almost [00:17:42.0000] not at all in practice yet (and maybe never really will be) and at 2016-07-01 05:29 UTC, MikeSmith said: this is related to implementation of https://github.com/validator/validator/issues/284 “Check for missing lang and mislabeled lang” [01:20:44.0000] zcorpan: thanks! [01:21:47.0000] welcome [01:22:06.0000] y'all should sign up for a bigquery account [01:29:42.0000] think I did at one point [01:30:00.0000] guess I should actually use it :) [01:32:08.0000] zcorpan: so there is some non-insignificant performance impact from implementing language detection in the checker [01:32:48.0000] zcorpan, hi, I'm alastor0325, I would like to ask a question about webvtt rendering. If we modify the value of attributes of cues (eg. line, position), should we update the rendering immediately? If so, did we mention that in the spec? Thanks! [01:36:29.0000] alwu: good question :-) [01:36:39.0000] "When a WebVTT cue whose active flag is set has its writing direction, snap-to-lines flag, line, position, size, text alignment, region, or text change value, then the user agent must empty the text track cue display state, and then immediately run the text track’s rules for updating the display of WebVTT text tracks." [01:37:30.0000] i suppose that should be updated to also cover position alignment etc [01:40:46.0000] got it, thanks :) [01:42:42.0000] alwu: also see https://w3c.github.io/webvtt/#css-extensions [01:45:29.0000] ok! [01:55:49.0000] Manishearth, complain at zcorpan? :) [01:56:17.0000] woot? [01:57:26.0000] Btw, Servo has a technical demo out: https://blog.servo.org/2016/06/30/servo-nightlies/ [01:57:31.0000] Don't use it for your bank [01:58:03.0000] zcorpan: why should html/semantics/embedded-content/the-img-element/update-the-image-data/fail-to-resolve.html pass? [01:58:43.0000] zcorpan: if the URL fails to parse, the spec says to abort the steps before the request (which updates the current source) is initiated [01:59:20.0000] > ⌛ Parse selected source, relative to the element's node document, and let urlString be the resulting URL string. If that is not successful, abort these steps. [02:02:05.0000] Manishearth: that is the algorithm to run when the *environment changes* [02:02:15.0000] Manishearth: that is not the case in this test [02:02:28.0000] Manishearth: you want to look at https://html.spec.whatwg.org/multipage/embedded-content.html#update-the-image-data [02:03:00.0000] step 11 [02:06:36.0000] MikeSmith: are you analyzing the entire doc? can it be limited? [02:07:08.0000] zcorpan: I limited it [02:07:44.0000] ok [02:08:09.0000] but the size of the text that the language detection gets run on does not seem to be the biggest factor [02:08:24.0000] right now I am limiting it to the first 3OK characters [02:08:56.0000] which seems to take no more measurable time than if I limited it to only 2K [02:09:27.0000] but as far as the rest of the implementation goes, it is affected by the size of the doc [02:09:38.0000] is the cost initializing the analyzer? (can it be done once and re-used?) [02:10:39.0000] Does anyone know if "filesystem" is a scheme that's a thing in one or more browsers? [02:10:58.0000] At some point I added it to a few places, but I think it's mostly gone nowhere [02:12:23.0000] zcorpan: well the way the checker is architected, I cannot do implement it using a singleton instance the way the microsyntax/datatype checkers are done [02:12:43.0000] but it doesn’t matter, because the cost is not bound by that [02:13:36.0000] it seems to bound by the document size (though the call to the 3rd-party language-detection library code itself is not) [02:14:21.0000] so when test it locally I ran into OOM errors from the Java GC when I tested with the HTML spec, which is now 8.2MB [02:15:18.0000] but that was running with the default Java heap size restricted to just 128MB, which I think nowadays is just way too low for the checker anyway [02:15:42.0000] so, I upped it to 256MB and no more OOM errors [02:16:22.0000] though it still ran slightly more slowly than it does without the language-detection enabled [02:17:29.0000] annevk: https://cs.chromium.org/search/?q="filesystem:http"&sq=package:chromium&type=cs [02:17:39.0000] zcorpan: so I upped the Java heap size to 512MB and now it seems to run at much closer to the same speed [02:18:40.0000] MikeSmith: does the language checker use a lot of memory? [02:19:11.0000] no, the language-detection library itself does not, as far as I can see [02:19:23.0000] but my code seems to [02:19:28.0000] ah ok [02:19:29.0000] I am not sure why [02:20:23.0000] can you upload a diff? [02:20:24.0000] the fact that the OOM message was about Java GC seems to indicate it is creating a lot of objects quickly but they are not getting freed quickly [02:21:17.0000] zcorpan: yeah I will, and I am going to push it to https://checker.html5.org/ shortly [02:21:25.0000] cool [02:23:13.0000] zcorpan: why do we queue a task to change the current url? [02:23:21.0000] Ms2ger: does Servo have its updating story figured out already? [02:23:23.0000] should the error event get the old URL? [02:23:28.0000] annevk, no [02:23:32.0000] Ms2ger: also, is it better than FirefoxNightly? [02:23:35.0000] Ms2ger: I see [02:23:54.0000] Manishearth: the idea is to change the url and fire the event in the same task [02:23:55.0000] I would not recommend trying to use it as a browser [02:24:12.0000] zcorpan: hm [02:24:21.0000] Ms2ger: it's crap at my blog [02:25:02.0000] I like how it presents the selection cursor, but then fails at selection [02:26:16.0000] Ms2ger: UX is pretty good though [02:26:22.0000] \o/ [02:26:33.0000] Ms2ger: fails at security a bit, but probably fixable [02:27:02.0000] I think "fails at security a bit" is expected [02:27:23.0000] jgraham: it's a little weird how they decided to not show the domain anywhere [02:27:37.0000] jgraham: present a lock icon plus the title of the page is... I dunno [02:28:29.0000] Oh, in the UI? [02:28:35.0000] I didn't try that [02:29:03.0000] Speak to fabrice I guess [02:29:17.0000] I should not have loaded the HTML Standard [02:29:34.0000] I think I crashed it [02:30:09.0000] Well that didn't last long 😊 [02:39:42.0000] it gets the mobile view for w3.org [02:40:34.0000] I got a FOUC on duckduckgo :-) [02:59:17.0000] zcorpan: https://github.com/validator/validator/commit/d1ee5cdb941051625e29ce4ac6ca44b2f2a4b38a [02:59:37.0000] and pushed to https://checker.html5.org/ [03:13:24.0000] MikeSmith: is the garbage in elementContent, maybe? wild guess :-) [03:15:21.0000] zcorpan : it seems that the spec didn't mention about how to parse the "cue identifier"? because I only found one place to set it to empty string, and didn't see other place to modify it. do I miss something? [03:19:06.0000] zcorpan: yeah though that would be the likely culprit, it does not seem to actually be. In debugging, I basically eliminated the text collection altogether and still ran in that GC OOM error. I think it could just be that since we are already running all these other filters of the parser for various other checks, it may not actually be anything particular in this new code itself, but instead it is just [03:19:12.0000] that the additional memory hit of adding any new filter at all just pushed it to the tipping point. [03:19:30.0000] *still ran into that GC OOM error [03:26:33.0000] alwu: hmmmm. seems like i made a mistake in converting https://github.com/w3c/webvtt/issues/222#issuecomment-151361368 to spec text. [03:32:11.0000] alwu: fix is to set cue identifier to buffer on cue creation, right? [03:34:49.0000] MikeSmith: ok [03:38:56.0000] zcorpan : seem yes :) ! but maybe we also need to check the content of the buffer? because the syntax rule mentions that the cue identifier can't contain the string "-->". [03:40:15.0000] alwu: if the first line of a block has -->, buffer will be empty on cue creation, i believe [03:40:24.0000] so no need to check [03:40:52.0000] that means the cue identifier is empty? [03:41:02.0000] like this file http://w3c-test.org/webvtt/webvtt-file-format-parsing/webvtt-file-parsing/support/arrows.vtt [03:41:13.0000] yes [03:41:41.0000] do you want to submit a PR for the spec? [03:43:37.0000] zcorpan : ok, let me check how to modify it because I never send PR for the spec :) [03:44:49.0000] i figured this could be a "good first bug" :-) [03:46:30.0000] annevk: sorry to ask about another thing here: https://html.spec.whatwg.org/multipage/forms.html#dom-input-valueasnumber [03:46:44.0000] I still can't parse that, how it returns number of months for type=month [03:47:27.0000] smaug____: ooh, is that what Chrome does? [03:47:44.0000] annevk: based on the test jessica linked [03:49:13.0000] and yes, tested locally [03:49:15.0000] MikeSmith: https://www.ingdirect.es/ - mislabeled only for legacy IE :-D [03:52:08.0000] smaug____: I see, then Chrome is indeed wrong per spec :-/ [03:52:44.0000] annevk: ok, need to then test other browsers [03:52:51.0000] sounds like we'll need a spec change [03:53:55.0000] smaug____: should probably ask https://github.com/tkent-google about this [03:54:04.0000] smaug____: / tkent@ [03:54:33.0000] sigh [04:03:33.0000] Hey! I'm having trouble finding the definition Window's onload event and when and how it should fire [04:03:47.0000] Looking at https://html.spec.whatwg.org/multipage/browsers.html#the-window-object I only see it defined for about:blank [04:04:22.0000] (at least when CMD-Fing through the page) [04:05:06.0000] any pointers would be appreciated! :) Specifically, I want to see if it should fire as part of a queued task or synchronously [04:05:47.0000] yoav: https://html.spec.whatwg.org/multipage/syntax.html#stop-parsing [04:06:01.0000] step 6 and 7 [04:07:08.0000] OK, so it should fire after a task [04:07:12.0000] Thanks! :) [04:08:07.0000] zcorpan: Do you know if there are any tests that verify that this is what happens? I suspect that's not the case in WebKit (from inspecting the code), but want to make sure [04:08:25.0000] MikeSmith: look great! https://github.com/validator/validator/issues/284#issuecomment-229920015 [04:09:42.0000] MikeSmith: hope it has the impact we're looking for. can check httparchive somehow in a year or so and see if the amount of mislabeled pages has gone down [04:11:40.0000] yoav: i see a simple test at http://w3c-test.org/html/syntax/parsing/the-end.html but it doesn't check if load is queued or sync [04:12:40.0000] zcorpan: what I'm seeing in WebKit is that for , unless I sync them, they fire after Window.onload [04:12:44.0000] how would you test it? setTimeout in DOMContentLoaded? [04:13:10.0000] zcorpan: I don't know. That's why I'm asking :) [04:13:48.0000] yoav: "The preload link element must not delay the load event of the element's node document." [04:14:04.0000] unless it was discovered [04:15:01.0000] zcorpan: yeah seems certain it can help significantly over the long run. Will push it to https://validator.w3.org/nu/ maybe later today, and hopefully nothing blows up under load. The instances behind that are each processing at least 2.5 validation requests every second. [04:17:26.0000] zcorpan: Thanks for pushing for that featureーif you hadn’t taken time to raise that request I think it’s not something I would embarked on on my own [04:17:41.0000] zcorpan: so if I have preload link for a resource which is later also part of the HTML, the load of that resource blocks the document's load event [04:17:55.0000] yoav: will send out some kind of announcement once I have it pushed to https://validator.w3.org/nu/ [04:18:02.0000] oofs [04:18:32.0000] meant that for zcorpan 😊 :) [04:18:49.0000] :) [04:19:43.0000] yoav: i suppose so. but it doesn't say what the relative ordering should be for vs window.onload in that case, does it? [04:20:05.0000] not really, no [04:20:15.0000] nor, for that matter, vs that are loading the same url [04:20:43.0000] should that be defined as part of the preload spec? [04:20:52.0000] MikeSmith: sounds good. something for the whatwg blog, maybe? :-) [04:22:06.0000] yoav: yeah i think so [04:22:33.0000] OK, I'll file an issue [04:23:09.0000] zcorpan: do you agree that logically, the resource's onload should fire before the document's onload? (like it does today for other resources) [04:24:20.0000] if something was found that reuses the same load, and it delays the load event, then yes [04:24:53.0000] no opinion on vs , but maybe should be queued first? [04:25:10.0000] no strong opinion... [04:26:16.0000] zcorpan: yeah, I don't have strong opinions on vs either (maybe discovery order, which would put first in most normal cases) [05:06:44.0000] filed https://github.com/w3c/preload/issues/69 [05:24:41.0000] zcorpan: update on the language-detection: I pushed it to https://validator.w3.org/nu/ but it is only working as expected there maybe 50% of the time :( [05:25:37.0000] from teh logs I can see the reason is that the initialization of the language identifier is failing very often [05:25:55.0000] MikeSmith: ok :-| [05:28:08.0000] a language-identifier object is getting created once for every document, and it reads some profile files each time it is created, so maybe not so surprising to have it failing a lot when that is happening 2.5 times a second [05:29:26.0000] I need to figure out how to create it just once and re-use it, but in the current structure of the rest of the checker code, it is not very clear how I can do that or if it is even possible with the current code [05:30:37.0000] create a factory which has a LRU cache? [05:30:45.0000] OH GOD I'M GOING FULL JAVA. [05:34:53.0000] zcorpan: actually I do have a specific idea and will try it [05:35:38.0000] gsnedders: maybe need a factory factory? [05:36:07.0000] heh [05:36:40.0000] zcorpan: html5lib has one of those *IN PYTHON*. [05:36:58.0000] /me wishes he was joking, but it's seriously the most sensible approach [05:37:31.0000] actually for this case, I can write (another) wrapper around the SAX reader, which is how I implemented the outline feature [05:37:57.0000] just creates another filter off the SAX events from the parser [05:38:52.0000] similar to how I already implemented it except that if I do it this way I can pass objects to it [05:39:31.0000] gsnedders: you probably could not fail at Java worse than me :) and I been writing in Java relatively often for the last 5 years or so for the validator stuff [05:40:49.0000] MikeSmith: I don't know, I've scarcely written much outside of uni, and I get the impression that there's actually much nicer ways to do many things now with some of the more recent changes [05:42:40.0000] yeah, though I don’t know most of the more recent features well until I see code that somebody else has written up that uses them (like the Salvation CSP library the validator uses now, which relies on some Java8 features) [05:42:53.0000] anyway in general I am basically just semi-randomly pulling levers and pushing buttons and banging on the side of it until something works [05:52:31.0000] Domenic: vague comment on streams API: I'm looking at making Handlebars work with streams. In their templates they have stuff like {{#if val}} - I want this conditional to be true if val is a stream that yields at least one value (since an empty array is false in Handlebars). This is tricky as the conditional is fed into a helper, but teeing will lock val. I [05:52:31.0000] want to read the first val but without consuming it. [05:52:53.0000] I guess I want .clone rather than .tee [05:54:59.0000] The helper is in the shape of function ifHelper(val), which should return true/false depending on val [07:45:05.0000] JakeA: isn't there an optional bool to clone chunks in the .tee? [07:46:03.0000] JakeA: also, isn't what you are trying to do a bit racy? what if there will be a value in the stream, but it just hasn't arrived yet? you want the to be a false? [07:46:16.0000] wanderview: I don't think so, but that's not the problem here. [07:46:29.0000] wanderview: I'm happy to wait, so there's no race [07:47:10.0000] JakeA: it waits until either a value appears or the stream is closed? [07:47:18.0000] wanderview: imagine streamEmitsAtLeastOneValue(stream).then(answer => …) [07:47:45.0000] But then I want to get that value from stream.getReader().read() [07:48:46.0000] JakeA: I think I would do this with a wrapper stream... new ReadableStream() where the underlying source contains the ReadableStream you want to observe and buffers a single value... you can then provide a promise hanging off this wrapper underlying source [07:48:58.0000] and pas the wrapper ReadableStream on to the next person in the chain [07:49:01.0000] pass [07:49:35.0000] I could tee the stream, pass one part to streamEmitsAtLeastOneValue, then continue using the other half of the tee [07:49:55.0000] But in this case I don't control the outside, I just receive a stream into a function [07:50:47.0000] JakeA: ah, yea... in that case you do have tee [07:51:55.0000] JakeA: assuming you have to have this as a separate function that takes a REadableStream arg [07:52:34.0000] wanderview: but if I tee, the original stream is locked [07:52:46.0000] JakeA: the person calling your function has to tee [07:53:02.0000] JakeA: your function is just a consuming function... so the caller has to deal with that [07:53:44.0000] wanderview: yeah, I guess I just have to put up with that. Means it doesn't work in a simple {{#if val}} template [07:54:34.0000] JakeA: can you make a HandleBarsReadableStream that gets created from the start that does the wrapping I talked about above? It could then expose its own stuff like "ever got a value promise" [07:54:58.0000] I guess I don't know enough about Handlebars [07:56:08.0000] wanderview: I could probably do it if I pull apart the guts of Handlebars. Wouldn't need to if it was like response.clone() :D [07:56:38.0000] JakeA: but you can't response.clone if anything else has touched the stream yet... seems a similar problem [07:57:07.0000] wanderview: happy to make "untouched" stream a requirement in this case [07:58:40.0000] JakeA: what are you using in handlebars? registerHelper()? [07:58:48.0000] wanderview: yeah [07:59:30.0000] Ms2ger: did you look at https://github.com/whatwg/url/issues/53 already? [07:59:42.0000] Ms2ger: seems like another issue with IDNA :/ [07:59:55.0000] Ms2ger: they really didn't do their homework and just went with what made sense it seems like [08:00:22.0000] Ms2ger: this is similar to the crypto folks at Mozilla implementing their own domain name parser and not caring about compat or consistency [08:00:33.0000] JakeA: it seems the value is passed in to the helper on the `this`, right? can you just overwrite it with the new stream out from the tee? [08:00:44.0000] annevk, no, I just wanted you to be aware of the servo change [08:00:52.0000] looking at the examples on handlebars.js.com [08:01:07.0000] wanderview: nah, `this` is the context. The conditional is passed in as the first arg [08:01:12.0000] Ms2ger: I see, it makes me all rather sad [08:01:32.0000] annevk, that we can all agree ob [08:01:33.0000] on [08:02:41.0000] JakeA: probably worth a streams issue to capture the use case [08:03:05.0000] JakeA: its kind of a common problem, though, even in c++ land I had to make our "clone a stream" possibly give back a stream to replace the argument [08:07:30.0000] sometimes you just can't clone/tee a stream without draining the original [08:08:34.0000] yeah, I think that's the conclusion I'm coming to [08:09:45.0000] having an object the stream sits on (like Response) lets you hide this by replacing the original stream [12:07:41.0000] zcorpan: reimplemented the language-detection feature as a SAX reader wrapper and that appears to have solved the problem and it now should work again 100% as expected even at https://validator.w3.org/nu/ [12:09:21.0000] and pushed it to https://checker.html5.org/ too [12:10:01.0000] so... for helping me understand more, can someone point me to discussions around inert? I've searched both irc logs and mailing lists and I can't find more than a handful of references and most of those are initial comments by hixie saying 'I added this thing'. [12:11:51.0000] bkardell: https://github.com/whatwg/html/issues/897 is possibly helpful [12:12:28.0000] gsnedders, yeah not really - I'm aware of that one too [12:13:09.0000] /me isn't really aware of anywhere better that links to stuff, and expects others can summarise better than he [12:13:57.0000] JakeA: you around? [12:14:10.0000] wanderview: ish! [12:14:49.0000] not the attribute so much even - but there is a concept in the spec called 'inert' and, for example, it would seem that disabled elements are inert. inert is part of the magic of the platform, yet I'm not entirely sure how it works even [12:15:20.0000] JakeA: what would you expect this to do? let swc = frame.contentWindow.navigator.serviceWorker; frame.remove(); console.log(swc.controller); [12:15:40.0000] JakeA: throw or just return undefined for controller? [12:17:23.0000] wanderview: let's go for undefined [12:17:56.0000] sounds good [12:17:56.0000] thanks [12:18:27.0000] JakeA: I'm adding a WPT test for this corner case [12:23:16.0000] wanderview: Cheers! [12:23:19.0000] Good catch [12:24:41.0000] JakeA: or not... I'm not sure the case I'm trying to test is actually triggered by frame.remove()... [12:26:50.0000] oh, it is... just bugs :-\ [13:26:11.0000] ugh, scratch my misread about disabled elements are inert above :( [13:34:49.0000] is there any tool to go through all the known specs to check whether they refer to some terminology defined in HTML (or other) spec? [13:52:12.0000] bkardell: at the moment inert is just for dialog [13:55:50.0000] smaug____: No, there's no spiders yet that track cross-linking. [13:59:22.0000] I've been thinking of writing a spider anyway (and switching Bikeshed to it, rather than relying on Shepherd), and this might be a good intro. [13:59:42.0000] Oooooh, I was wanting a learner project for Rust smaller than "rewrite Bikeshed", and I bet this would work great. [14:28:18.0000] some kind of cross-linking tracker would be really nice for cases link in-document handling, where introducing shadow DOM changes lots of things [14:29:17.0000] and if we had cross-linking tracker, perhaps then HTML spec could be split to smaller, more manageable pieces. maybe. not sure it is a good idea. maybe it is. 2016-07-02 [17:00:01.0000] There are very few pieces of HTML that are separable [17:00:05.0000] Microdata, perhaps :) [17:05:38.0000] Domenic: challenge accepted :) [05:27:23.0000] First give me cross-linking in multipage :) [05:27:38.0000] I don't want to have 50 tabs of full HTML spec open just so I get cross-linking [07:40:37.0000] Manishearth: just make Servo render it quickly [07:40:59.0000] Manishearth: and fix the crashes 😊 [09:38:49.0000] annevk: haha 2016-07-03 [00:12:02.0000] hi :) 2016-07-04 [20:59:06.0000] mkwst: FYI https://stackoverflow.com/questions/38176441/block-all-mixed-content Wondering what the current browser support is for CSP block-all-mixed-content. I thought Firefox and Chrome both already supported it at least, but comment there is “Unfortunately block-all-mixed-content doesn't work in Firefox” [21:00:25.0000] mkwst: and please post an answer or comment to that SO question if you have other info as far as “Is there a cross-browser way” [00:20:57.0000] MikeSmith: I'm pretty sure Mozilla folks implemented it. /cc dveditz_. [00:21:22.0000] k [00:23:44.0000] https://bugzilla.mozilla.org/show_bug.cgi?id=1122236 -- it's in Beta now (Firefox 48) [00:24:31.0000] MikeSmith: ^^^^ [00:24:51.0000] /me looks [00:25:11.0000] w00t [00:25:14.0000] dveditz_: thanks! [00:25:49.0000] (and now off to bed for me) [00:59:03.0000] zcorpan: FYI https://lists.w3.org/Archives/Public/www-validator/2016Jul/0001.html somebody saw the new lnag warning and tried doing to fix it [01:00:07.0000] zcorpan: A tradeoff with the way I ended up implementing this to get around the other earlier problem is that now I unfortunately cannot report the line+column number of the html element in the warning message [01:02:45.0000] MikeSmith: :-| i guess "the html element start tag" is too much jargon? Maybe add an example with doctype + html start tag in the message? [01:03:04.0000] yeah [01:03:08.0000] I suppose so [01:03:13.0000] will change it to that [01:03:26.0000] do you have the html token available to build the message? [01:04:02.0000] yes [01:04:24.0000] with the attributes [01:05:15.0000] though not the lexical bits, like whether the attribute values are quoted or not [01:05:34.0000] or whitespace/newlines inside the start tag [01:06:12.0000] sure, but would be cool to have the right attributes in the example :-) [01:07:02.0000] another thing i noticed when looking at httparchive examples was that pages that use html5boilerplate with IE conditional comments around tag sometimes neglect to change the langs for IE [01:41:32.0000] zcorpan: oh yeah the other day you pointed me at an example of that I think [01:42:19.0000] I hope I don’t need to end up implementing a comment parser to catch and report those... [01:45:33.0000] MikeSmith: planning on updating https://github.com/whatwg/html/pull/1470? [01:48:02.0000] annevk: yes, will do right now. Thanks for finishing the review and sorry for not getting back it yetーbeen working on this lang-detecting feature in the HTML checker. [01:48:10.0000] does anyone here know if there is a way to detect if a IME is open or not? e.g. on a keydown event? [01:48:34.0000] g4: kochi might know [01:51:37.0000] MikeSmith: sounds like that would be more fun; no worries [02:06:20.0000] MikeSmith: http://stackoverflow.com/questions/38178184/this-document-appears-to-be-written-in-french-w3-validator-warning [02:08:23.0000] MikeSmith: https://forums.adobe.com/thread/2175784 [02:10:18.0000] i suppose with 99.something confidence it will get it wrong in 0.something of cases [02:11:17.0000] annevk: done I think, review fixes for https://github.com/whatwg/html/pull/1470 [02:11:29.0000] /me looks at zcorpan links [02:12:18.0000] on the good news side https://github.com/sumBTC/TheBitcoinEcosystem/commit/88e3adc5a6eedeeef467ced8795a523c6c830237 🙂 [02:16:41.0000] zcorpan: about the false-positive possibility, yeah I was aware that could happen, especially with documents that aren’t sentences and paragraphs of text but instead just menus or links [02:17:59.0000] the library has an API for examining the probability data, so perhaps I will need to implement something a bit smarter using that [02:20:44.0000] MikeSmith: if i specify i get two warnings. empty string is an allowed value and means language is unknown, but... i suppose nobody deliberately uses it on purpose [02:21:46.0000] zcorpan: still I should try to fix that [02:21:47.0000] MikeSmith: yeah that seems like a good idea; if I validate a doc with lots of numbers and one actual word, it triggers the warning but probability will be low [02:22:00.0000] right [02:22:16.0000] or even just with lots of spacs and newlines [02:22:37.0000] SAX API does not give a good way to discard whitespace [02:23:34.0000] I just collect characters regardless [02:24:12.0000] hmm... you just collect the characters and don't particularly care about tags, right? so

foo

bar will be one word "foobar"? [02:32:14.0000] g4: within what is available today, you need to handle 'compositionstart' and 'compositionend', and IME is active between the two events. [02:33:29.0000] g4: depends on what you define as "IME is open", YMMV. [02:33:43.0000] zcorpan: yeah it would be [02:34:38.0000] g4: for instance, if you turn on IME on windows, your IME is kind of open, but composition* events happen only after you start actual typing. [02:34:44.0000] annevk: I think I missed one “creating a potential-CORS request” that I need to add the destination param to [02:34:59.0000] MikeSmith: ok [02:35:19.0000] MikeSmith: do you agree that "_destination_ set to the empty string" should become "the empty string" [02:35:38.0000] annevk: yup, that is more clear, more simple [02:35:46.0000] already pushed that change just now [02:36:19.0000] MikeSmith: i don't know how much it affects the results, but knee-jerk fix if it messes things up (e.g. for menus with no whitespace between tags because minimizers), is to append a space for a set of block-ish elements like p, li, h1... [02:36:36.0000] for the end tag [02:37:14.0000] ah I see, looks pretty good now MikeSmith, will wait for that final fix then [02:37:32.0000] annevk: OK, about that, can you please take a second to look at line 86229 on that branch? the algorithm

Fetching scripts
[02:39:03.0000] annevk: it seems like it needs to specify, url, *the empty string*, and CORS setting, right? [02:39:28.0000] MikeSmith: no [02:39:32.0000] oh [02:39:36.0000] good thing I asked [02:39:38.0000] MikeSmith: it needs to be "script" from a following step [02:39:45.0000] oh [02:39:52.0000] /me re-reads [02:39:58.0000] MikeSmith: and you then need to remove that destination setting in the following step [02:40:32.0000] annevk: oh, maybe will create a separate PR for that then? [02:40:50.0000] because that is a different change than what we are doing in this PR [02:41:13.0000] and can just land this one first since it is otherwise OK [02:41:14.0000] MikeSmith: I think it's better to do it as part of this PR since you change the signature of "create a potential CORS-request" [02:41:20.0000] ah OK [02:41:24.0000] fair enough [02:41:38.0000] MikeSmith: since if you land this patch, the invocation there results in an error theoretically [02:41:44.0000] right [02:41:50.0000] yup [02:42:12.0000] ok then I will need to do that after a bit, since I gotta drop off soon to catch the bus+train back home [02:43:02.0000] okido [02:48:45.0000] annevk: thanks for the careful review [02:57:38.0000] kochi: very useful! Did not know about those events. Thanks! [05:17:46.0000] I missed an "Opera did it first" in https://github.com/whatwg/html/issues/1482 [08:01:33.0000] quiz time https://twitter.com/zcorpan/status/749976380247605248 [08:04:19.0000] Dammit [10:18:42.0000] what why [10:18:52.0000] one day i will get a htmlquiz [10:22:56.0000] annevk: OK just pushed that one remaining “creating a potential-CORS request” change [10:23:08.0000] (the the PR branch) [10:46:31.0000] MikeSmith: \o/ [10:47:30.0000] w00t [10:47:32.0000] thanks [13:48:48.0000] MikeSmith: https://github.com/validator/validator/issues/315 2016-07-05 [23:27:17.0000] It's a little unclear to me whether https://github.com/whatwg/html/pull/1492 needs further review [23:27:29.0000] I guess/hope Domenic is asleep already [23:51:13.0000] annevk: seems like you probably want to wait til Domenic is around [23:59:11.0000] botie, inform zcorpan rather than adding space around text only from the elements listed in https://github.com/validator/validator/issues/315#user-content-space-before-after why don’t I instead just always put space around it from any element regardless (with the exceptions for script, style, math, svg, template [23:59:11.0000] will do [00:16:36.0000] zcorpan, at 2016-07-05 06:59 UTC, MikeSmith said: rather than adding space around text only from the elements listed in https://github.com/validator/validator/issues/315#user-content-space-before-after why don’t I instead just always put space around it from any element regardless (with the exceptions for [00:16:36.0000] script, style, math, svg, template [00:20:38.0000] MikeSmith: i figured sometimes the inlines are used without intending to break up words (like , , ...) [00:21:09.0000] zcorpan: ah true [00:44:09.0000] MikeSmith: looking at httparchive it seems to be a mixed bag of expectations; sometimes separate words appear across a tag boundary and sometimes a single word spans the tag boundary [00:45:50.0000] probably more common with separate words [00:51:07.0000] OK [03:07:45.0000] annevk: why does the "encode" spec concept start by asserting the _encoding_ isn't replacement, UTF-16BE or UTF-16LE instead of starting by setting _encoding_ to its _output encoding_? [03:13:42.0000] hsivonen: probably because you need to do that ahead of time [03:14:04.0000] hsivonen: otherwise metadata elsewhere would get faulty [03:14:14.0000] annevk: good point. thanks. [03:15:22.0000] encoding-rs now has "decode" and "decode_with_replacement" and similarly "encode" and "encode_with_replacement" [03:15:51.0000] I wonder if I should have "decode_without_replacement" and "decode" and "encode_without_replacement" and "encode" instead... [03:17:34.0000] BOM handling works the other way round [03:17:55.0000] the short name gives you bom sniffirng and there are longer names to opt out [03:22:15.0000] hmm. I suppose I should make the ones that can fail *_without_replacement and drop _with_replacement from the names [03:22:19.0000] annoying [03:22:29.0000] that'll affect a lot of code [03:23:41.0000] But that's the logical conclusion if I want to make the short obvious names both obvious spec-wise and want to make the short names to steer the user to do what's most likely the right thing [03:24:15.0000] *sigh* [04:46:09.0000] alwu: did you want to take a stab at fixing cue identifier in the spec, or should i? [05:11:38.0000] annevk: re https://github.com/whatwg/html/pull/1500 what kinds of navigations are being excluded with the new text? [05:12:27.0000] zcorpan: setting .data to "sameurl#test" [05:27:04.0000] annevk: like this? http://software.hixie.ch/utilities/js/live-dom-viewer/saved/4300 [05:28:01.0000] JakeA: is there a header for ? [05:28:15.0000] JakeA: or maybe thats just http2 push [05:28:26.0000] zcorpan: yeah, though I'm not sure what's going on there [05:28:40.0000] annevk: me either :-) [05:29:07.0000] zcorpan: the main thing with .data and also embed is that they first fetch, and then navigate to the response of that fetch [05:29:14.0000] zcorpan: rather than navigating a request [05:30:20.0000] wanderview: it might be implemented, but preload is a bit different from http2 push. see https://www.smashingmagazine.com/2016/02/preload-what-is-it-good-for/ [05:32:11.0000] zcorpan: I was asking specifically in the context of https://github.com/slightlyoff/ServiceWorker/issues/920 [07:01:17.0000] hey there! [07:04:40.0000] may I ask a little thing about URL standard design? [07:05:23.0000] Alv-c: sure [07:10:54.0000] I'm actually working on a C++ URL parser following the whatwg URL standards, and I noticed that url `query` is not `UTF-8 percent encode`d. But if I create a new URL instance in javascript it does. Is it related to `x-www-form-urlencoded`? Should I encode url `query` in my implementation [07:11:41.0000] Sorry if it's inappropiate to ask questions here :P. This is my first time using irc [07:13:07.0000] Alv-c: per https://url.spec.whatwg.org/#query-state the default is certainly UTF-8 [07:13:37.0000] Alv-c: but the encoding can also be coming from the document for certain APIs defined in HTML, such as [07:14:01.0000] Alv-c: since that's legacy it's a feature exposed through the URL API [07:14:18.0000] Alv-c: it's *not* a feature exposed through the URL API, doh [07:15:21.0000] (And IRC is a fine place to ask questions.) [07:15:30.0000] zcorpan: FYI https://github.com/validator/validator/commit/5ff6fe8331fff08bdb98301a360543e5149fdb43 [07:16:25.0000] zcorpan: will only emit a warning if it ia 90% confident it found the right match [07:19:08.0000] Oh! I see. Thank you annevk [07:21:15.0000] I hope it's not too bad to only support UTF-8 d: [07:21:58.0000] Alv-c: really depends on your goals, probably mostly fine [07:25:11.0000] I'm ashamed now, btw, because the reason why my implementation wasn't percent-encoding query parameters was because I misunderstood "If byte is less than 0x21, greater than 0x7E, or (...)" with "if byte is less than 0x21 AND greater than 0x7E". Like saying "if is less than 2 and greater than 10". Thanks god I didn't push to github yet [07:25:19.0000] Again, thank you annevk. [07:35:49.0000] MikeSmith: nice [07:41:22.0000] MikeSmith: it seems xml:lang in the code is xml:lang in no namespace. it should be lang in the XML namespace instead [07:44:16.0000] MikeSmith: https://github.com/validator/validator/blob/5ff6fe8331fff08bdb98301a360543e5149fdb43/src/nu/validator/servlet/LanguageDetectingXMLReaderWrapper.java#L157 - similarly this should also check if namespace is "" [07:48:35.0000] zcorpan: actually there is another part of the validator code that seems to always put that lang into the http://www.w3.org/XML/1998/namespace namespace [07:49:06.0000] that caused me a lot of confusion when I was writing and testing that code [07:49:08.0000] ah, yeah, i remember something about that [07:50:50.0000] yeah the current logic there matches what the rest of the validator backend actually exposes to that code at that point [08:16:56.0000] wanderview: yeah, see example 2 at http://w3c.github.io/preload/#h-introduction [08:17:45.0000] JakeA: ah, cool... seems PlzNavigate could boost the preload priority for things it sees during its own "preflight" [08:18:14.0000] correct answer posted for https://twitter.com/zcorpan/status/749976380247605248 [08:19:23.0000] wanderview: makes sense. Still trying to fit all the use-cases in my head [08:19:36.0000] But still not convinced on Alex's proposal. Seems to narrow and hacky. [08:20:01.0000] JakeA: but it seems like maybe some of this is doable as H2 push? although I guess this POST might not end up in http cache? [08:20:25.0000] JakeA: there is something to be said for a narrow API change now that allows us to do a general purpose API change later when we have more data [08:21:39.0000] wanderview: how H2 push interacts with the cache are grossly underspeced as far as I know [10:40:15.0000] H2 push doesn't put SW in control of networking [10:57:26.0000] annevk: why not? if its in the http cache you can access it via fetch(sameOriginURL, { cache: 'only-in-cache' }), no? [11:16:10.0000] wanderview: it means a connection was established somehow without SW being in control [11:25:30.0000] annevk: isn't that exactly what is being requested in this use case... [11:31:02.0000] wanderview: yes, and without opt-in it's bad [12:28:31.0000] Domenic: how does GetV(O, P) ever return with an abrupt completion in PromiseInvokeOrNoop() step 3? [12:32:10.0000] wanderview: FWIW, he might be away today, apparently a Google US holiday [12:32:44.0000] thanks... I'll write an issue [12:35:12.0000] I guess if the O is null or undefined [12:35:44.0000] wanderview: PromiseInvokeOrNoop({ get foo() { throw new Error("boo"); } }, "foo")? [12:36:00.0000] ah, a throwing getter [12:36:01.0000] ok [12:39:28.0000] Domenic: why does ValidateAndNormalizeHighWaterMark() throw a TypeError for NaN? seems like elsewhere we use RangeError for this [12:39:42.0000] wanderview: for NaN in particular? hmm. [12:39:54.0000] Domenic: step 2 here https://streams.spec.whatwg.org/#validate-and-normalize-high-water-mark [12:39:59.0000] yeah [12:40:26.0000] It does seem like it would be cleaner to just use IsFiniteNonNegativeNumber everywhere and throw RangeErrors if not [12:40:27.0000] Domenic: seems like it should just use IsFiniteNonNegativeNumber() to me [12:40:32.0000] yea [12:40:54.0000] File an issue? [12:41:39.0000] Domenic: added a comment here: https://github.com/whatwg/streams/issues/475#issuecomment-230581097 [12:46:14.0000] Domenic: finally made finished my first pass through the js for the refactored ReadableStream spec! [12:46:17.0000] now to make it actually work [12:46:22.0000] \o/!! [12:49:34.0000] Domenic: have you guys done any work to figure out how streams should work across compartments? like `new frame.contentWindow.ReadableStream({ start: frame2.contentWindow.streamStart }) [12:50:00.0000] added points for one or the other globals being privileged [12:50:16.0000] wanderview: nothing special. I think it just falls out of JS semantics? :-/ [12:50:55.0000] Domenic: maybe its a spidermonkey issue... but I will probably have to write tests to exercise all these combinations [12:51:20.0000] since we might need special unwrapping to see object types [13:58:57.0000] hmm, dead pixel :-( [14:07:22.0000] rip 2016-07-06 [00:26:53.0000] zcorpan : hi! [00:27:25.0000] alwu: hi [00:27:25.0000] privet, zcorpan [00:27:37.0000] botie, go away [00:27:37.0000] zcorpan: sorry... [00:28:31.0000] zcorpan, morning! could you help me to check this issue :) ? https://github.com/w3c/webvtt/issues/310 [00:29:24.0000] alwu: argh, i had written a detailed reply to that, apparently it didn't come through :'( [00:29:48.0000] thx for heads-up [00:32:50.0000] thanks you too! I think I need to figure how to parsing cue identifier more clearly before committing a PR :) [00:38:36.0000] commented [00:44:04.0000] since the position is pointing to the timestamp, the cue can be parsed correctly, but the cue identifier can't be parsed correctly. [00:44:54.0000] that means all identifiers wouldn't be parsed correctly in that file because they contains "-->" ? [00:45:07.0000] zcorpan ^ [00:45:37.0000] alwu: right, they would all have empty string as identifiers [00:46:54.0000] zcorpan : cool! thanks for explanation! and I have another question [00:46:54.0000] that's intentional :-) [00:46:59.0000] ok [00:48:14.0000] in "Cue creation", the buffer is still empty. [00:48:33.0000] for this file, yes [00:48:36.0000] that means even we set the cue identifier to buffer, the identifier is still wrong value [00:49:08.0000] oh [00:49:22.0000] not if there are blank lines between cues [00:51:07.0000] so, for the valid identifier, there would have run the "Loop" twice. In first time, it sets the 'line' to 'buffer'. In second time, we create the cue, and then set the 'buffer' to identifer. [00:51:10.0000] is that right? [00:54:55.0000] ...set the identifier to 'buffer' :-) [00:55:33.0000] but yes [00:57:40.0000] ok thanks :) [02:26:44.0000] zcorpan: stuff LGTM [02:26:51.0000] zcorpan: dunno if you want someone else to sign off too [02:27:55.0000] annevk: thx. probably ok to merge it [02:28:02.0000] zcorpan: actually... [02:28:21.0000] zcorpan: should the caption thing be put together with the other stuff that is text-align: center? [02:29:11.0000] zcorpan: thead[align=absmiddle i] et al [02:29:35.0000] annevk: since there's no attribute to control it i think it shouldn't be a preshint [02:29:52.0000] not that people care much about the distinction [02:30:07.0000] I see [02:30:20.0000] We should start testing the difference at some point maybe [02:30:28.0000] Or just remove the concept [02:30:33.0000] zcorpan: anyway, LGTM [02:34:25.0000] i started writing tests for the rendering section a while back (ignoring UA style vs preshint), but it got too clumsy. need to go back and think of a better way to test [04:52:56.0000] Whoa, issue 52 is almost fixed [04:53:00.0000] Good times [05:26:16.0000] heh yeah that one has taken a while :-) then i need to structure up that section with subsections etc [05:26:50.0000] live dom viewer doesn't work in Servo :-| [05:28:49.0000] It uses doc.write, does it not? [05:30:39.0000] yep [05:32:35.0000] Patches welcome ;) [05:34:01.0000] can't be much harder than about:blank? [05:34:49.0000] document.write is hard. [05:37:26.0000] nox: i know, i was trolling. :-) about:blank is also hard [05:58:47.0000] var p1 = Promise.resolve(); p1; //must be in fulfilled state, right? [06:02:30.0000] howdoi: yeah, though you can't observe it until some microtask [06:03:22.0000] var p1 = Promise.resolve(); [06:03:22.0000] var p2 = Promise.reject(); [06:03:22.0000] var p3 = new Promise(() => {}); [06:03:41.0000] annevk: P1; says Promise { undefined } [06:04:35.0000] why not Promise { }? [06:10:01.0000] zcorpan: what's so hard about the rendering section? [06:10:04.0000] dunno, prolly depends on internals [06:11:29.0000] gsnedders: the approach i tried was to include all relevant elements and then check everything in getComputedStyle for each element, but it quickly became messy and didn't work [06:56:53.0000] Ms2ger: https://github.com/whatwg/html/issues/928 ping [06:57:41.0000] annevk, ? [06:57:54.0000] Ms2ger: it's not clear to me there's an issue [06:58:54.0000] If you navigate a page, does the former document not still have a browsing context? [07:03:29.0000] hmm [07:04:02.0000] ta [07:08:19.0000] Np :) [08:13:07.0000] programmatically identifying the state of a promise is a pain! [08:13:15.0000] why not we have Promise.inspect? [08:13:29.0000] What would that do? [08:14:28.0000] Tell us the state of the promise [08:14:28.0000] will do [08:14:43.0000] may it be sync API, or may it return a promise [08:14:58.0000] pending, rejected, resolved, canceled ... [08:15:21.0000] makes sense? [08:15:37.0000] Why would I need to know in which state a promise, though? [08:15:44.0000] a promise is* [08:16:00.0000] That's been proposed long ago, but I don't think anyone is trying to get it through TC39 [08:16:07.0000] You could give it a go [08:20:44.0000] It doesn't appear to have any use cases we can find [08:21:50.0000] howdoi: Why do you need this? [09:28:11.0000] howdoi: "Promise { undefined }" (I presume this is DevTools telling you about the promise?) is because it's fulfilled with the value `undefined`. [12:26:07.0000] annevk: yt? [12:26:18.0000] Domenic: yt? [12:26:26.0000] rniwa: yep [12:26:48.0000] Domenic: do you recall where assignedSlot is supposed to be defined? [12:27:01.0000] Domenic, annevk: I thought we had agreed to add it on Element & CharacterData? [12:27:07.0000] the spec says it's defined on Text & Element: https://dom.spec.whatwg.org/#mixin-slotable [12:27:39.0000] Hmm yeah I haven't been much involved in those discussions [12:28:31.0000] oh maybe it got updated as a result of https://github.com/w3c/webcomponents/issues/351 [12:28:55.0000] https://github.com/w3c/webcomponents/issues/411 [12:29:42.0000] Domenic: oh thanks [12:31:20.0000] CharacterData would make more sense... but WebKit didn't like it [12:31:44.0000] annevk: well, in terms of assigning yes, [12:31:53.0000] annevk: but there's no harm in having a property there [12:32:34.0000] Hmm, if it's always going to return null I'd rather add it when it might no longer return null [12:33:07.0000] annevk: yeah, that argument makes sense to me [12:33:28.0000] annevk: I just didn't realize that this change was made in conjunction with the types of nodes that could be assigned [12:33:58.0000] annevk: to be fair, we could support assigning CharacterData in general if we tried. It was just not trivial for us to support [12:34:14.0000] since they aren't rendered anyway [13:47:28.0000] TabAtkins: [CEReactions] doesn't seem to be auto-linking in DOM IDL blocks even when using bikeshed web service (i.e. latest updates) :( [15:36:02.0000] Hey all, I had a quick question about CORS & CORS headers. I understand the need for Access-Control-Allow-Origin as it relates to sending/receiving cookies. But I don't understand why there isn't a client configurable option to just say "I don't want to access the cookie state the browser is maintaining for this site" and skip all the header validation. At that point it's the same as an HTTP request from any random client right? [15:36:46.0000] jrenner_: sadly no, because e.g. my computer can access Google's intranet [15:37:16.0000] jrenner_: I don't want any website I visit to be able to make requests to trigger actions (or even just discover the existence of certain pages on) Google's intranet [15:37:47.0000] Similarly your computer likely has access to an "intranet" which includes a router configuration page [15:37:52.0000] (If it's anything like my home computer) [15:38:33.0000] ah right :/ yeah that makes sense. Has there been any looking into a permissions-based system like camera usage for making requests to other domains? [15:38:50.0000] The problem is coming up with a permission prompt that makes any sense to users [15:39:25.0000] ah yeah, sounds nice to me but my mom would have no idea what to do [15:39:39.0000] I guess it doesn't sound impossible now that I think harder [15:39:58.0000] Like it could just be "My newsreader app would like to be able to communicate with facebook.com" [15:40:04.0000] Yeah [15:40:22.0000] And I guess you just hope users don't get used to auto-granting those? And click "yes" even when it says "192.168.0.1"? [15:40:58.0000] Maybe annevk remembers these discussions more. (It's getting on to his bedtime though.) [15:41:54.0000] hmmm I'm inclined to write it off and say people are already running random code on their phones and laptops, but that's not really a good excuse [15:43:17.0000] Right, they have implicitly granted trust to that code by installing them, and also app stores can revoke apps that misbehave [15:43:31.0000] https://annevankesteren.nl/2016/07/web-computing was just posted today and touches on that contrast [15:48:38.0000] hmmm if only there was a semantically understandable way to "upgrade" a web app into being something more local. [15:49:02.0000] I mean we're seeing some experimentation there [15:49:13.0000] But that still doesn't help much with the review and revocation issues [15:49:29.0000] And there's XSRF and XSS [15:54:57.0000] I mean, presumably XSRF and XSS wouldn't be affected by an extra set of trust semantics. I think... supposing you limit the permissions to scripts from the host that requested them [15:56:00.0000] sure but the point of XSRF and XSS is to get the host to execute code on your behalf :) [15:59:03.0000] well XSRF can be covered by simply not re-using the cookie when these requests are made, and XSS is... I guess still a problem if someone managed to embed some JS as the host in a trusted environment... [16:01:04.0000] I don't think these problems are unsolvable [16:01:25.0000] I think you'd want some kind of mega isolation mode (with lots of CSP headers and stuff) [16:01:56.0000] and you'd want to build remote revocation infrastructure in, kind of like the safe browsing list [16:02:22.0000] with those in place, a permissions prompt asking for permission to access the third-party origin might work [16:03:02.0000] mega-isolation mode is where most the handwaving is [16:04:10.0000] hehe yeah... and there's a lot of question of how much we would could/need to protect the user from the trusted host being vulnerable 2016-07-07 [00:43:34.0000] Is the dom manipulation task source guaranteed to only be used in window scopes? [00:54:40.0000] Ms2ger: I'm very skeptical that task sources are actually well organized and used [03:58:15.0000] annevk: https://hsivonen.fi/rs/encoding_rs/ in case you have comments on the API [04:02:59.0000] hsivonen: looks pretty good [04:03:55.0000] hsivonen: I have a large backlog of standard issues so still need to solve layering between HTML and Encoding [04:04:27.0000] hsivonen: but from your feedback that should not change much API-wise [04:11:22.0000] annevk: yeah, that wouldn't change this API in practice [04:12:50.0000] hsivonen: I like the introduction too [04:15:29.0000] hsivonen: the one thing that is a little weird is that you stress UTF-16 is important for Gecko, but you also don't want to invest in perf there [04:16:17.0000] hsivonen: it seems for integration with Gecko and the OS, UTF-16 perf is important, even though it's ASCII-incompatible and Web-wise uninteresting [04:39:45.0000] are there any articles on Custom Elements v1 that provide some guidance/interpretation/... on top of the spec? all I can find are v0 write-ups [04:40:29.0000] (e.g. I seem to recall there was a flag to activate v1 in Chrome, but can't seem to find it) [04:47:29.0000] FND: http://hayato.io/2016/shadowdomv1/ [04:49:45.0000] annevk: thanks - but that doesn't seem to cover Custom Elements? [04:53:53.0000] Doh, not sure there's an equivalent [04:56:01.0000] bummer - it seems a bit tricky to get started if you're not privy to the face-to-face discussions [05:03:25.0000] FND: HTML Standard has examples [05:04:06.0000] FND: most discussion is on GitHub, but no summery yet [05:04:28.0000] FND: also don't think anyone is shipping yet [05:04:57.0000] yeah, that's fair - I wasn't really complaining, just pointing out that it feels a bit weird at the moment [05:05:14.0000] so I'll probably stick with v0 for now and port when the v1 ecosystem is a bit more advanced [05:07:32.0000] The IndexedDB spec makes me sad. [05:07:41.0000] It seems quite hand-wavy on the task queuing front. [07:57:57.0000] annevk: I mean I don't want to invest in the perf of UTF-16 as a network-facing encoding [07:58:12.0000] annevk: I do want to invest in the perf of UTF-16 as the in-RAM encoding [07:58:21.0000] annevk: I guess I will need to clarify that [07:59:12.0000] hsivonen: that makes sense, just adding "unless it helps the browser case" is probably sufficient [07:59:55.0000] UTF-16 as a sequence of u16 needs perf. UTF-16 as a sequence of u8 doesn't [08:01:40.0000] annevk: in practice, I mean that I'm not going to write an SSE2 fast path for ASCII for UTF-16BE, UTF-16LE or ISO-2022-JP [08:02:15.0000] I do intend to write SSE2 acceleration from ASCII to in-RAM UTF-16 Basic Latin [08:02:57.0000] which will be reusable across the ASCII-compatible encodings [08:02:58.0000] hsivonen: do we use SIMD today? [08:03:18.0000] annevk: only to accelerate ASCII to Basic Latin when decoding UTF-8 [08:03:29.0000] but not for the other ASCII-compatible encodings [08:04:18.0000] the old decoders aren't well-designed enough for the acceleration to generalize [08:05:01.0000] which is one reason to do a full rewrite [08:06:17.0000] hsivonen: SIMD doesn't make sense for variable-width? [08:06:49.0000] I guess the simultaneous processing doesn't really work anymore at that point [08:07:10.0000] it might, but let's start with parity with the old UTF-8 decoder, which accelerates ASCII only [08:07:49.0000] there exist UTF-8 decoders that use SIMD for more, but they aren't suitably licensed, so I haven't looked at the details [08:14:40.0000] hsivonen: https://woboq.com/blog/utf-8-processing-using-simd.html has some analysis on different strategies [08:27:13.0000] Am I reading it right- https://notifications.spec.whatwg.org/#constructors step #2 means Notifications can not be launched from a ServiceWorker? [08:28:07.0000] I was intending to make a small app to set a "look away from screen" reminder for myself, and was hoping I could implement the app chiefly as a service worker that pops up a notification [08:58:45.0000] rektide: just use showNotification [10:35:48.0000] annevk: IIRC that one is LGPL [10:41:01.0000] annevk: also, it uses more than just SSE2 and Rust is currently bad at using intruction set extensions conditionally depending on the run-time-detected capabilities of the CPU [10:43:39.0000] hsivonen: you can depend on 2 being available but not 4, or some such? [10:50:55.0000] Anyway, the wins relative to iconv are pretty cool [14:17:42.0000] jgraham: i'm pondering if it's possible to display passed assertions in testharness.js in the results table (maybe a new column), but i don't know if it's possible to associate an assertion with a test (other then when it throws)... other than when file_is_test is true [14:41:23.0000] still could be useful for file_is_test tests [15:08:58.0000] zcorpan: what's the use of that? [15:09:33.0000] zcorpan: and assertions are always kinda linked to tests insofar as if they fail the test fails [15:10:26.0000] gsnedders: give some confidence that the assertions have run at all (with async tests it's not obvious) [15:11:40.0000] and see the order the assertions ran in, seems useful for debugging or when writing tests [15:13:07.0000] also https://groups.google.com/a/chromium.org/d/msg/blink-dev/rDKsRjVYsZM/71w4_y6HBQAJ [15:19:36.0000] Does Edge support data: urls? [15:21:06.0000] smaug____, yep I think so [15:21:20.0000] anyone with Edge then :) [15:21:27.0000] want to test something simple [15:21:32.0000] data:text/html, [15:21:42.0000] does that multiple do anything special [15:27:15.0000] lol can't paste data URLs in Edge [15:27:30.0000] It does not [15:27:52.0000] I think Hixie just added that one day without implementer commitment :-/ [15:43:28.0000] are "https://foobar.com" and "https://foobar.com:443" supposed to be same-origin or not? Blink thinks they are not same-origin, while chromium outside of blink thinks they are... [15:44:14.0000] actually, never mind, they both think they are not same-origin, my bug was somewhere else [15:46:18.0000] no, scratch that, it does have that inconsistency... [15:51:53.0000] or maybe it doesn't matter because in practice you'll never get an explicit port in a url when the port is the default port for the scheme... [15:53:46.0000] I haven't checked against our URL spec reference implementation, but I believe per https://url.spec.whatwg.org/#default-port and its one reference, once parsed those two URLs are supposed to be indistinguishable, which would mean the origin check would call them equal [15:57:20.0000] yeah, that indeed seems to be the case, thanks 2016-07-08 [22:49:03.0000] Domenic: was added per https://www.w3.org/Bugs/Public/show_bug.cgi?id=13154 which seems to have had at least some interest from Mozilla [22:51:26.0000] Ah, looks like you found that too [01:36:41.0000] botie: inform smaug____ should give the widget two handles. as a data point, the audience really liked this feature when LeaVerou presented it at CSSDay.nl (she wrote a polyfill for it). https://leaverou.github.io/multirange/ [01:36:41.0000] will do [03:02:36.0000] maybe we should move the IDL stuff from the obsolete section into the main IDL block, with "// obsolete" instead? [03:02:55.0000] smaug____, at 2016-07-08 08:36 UTC, zcorpan said: should give the widget two handles. as a data point, the audience really liked this feature when LeaVerou presented it at CSSDay.nl (she wrote a polyfill for it). https://leaverou.github.io/multirange/ [03:05:04.0000] zcorpan: right. has been in the spec for years and no one has implemented it [03:05:59.0000] smaug____: yeah [03:19:22.0000] /me goes offline until august 9th, reachable on twitter [03:22:13.0000] ah yeah, I'm away next week, not sure if I'm reachable, will have to find out [03:33:33.0000] happy holidays [04:28:50.0000] hmm, have people started to use sync XHR more again [04:29:18.0000] at least I think I've seen more sync XHR usage related bugs [04:44:12.0000] annevk: yeah, we are not *finally* allowed to depend on SSE2 being available, but unconditionally depending on SSE4 being available is not OK [04:45:18.0000] annevk: well, more precisely, right now, we are allowed to depend on SSE2 on Mac and Windows, but Linux getting dragged closer to the present day is just a matter of time [04:47:51.0000] I expect Mozilla-official builds for Linux to start requiring SSE2 when Rust becomes mandatory at the latest [04:58:35.0000] s/not/now/ [06:29:07.0000] (OS X never shipped on any Intel hardware without SSE2, did it?) [06:29:36.0000] (Oh, SSE2 is even older than I remembered. Definitely didn't, then.) [06:44:43.0000] https://w3c.github.io/IndexedDB/#dom-idbfactory-open [06:44:56.0000] When in the spec is the IDBOpenDBRequest's done flag set to true...? [07:22:20.0000] nox: I recommend filing bugs for all grievances [07:22:27.0000] Ok. [07:22:28.0000] nox: jsbell should be able to fix them [07:22:54.0000] nox: but his timezone is suboptimal [07:23:06.0000] Moon Time? [07:23:33.0000] SF [08:26:37.0000] Domenic: FWIW, createDocument seems to return XMLDocument (in case you were thinking about removing that interface) [08:44:50.0000] smaug____: see issue against DOM Standard [10:05:58.0000] I'd like a topic that covers browsing context / document lifecycle [10:06:07.0000] And maybe one for event loop? [10:06:36.0000] There's still quite a bit of handwaving there [10:56:24.0000] <__n0aaaaa> Hello, could someone explain me what they mean by API base URL in https://www.w3.org/TR/XMLHttpRequest/#dom-xmlhttprequest-open [10:56:31.0000] <__n0aaaaa> is it location.href? [10:56:38.0000] <__n0aaaaa> or location.origin? [10:56:56.0000] <__n0aaaaa> the context being a browser [10:57:14.0000] <__n0aaaaa> http://w3c.github.io/html/webappapis.html#api-base-url [10:57:20.0000] <__n0aaaaa> doesn't help me much either [11:00:44.0000] <__n0aaaaa> no one knows? [11:04:34.0000] <__n0aaaaa> …I guess it's not the right place to ask for help regarding specification [11:04:40.0000] <__n0aaaaa> :/ [11:19:18.0000] Domenic: I'll check it out (re: [CEReactions]) [11:20:18.0000] Domenic: https://html.spec.whatwg.org/multipage/scripting.html#cereactions is a "dfn" type. It needs to be "extended-attribute". [11:20:40.0000] Oh shoot,nm. [11:20:42.0000] It is that. [11:21:03.0000] But I guess plinss doesn't yet have the "handle arbitrary new definition types" code. :/ [11:21:13.0000] I'll bug him and get that added to the list explicitly, at least. 2016-07-10 [05:25:13.0000] Allah is doing [05:25:18.0000] sun is not doing Allah is doing [05:25:25.0000] moon is not doing Allah is doing [05:25:31.0000] stars are not doing Allah is doing [05:25:42.0000] planets are not doing Allah is doing [05:25:51.0000] galaxies are not doing Allah is doing [05:25:59.0000] oceans are not doing Allah is doing [05:26:09.0000] mountains are not doing Allah is doing [05:26:16.0000] trees are not doing Allah is doing [05:26:24.0000] mom is not doing Allah is doing [05:26:30.0000] dad is not doing Allah is doing [05:26:36.0000] boss is not doing Allah is doing [05:26:45.0000] job is not doing Allah is doing [05:26:51.0000] dollar is not doing Allah is doing [05:26:56.0000] degree is not doing Allah is doing [05:27:04.0000] medicine is not doing Allah is doing [05:27:13.0000] customers are not doing Allah is doing [05:27:26.0000] you can not get a job without the permission of allah [05:27:40.0000] you can not get married without the permission of allah [05:28:23.0000] nobody can get angry at you without the permission of allah [05:28:33.0000] light is not doing Allah is doing [05:28:38.0000] fan is not doing Allah is doing [05:28:46.0000] businessess are not doing Allah is doing [05:28:53.0000] america is not doing Allah is doing [05:29:17.0000] fire can not burn without the permission of allah [05:29:29.0000] knife can not cut without the permission of allah [05:29:39.0000] rulers are not doing Allah is doing [05:29:48.0000] governments are not doing Allah is doing [05:30:50.0000] sleep is not doing Allah is doing [05:30:59.0000] hunger is not doing Allah is doing [05:31:34.0000] food does not take away the hunger Allah takes away the hunger [05:31:54.0000] water does not take away the thirst Allah takes away the thirst [05:32:02.0000] seeing is not doing Allah is doing [05:32:12.0000] hearing is not doing Allah is doing [05:32:24.0000] seasons are not doing Allah is doing [05:32:32.0000] weather is not doing Allah is doing [05:32:48.0000] humans are not doing Allah is doing [05:32:55.0000] animals are not doing Allah is doing [05:34:22.0000] the best amongst you are those who learn and teach quran [05:34:52.0000] one letter read from book of Allah amounts to one good deed and Allah multiplies one good deed ten times [05:35:38.0000] hearts get rusted as does iron with water to remove rust from heart recitation of Quran and rememberance of death [05:35:53.0000] heart is likened to a mirror [05:36:11.0000] when a person commits one sin a black dot sustains the heart [05:38:03.0000] to accept Islam say that i bear witness that there is no deity worthy of worship except Allah and Muhammad peace be upon him is his slave and messenger [05:41:16.0000] read book http://www.fazaileamaal.com [05:41:45.0000] read book http://www.muntakhabahadith.com [05:42:53.0000] wf [05:42:55.0000] wtf* [05:43:09.0000] need spiritual teacher visit http:/www.alhaadi.org.za [05:43:16.0000] annevk: ^ [05:43:23.0000] allah created the sky without any pillars [05:46:03.0000] allah makes the sun rise from the east and Allah makes the sun set in the west [05:46:31.0000] allah makes the day into the night and Allah makes the night into the day [05:46:42.0000] allah gives life and Allah gives death [05:47:09.0000] all creation are useless,worthless,hopeless [05:47:11.0000] can not do [05:47:16.0000] can not benefit [05:47:19.0000] can not harm [05:47:34.0000] allah is the doer of each and everything [05:47:48.0000] when Allah wants us to stand we stand [05:47:59.0000] when Allah wants us to sit we sit [05:48:06.0000] i am not doing Allah is doing [05:48:42.0000] you are not doing Allah is doing [05:48:57.0000] atom bomb is not doing Allah is doing [05:49:08.0000] rice is not doing Allah is doing [05:49:24.0000] all creation get together can not create one grain of rice [05:49:40.0000] all humans get together can not stop rain [05:50:19.0000] all humans get together can not make anybody hungry [05:50:42.0000] all humans get together can not move sun one second up or down [05:51:10.0000] we can not count the hair on our head [05:51:20.0000] we can not count the rain drops [05:51:34.0000] we can not count the particles of sand [05:51:45.0000] medicine has no power to cure [05:52:02.0000] two people take same medicine one passes away and one does not [05:53:07.0000] degree has no power to give job [05:53:23.0000] many people have degrees but do not have jobs [05:53:32.0000] sustenance does not depend on effort [05:53:52.0000] one person is working very much but is earning very less [05:54:07.0000] other person is working very less but is earning very much 2016-07-11 [02:05:25.0000] annevk: Good morning? You around for a question about Fetch's `redirect mode`? [05:10:49.0000] annevk: Is all the storage stuff supposed to share the same quota per origin? [08:32:32.0000] how does one enable shadow DOM in blink? [08:32:38.0000] for testing [10:15:55.0000] so, does anyone know how to enable shadow DOM API in blink? [10:16:44.0000] /me was planning to quickly test how fullscreen API and pointer lock API work there [11:10:30.0000] Domenic: [CEReactions] shoudl be autolinking now [15:06:01.0000] question, should object url revoking work even if the original url had got ?somequery or #somefragment [15:06:36.0000] (per spec it shouldn't but asking what someone might expect) 2016-07-12 [20:25:08.0000] DNS AAAA record of https://whatwg.org/ returns 2607:f298:4:148::a70:f5c3. But this address is unreachable. You can test with http://ipv6-test.com/validate.php [21:18:07.0000] fujihiro: you should get that info to Hixie when he is around [21:18:54.0000] fujihiro: I don’t think Hixie can do anything to fix it, because it’s a general Dreamhost issue [21:20:39.0000] fujihiro: Dreamhost has long had IPv6 issues and they claim to have fixed them but in my experience they continue to have some serious problems. [21:22:13.0000] fujihiro: so for my local machine, I change my /etc/hosts file to force it to only use IPv4 addresses for whatwg.org domains [21:22:16.0000] for example: [21:22:18.0000] 75.119.197.251 help.whatwg.org [21:22:19.0000] 75.119.197.251 wiki.whatwg.org [21:22:19.0000] fe80::1%lo0 help.whatwg.org [21:22:19.0000] fe80::1%lo0 wiki.whatwg.org [21:32:05.0000] MikeSmith: Thanks for the info. But, is this really difficult problem? If the web server does not support IPv6, this can be solved just by removing AAAA record from DNS. [21:33:19.0000] fujihiro: true. I’ll ping Hixie about it [21:33:40.0000] MikeSmith: Thanks. [21:34:28.0000] fujihiro: thanks for the heads-up about it [21:40:38.0000] fujihiro: so it seems Dreamhost have messed around with the DNS and the best way to get them to fix it is to tweet a message to @DreamHost on twitter https://twitter.com/dreamhost [21:58:34.0000] MikeSmith: OK, I did. Thank you. I'll let you know if they reply to my message. [21:58:49.0000] fujihiro: super, thanks [03:33:46.0000] asking again, does anyone know how to enable shadow DOM in blink? [03:33:56.0000] or is that not yet possible? [03:34:05.0000] (talking about shadow DOM v1) [03:39:58.0000] hayato: ⬆ [06:41:57.0000] Anyone familiar with https://w3c.github.io/IndexedDB/#steps-for-opening-a-database? [06:42:05.0000] I don't understand the note in step 3. [06:44:31.0000] Step 2 sorry. [06:44:56.0000] The upgrade transaction is started in step 8, [06:45:13.0000] so I don't understand how the note in step 2 can claim that the upgrade transaction will be started immediately. [06:46:15.0000] Oh misread something again, never mind me I'll study a bit more the spec. [06:49:15.0000] Domenic: "The [CEReactions] extended attribute must take no arguments, and must not appear on anything other than an operation, attribute, setter, or deleter. Additionally, it must not appear on readonly attributes, unless the readonly attribute is also annotated with [PutForwards]." [06:49:27.0000] Domenic: should things with PutForwards have it? [06:49:34.0000] Domenic: in particular elm.style [06:51:09.0000] If there exists a database with version = 1 and that I try to open it with version = 2 from two different tabs at once at the same moment, can't there be a race condition where two upgrade transactions are started? [07:19:25.0000] zcorpan: yeah, pending a change in decision on https://github.com/w3c/webcomponents/issues/521, elm.style should have it. Did the quoted text confuse things in some way? [08:38:46.0000] Any DOM experts here? [08:38:47.0000] http://stackoverflow.com/questions/38333118/what-factors-drive-virtual-dom-to-outperform-browser-native-dom [10:20:06.0000] smaug____: On M53 (canary/dev), Shadow DOM v1 is enabled by default. On M52/51 (beta/stable), you need to turn on "chrome://flags/#enable-experimental-web-platform-features". [10:20:33.0000] ah, maybe canary is already M54. [10:54:21.0000] kochi: aha, perhaps chrome hasn't updated itself on my fedora [11:29:23.0000] moo-_-: in general virtual DOM is slower than real DOM [12:19:23.0000] My rough understanding is that "it's faster" isn't quite true. It's a technique that will typically prevent you shooting yourself in the foot wrt performance, but it isn't faster than the most optimised DOM code you could write to solve a particular problem. [16:13:26.0000] Does anyone have opinions on whether
's toggle event should bubble or not? https://github.com/whatwg/html/issues/1533 2016-07-13 [22:55:39.0000] Domenic: I guess I wonder more why we would not want it to bubble, and also why the spec does not already explicitly says it does not bubble (if that is the intent) [22:56:12.0000] also wonder whether in implementations it actually does not bubble [23:45:18.0000] MikeSmith: I got a reply from DreamHost: "You can change the DNS settings for a domain here: https://t.co/rrjkP65eof" [23:45:23.0000] And, I found a document about how to remove IPv6 address: [23:56:44.0000] fujihiro: thanks will let Hixie know [00:20:42.0000] Domenic: d’oh nm, I actually took time to read that issue and see it says “Fire a simple event”. So I will shut up now… [00:22:01.0000] fujihiro: from what Hixie told me previously I think the problem was that he had already made changes and then Dreamhost came along and overwrote them [01:22:28.0000] MikeSmith: I want to clarify. Do you mean the following? [01:22:28.0000] 1) Hixie did set an IPv6 address [01:22:28.0000] 2) Hixie removed the address [01:22:28.0000] 3) DreamHost added an IPv6 address again [01:29:22.0000] fujihiro: yeah something like that I think [01:30:31.0000] OK, I'll tell them. [01:30:56.0000] fujihiro: personally I think the best solution to this problem would be to move the whatwg.org hosting away from Dreamhost and over to some more modern provider like digitalocean or whatever, but it’s not up to me [10:07:22.0000] Domenic: ping? [10:07:31.0000] aklein: pong [10:07:50.0000] Domenic: looking at your