| 01:06 | <cvrebert> | MikeSmith: Any update on the CSS Validator repo migration? |
| 01:30 | <tripu> | ato? |
| 01:38 | <ato> | tripu: Hi. |
| 01:47 | <MikeSmith> | cvrebert: probably will get to it today |
| 01:47 | <cvrebert> | MikeSmith: \o/ |
| 05:10 | <annevk> | "You’ve been removed from the Web Platform Testing and Tools Pushers team on the World Wide Web Consortium organization." I wonder what I did |
| 05:17 | <MikeSmith> | annevk: nothingーyou still have push perms |
| 05:17 | <MikeSmith> | that team was redundant |
| 05:23 | <Domenic> | annevk: is there a way to invoke the basic URL parser without a base URL in browsers, except indirectly? I tried setting <base href="url-to-parse"> and then investing <a href="#">.href, but it parsed url-to-parse relative to the page's "real" URL. |
| 05:23 | <Domenic> | I know you can do it with new URL("url-to-parse") but I was wondering if there were another context I could try, especially one that isn't allowed to fail. |
| 05:24 | <annevk> | Domenic: set <base> to about:blank |
| 05:24 | <annevk> | Domenic: roughly equivalent |
| 05:24 | <annevk> | Domenic: not sure it works reliably in IE/Edge though |
| 05:24 | <Domenic> | doesn't seem to work in Chrome... |
| 05:24 | <annevk> | oh |
| 05:25 | <annevk> | Domenic: test:test seems to work in Chrome... |
| 05:25 | <Domenic> | oh nice! |
| 05:26 | <Domenic> | https://jsbin.com/someje/edit?html,console,output is fun |
| 05:27 | <Domenic> | "" in Chrome, "/\\example.jpg" in Firefox, "https://null.jsbin.com///example.jpg" in IE11 |
| 05:28 | <Domenic> | It's as if all this code was written without a well-specified standard |
| 05:29 | <Domenic> | Or worse, off of RFCs |
| 05:29 | <annevk> | Firefox' output is correct, if you hit a fatal parse error you just return the input |
| 05:29 | <annevk> | (it's fatal since there's no base URL) |
| 05:31 | <annevk> | Domenic: how does it match Chrome? |
| 05:33 | <Domenic> | Chrome matches when parsed with base URL |
| 05:33 | <Domenic> | Firefox matches without one |
| 05:33 | <annevk> | Oh right, Firefox doesn't handle backslashes correctly yet |
| 05:34 | <annevk> | There's an open bug on that |
| 05:36 | <annevk> | Domenic: for https://github.com/whatwg/loader/issues/62 I think ideally we end up with something similar to custom elements |
| 05:36 | <annevk> | Domenic: although I guess it's not quite lifecycle methods, but it's somewhat close |
| 05:37 | <Domenic> | Ah yeah interesting parallel |
| 05:37 | <Domenic> | That argues for symbols at least |
| 06:46 | <annevk> | MikeSmith: https://blogs.oracle.com/maryanndavidson/entry/no_you_really_can_t seems like something you'd enjoy reading |
| 06:46 | MikeSmith | looks |
| 06:54 | <MikeSmith> | annevk: needs more photos |
| 06:54 | <MikeSmith> | but "Bug bounties are the new boy band" is good |
| 06:57 | <MikeSmith> | there should be a reverse bug-bounty thing, where if you try to get attention by claiming some product/spec has a security vulnerability and it turns out to not really be true, you have to give money to a community fund that then gets paid out to people who find real security vulnerabilities |
| 06:58 | <annevk> | <<Otherwise everyone would hire a consultant to say (legal terms follow) “Nanny, nanny boo boo, big bad consultant can do X even if the customer can’t!”>> |
| 06:59 | <annevk> | The entire premise though of security by obscurity seems so wrong... I'm somewhat baffled this person is the CTO. |
| 07:04 | <MikeSmith> | annevk: actually, Chief Security Officer, right? |
| 07:06 | <MikeSmith> | and speaking of security by obscurity I notice that Oracle's state-of-the-art blogging tool identifies her as "User701213-Oracle" in the byline |
| 07:06 | <MikeSmith> | that inspires a lot of confidence |
| 07:07 | <MikeSmith> | especially since the gist of the piece is basically "Trust us, we know what we're doing." |
| 08:16 | <annevk> | abc.wtf is kinda funny |
| 08:33 | <Ms2ger> | So what's this Alphabet thing? |
| 08:40 | <annevk> | Ms2ger: most plausible explanation I saw was that it's a trick to pay less tax, but I don't understand US tax law so I don't really know if that's the real reason |
| 09:33 | <JakeA> | annevk: when a listener callback is executed (https://dom.spec.whatwg.org/#dispatching-events), is that calling a callback as per https://html.spec.whatwg.org/#clean-up-after-running-a-callback ? |
| 09:33 | <annevk> | JakeA: this is the dust thing I mentioned |
| 09:34 | <JakeA> | ahh ok |
| 09:34 | <annevk> | JakeA: see the bugs blocking https://www.w3.org/Bugs/Public/show_bug.cgi?id=17713 |
| 09:34 | <JakeA> | Chrome's implementation performs a microtask checkpoint per listener, Firefox doesn't |
| 09:34 | <annevk> | JakeA: the idea though, is yes |
| 09:35 | <annevk> | JakeA: Firefox does too, just not for promises |
| 09:36 | <JakeA> | Ahh I see. I'll test this with mutation observers |
| 09:37 | <annevk> | JakeA: are you using FirefoxNightly btw? |
| 09:37 | <JakeA> | annevk: no, will test that now |
| 09:40 | <JakeA> | annevk: yeah, still wrong in Nightly |
| 09:40 | <annevk> | Hmm, I cannot find the bug in Nightly |
| 09:40 | <JakeA> | annevk: http://jsbin.com/zetoya/edit?console,output |
| 09:41 | <JakeA> | click the blue square |
| 09:42 | <annevk> | I see |
| 10:02 | <Ms2ger> | Was display: -webkit-flexbox a thing? |
| 10:09 | <annevk> | Ms2ger: some search results suggest display: -webkit-flex is |
| 11:20 | <Ms2ger> | MikeSmith, https://blog.mozilla.org/community/2015/08/10/firefox-40-new-contributors/ |
| 11:23 | <MikeSmith> | Ms2ger: w00t |
| 11:23 | <MikeSmith> | I wonder when do I start getting the royalty checks |
| 11:28 | <Ms2ger> | MikeSmith, can you add csswg-test to the testing teams on github? |
| 11:29 | <MikeSmith> | Ms2ger: which teams exactly? |
| 11:29 | <Ms2ger> | Web Platform Testing / Web Platform Testing and Tools Owners |
| 11:31 | <MikeSmith> | ok |
| 11:31 | <MikeSmith> | done I think |
| 11:32 | <Ms2ger> | Yep, thanks |
| 12:09 | <annevk> | JakeA: https://html5.org/temp/fetch-newcontext.html |
| 12:15 | <JakeA> | annevk: looks good. Why does imgset get an initiator? |
| 12:16 | <JakeA> | annevk: I can see why xslt-styles are their own thing, given the CSP rule, but why an initiator rather than type? |
| 12:17 | <annevk> | JakeA: you'd want type = "xslt"? |
| 12:17 | <annevk> | JakeA: I opted for initiator since I expected "xslt" to maybe be removed at some point and initiator is not exposed |
| 12:17 | <annevk> | JakeA: I guess it doesn't matter much either way... |
| 12:18 | <JakeA> | that's a good enough reason |
| 12:18 | <annevk> | JakeA: "imageset" is needed for Mixed Content |
| 12:18 | <annevk> | and again, since initiator is not exposed... |
| 12:18 | <JakeA> | ahh good point |
| 12:18 | <JakeA> | annevk: I take it audio/video/track have different enough requests to warrant their own type? |
| 12:18 | <JakeA> | rather than just media |
| 12:19 | <annevk> | JakeA: I would expect them to have their own Accept header |
| 12:19 | <annevk> | JakeA: which is one of the things we use context for today |
| 12:19 | <annevk> | JakeA: we also use context to enforce X-Content-Type-Options: nosniff for which we'd also need these distinguished |
| 12:21 | <JakeA> | annevk: would fetch's type become settable? |
| 12:22 | <annevk> | JakeA: I don't see how we could do that and use it as a security mechanism at the same time, unless we restrict how the response is used |
| 12:24 | <JakeA> | Yeah, that follows. I guess there could be Request.asType('image', url, opts), but it only affects headers, not underlying type (or sets some kind of "imitating type") |
| 12:26 | <JakeA> | annevk: this looks really good. Nice one. |
| 12:26 | <annevk> | JakeA: yeah, I think for igrigorik's use cases we'd include an additional axis of sorts |
| 12:27 | <annevk> | JakeA: "as type" or "pretend type" or some such, that's simply not used for security |
| 12:27 | <JakeA> | Makes sense |
| 12:28 | <JakeA> | For <link rel="prefetch"> etc, setting actual type should be fine, as only the correct type will get a cache match on that |
| 12:29 | <JakeA> | But fetch(request) should always be connect-src |
| 12:42 | <annevk> | JakeA: does Chrome always use a browsing context for <object>? |
| 12:42 | <annevk> | JakeA: afaict Chrome does something different from Firefox |
| 12:44 | <JakeA> | annevk: I don't know off the top of my head, I'll find someone to bug about that when SF wakes up. I'm not sure how I'd test that |
| 12:44 | <JakeA> | annevk: When I click something on the page, how is the dispatch of the event queued? Is it a task? |
| 12:45 | <JakeA> | actually, thought of a way to test the object thing |
| 12:45 | <annevk> | JakeA: I've been playing with http://software.hixie.ch/utilities/js/live-dom-viewer/ and <object data=document> vs <object data=image> |
| 12:45 | <annevk> | JakeA: for the latter contentDocument is null in Firefox, but in Chrome you still get a document |
| 12:46 | <annevk> | JakeA: In Firefox you only get a contentDocument if you do <a target=x href=image>...</a> against <object data=document name=x> |
| 12:47 | <JakeA> | annevk: http://jsbin.com/jeruku/edit?console,output - no contentDocument on this |
| 12:47 | <JakeA> | click events don't get trapped either |
| 12:49 | <annevk> | whoa how is that different |
| 12:50 | <annevk> | Does it depend on whether or not you document.write() the <object> in Chrome? |
| 12:51 | <JakeA> | annevk: updated the bin. Looks the same |
| 12:52 | <annevk> | If I start typing in that bin it really shouldn't try to sync your stuff from upstream |
| 12:52 | <annevk> | That's super annoying |
| 12:53 | <JakeA> | heh, I've stopped typing |
| 12:54 | <annevk> | JakeA: see http://software.hixie.ch/utilities/js/live-dom-viewer/saved/3589 |
| 12:54 | <annevk> | JakeA: and the difference in Chrome and Firefox |
| 12:57 | <JakeA> | That is bizarre |
| 12:57 | <annevk> | I know, I was thinking we could require Chrome's behavior and always have a browsing context, but you've shown that Chrome doesn't always do that |
| 12:57 | <annevk> | And now I'm confused |
| 12:58 | <JakeA> | annevk: typemustmatch would do the trick though, right? |
| 12:59 | <annevk> | JakeA: provided we defined the behavior and removed those <object> elements from being able to be targeted with <a target>... |
| 13:00 | <JakeA> | annevk: can an object with typemustmatch and a non-document type still be navigated via <a target>? |
| 13:00 | <annevk> | JakeA: I'm not sure |
| 13:00 | <JakeA> | That might be ok, because we still know before the response if it'll be a document or not |
| 13:03 | <annevk> | Yeah, although I wonder if <object> will show its fallback content in case of a network error and whether it'll have a browsing context in that case... |
| 13:04 | <annevk> | But I guess that's fine, it's equivalent to a hidden <iframe>, only the ones no longer part of the tree are bad |
| 13:05 | <JakeA> | Hah, I don't think I understand the processing model of object fallbacks, they don't seem to appear in the DOM |
| 13:06 | <annevk> | That sounds like a bug |
| 13:11 | <JakeA> | It's certainly not what I expected |
| 13:12 | <gsnedders> | they definitely should be in the DOM! |
| 13:14 | <JakeA> | Ah, I think they are, but devtool's representation is broken |
| 13:14 | <JakeA> | http://output.jsbin.com/ganehi/quiet |
| 13:30 | <JakeA> | annevk: is it explained anywhere that jobs and microtasks share the same queue? |
| 13:32 | <annevk> | JakeA: not yet |
| 13:32 | <annevk> | JakeA: see https://www.w3.org/Bugs/Public/show_bug.cgi?id=25981 |
| 13:33 | <annevk> | I wonder if we can work with bterlson on a better model |
| 13:34 | <annevk> | Since awbjs wasn't too helpful |
| 13:39 | <JakeA> | Thanks for the link, exactly what I was looking for. https://esdiscuss.org/topic/the-initialization-steps-for-web-browsers#content-18 appears to be the closest to confirmation |
| 13:40 | <JakeA> | And yeah, awbjs wasn't being too helpful in that thread |
| 14:40 | <annevk> | JakeA: I think https://bugzilla.mozilla.org/show_bug.cgi?id=874571 and https://bugzilla.mozilla.org/show_bug.cgi?id=1169307 are the Firefox issues btw |
| 14:41 | <JakeA> | annevk: cheers! I might get you to proofread this tomorrow if you have time |
| 14:42 | <wanderview> | annevk: so does our broken microtask implementation block something significant? looking for a way to prioritize it to get someone to work it |
| 14:43 | <JakeA> | wanderview: you can't promisify indexedDB https://github.com/w3c/IndexedDB/issues/27 |
| 14:44 | <JakeA> | wanderview: I wrote a promisified version of IDB, but it only works in Chrome due to the microtask thing https://github.com/jakearchibald/indexeddb-promised/blob/master/test/idb.js#L18 |
| 14:46 | <wanderview> | JakeA: you mean you can't write a polyfill that works? |
| 14:46 | <JakeA> | wanderview: yep, there's no way to get a value & write a value within the same transaction, as promise callbacks happen too late |
| 14:47 | <JakeA> | same goes for iterating over cursors |
| 14:48 | <wanderview> | hmm, I see... I'm not sure that's enough to raise the priority unfortunately... I guess we can ask bz when he returns from holiday |
| 14:51 | <wanderview> | annevk: maybe we should write a bug about this specific problem... since not sure anyone will see it buried in the comments on the other bug |
| 15:02 | <annevk> | JakeA: are you writing a patch for HTML? |
| 15:02 | <annevk> | wanderview: we could I guess |
| 15:02 | <JakeA> | annevk: for what? |
| 15:03 | <annevk> | JakeA: you were asking for proofreading |
| 15:04 | <JakeA> | annevk: ohh sorry, no, I'm writing an article on tasks microtasks & jobs. You mentioned the bugs right after I saw https://twitter.com/briankardell/status/631095683559387136 so thought you'd seen it |
| 15:05 | <annevk> | JakeA: ah, I only saw your original tweet |
| 16:21 | <Domenic> | JakeA: yay, thus proving my strategy of never actually writing anything in my blog post backlog, since other people will do so eventually anyway |
| 16:21 | <Domenic> | JakeA: can you emphasize how jobs are a stupid non-real-world abstraction that just make things complicated by pretending they're relevant. they make me angry. |
| 16:21 | <annevk> | wanderview: JakeA: I filed https://bugzilla.mozilla.org/show_bug.cgi?id=1193394 specifically on the topic of promises and microtasks |
| 16:22 | <annevk> | Domenic: when can we fix awbjs mistakes? es-discuss does not make me hopeful |
| 16:22 | <Domenic> | give brian some time to settle in, and we'll see. |
| 16:24 | <JakeA> | Domenic: haha, so what should ECMAScript have done instead? Offered an API to the queue so microtasks could just use that? |
| 16:24 | <Domenic> | JakeA: just actually worked with the real-world concept of microtasks, IMO. |
| 16:25 | <wanderview> | JakeA: there seems to be an excellent opportunity for a "Domenic is angry" picture here |
| 16:25 | <Domenic> | Pretending there is this abstract separation of "abstract job which could in theory be anything" is silly when all engines intend to implement in the exact same way. |
| 16:25 | <wanderview> | from your last blog post we know you are a wiz with photoshop... |
| 16:25 | <Domenic> | oh dear |
| 16:25 | <JakeA> | haha |
| 16:25 | <Domenic> | I still never found out why I was on a slide at jqConf |
| 16:28 | <annevk> | JakeA: I think the best would have been for ECMAScript to just do HostEnqueue(potential metadata, the task) and have some requirements around ordering for hosts |
| 16:29 | <JakeA> | annevk: that would have covered the microtask listener behaviour automatically, since the stack would be empty between listener calls, so it'd do the right thing |
| 16:30 | <Domenic> | annevk: wait, that's basically what ES does. |
| 16:31 | <annevk> | Domenic: see the HTML ES6 integration bug for how much harder ES makes it |
| 16:31 | <annevk> | (referenced above somewhere) |
| 16:31 | <Domenic> | Ah right it tried to take over initialization somehow |
| 17:01 | <Domenic> | TabAtkins: ping https://github.com/tabatkins/bikeshed/issues/438#issuecomment-129662299 |
| 17:13 | <TabAtkins> | Domenic: It strikes me that I might not have the id generation correct for dfn-headings. I think the heading will generate an id first and then won't generate one as a dfn. |
| 17:13 | <Domenic> | TabAtkins: I've heard of a technique called unit tests that might help in this kind of situation ;) |
| 17:14 | <TabAtkins> | I've heard of those, but I dont' think they're real. |
| 19:06 | <Domenic> | bterlson: would you say Edge has "no public signals" for Array.prototype.includes, or "public support" |
| 20:07 | <bterlson> | Domenic: I think the latter as I don't recall talking about it |
| 20:08 | <Domenic> | bterlson: as in, no objections, so your default position for TC39-supported things is public support? |
| 20:08 | <bterlson> | err, I meant former not latter |
| 20:08 | <Domenic> | ah right ok |
| 20:08 | <bterlson> | there have been no public signals |
| 20:08 | <bterlson> | BUT |
| 20:08 | <bterlson> | can I make one now? ;) |
| 20:08 | <Domenic> | yep! |
| 20:08 | <bterlson> | do you need to link to something |
| 20:08 | <bterlson> | ? |
| 20:08 | <Domenic> | chat logs should be fine :) |
| 20:09 | <bterlson> | how is public support defined anyway? |
| 20:09 | <bterlson> | saying "yeah we'll implement that" is sufficient? |
| 20:09 | <Domenic> | yeah pretty much |
| 20:10 | <bterlson> | because assuming Array.prototype.includes works on the web we will def implement it :-P |
| 20:10 | <Domenic> | as distinct from "that's a bad idea" or "we have no comment at this time and will leave you in suspense" |
| 20:10 | <bterlson> | no evidence yet to suggest it's a bad idea |
| 20:10 | <bterlson> | :-P |
| 20:10 | <Domenic> | i'll take it! :) |
| 20:10 | <bterlson> | haha |
| 20:10 | <bterlson> | nice |
| 20:11 | <Domenic> | sigh the logs for this channel are over HTTP, so sad so sad. |
| 20:22 | <Ms2ger> | Domenic, I'm sure krijnhoetmer would be happy for you to pay for https ;) |
| 20:23 | <Domenic> | Ms2ger: I'm happy to walk him through how to create a free cloudflare account. |