00:00 | <jamesr___> | othermaciej: i think in that case microtasks shouldn't fire |
00:00 | <jamesr___> | since the general philosophy is that they run on clean callstacks, no? |
00:00 | <othermaciej> | I don’t know what the philosophy is |
00:00 | <othermaciej> | The spec doesn’t explain the theory of microtasks at a high level, it just has a bunch of algorithms that reference each other |
00:00 | <jgraham> | jsbell: Right, but the problem is semantics. A test for cross-origin communication isn't necessarily going to work if I just s|http://locahost:8000|https://{{host}}:{{ports[https][0]}}| |
00:01 | <othermaciej> | so I can’t tell if I’m following them correctly |
00:01 | <jamesr___> | i think the idea is you implement the algorithms you don't have to understand the theory :) |
00:01 | <jgraham> | jsbell: So it would be useful if the chrome tests were rewritten to run from https:8443 by default |
00:01 | <othermaciej> | jamesr___: what confuses me is this Note: https://html.spec.whatwg.org/multipage/webappapis.html#processing-model-9:clean-up-after-running-a-callback |
00:02 | <othermaciej> | jamesr___: it seems like most kinds of callbacks do not in fact eventually call the “clean up after running a callback” steps |
00:02 | <othermaciej> | jamesr___: which is the hook where microtasks might be run after running some script |
00:02 | <jsbell> | jgraham: if you're asking us to s/http/https/, s/8000/8443/ where possible in the blink repo, then SGTM |
00:02 | <jamesr___> | looks like that's only reached by 8.1.3.3 which is reached by creating a <script> |
00:02 | <othermaciej> | jamesr___: that note implies they would, but it only seems to apply to non-function entry into script |
00:03 | <othermaciej> | jamesr___: if that is totally intentional, then perhaps the only issue is that the note is confusing |
00:03 | <jamesr___> | it seems a bit confusing. the flag in the queue is needed since the event loop can be entered reentrantly |
00:03 | <jgraham> | jsbell: Yeah, that would be ideal |
00:03 | <jamesr___> | i.e. you could within a microtask call showModalDialog() and then start spinning again |
00:04 | <jamesr___> | could you insert a new <script> within a microtask? |
00:04 | <jamesr___> | i mean you could, but would it run then? |
00:05 | <othermaciej> | I don’t know |
00:05 | <jamesr___> | well you could via showModalDialog |
00:05 | <jamesr___> | since you can do anything in that |
00:05 | <othermaciej> | document.write() would run it synchronously but I am not sure if something about microtasks prevents it |
00:05 | <jamesr___> | but i don't think that's what the note is supposed to signify. definitely worth some clarification |
00:05 | <jsbell> | jgraham: but ideally we should be using resources/test-helpers.js and get_host_info() everywhere instead of hardcoding anything |
00:06 | <othermaciej> | I notice though that there is nothing to account for non-<script> script callbacks in that algorithm |
00:06 | <jsbell> | jgraham: i.e. crbug.com/462361 |
00:06 | <othermaciej> | I guess the only relevance is to prevent the algorithm from re-entering so it doesn’t matter that most script callbacks don’t do it |
00:07 | <jgraham> | jsbell: Right, but irrespective of that moving from http to https by default requires changes to what's considered cross-origin + etc. |
00:08 | <jsbell> | jgraham: get_host_info() populates e.g. HTTPS_REMOTE_ORIGIN; assuming the tests use those variables correctly, wouldn't that cover it? (sorry if I'm being dense here) |
00:09 | <jgraham> | Well I think my point is just that the changes there might not be trivial, depending on *exactly* what is being tested |
00:09 | <jsbell> | jgraham: Agreed. |
00:11 | <jgraham> | e.g. if the default server is https://localhost:8443 then the remote origin probably has to be a subdomain, or different port, or something, whereas at the moment https is itself a seperate origin |
00:11 | <jgraham> | (and different tests might want different things here) |
00:12 | <jgraham> | Anyway I guess I will look at this more tomorrow, now I will sleep |
00:12 | <jgraham> | jsbell: thanks for the help! |
00:12 | <jsbell> | jgraham: I'll reply to the thread a bit and annotate the bug, but your clarifications (post sleep!) will help, thx! |
02:42 | <jpdevries> | Hello all. I understand this would probably target HTML6, but does anyone else feel there is a case for allowing multiple <base> tags on a page (outside of <head>)? Imagine being able to nest a base tag in a section and have it override the base href for that section and it's inner elements. |
09:02 | <Ms2ger> | "I tried to make an "end credits" slide w/ IE-only APIs not in Project Spartan that scrolls while I talk. The list was so long it crashed PPT" |
09:13 | <jgraham> | Ms2ger: Pointer? |
09:14 | <Ms2ger> | https://twitter.com/jacobrossi/status/580253880690208768 |
09:21 | <Ms2ger> | annevk_, https://github.com/servo/servo/issues/5336 |
11:47 | <tiago> | hi, how would I read a certain meta tag with html5lib? |
11:47 | <tiago> | in python |
11:47 | <tiago> | like, <meta name="description" content="Something" /> |
11:47 | <tiago> | I need the "Something" |
11:52 | <JakeA> | tiago: this channel is for HTML & DOM specs. In JS it could be document.querySelector('meta[name=description]').getAttribute('content'), dunno if html5lib has something similar. It isn't maintained by whatwg. |
11:52 | <tiago> | Thanks JakeA, it's just because the html5lib github page points to this channel |
11:54 | <JakeA> | Streams people (cc Domenic), if I have an underlying binary stream, piped to a text decoding transform stream, piped to a CSV decoder, should the CSV decoder yield, say, a CSV cell per read, or is it customary to deliver as much data as you can per read? |
11:57 | <JakeA> | tiago: oh, actually, maybe I'm wrong, looks like quite a few people in this channel build that lib. My bad. +MikeSmith gsnedders |
11:58 | <tiago> | ah |
12:06 | <JakeA> | tiago: once you've got a document, you can use .childNodes to gets its children etc etc. Once you find the meta, use .attributes and find the one with name 'name' |
12:06 | <JakeA> | https://github.com/html5lib/html5lib-python/blob/f5fd711dd3e933353423656b8adf114e436cc4bb/html5lib/treebuilders/etree.py#L19 |
12:07 | <tiago> | thanks JakeA, I will tr |
12:07 | <tiago> | *try |
12:51 | <Domenic> | JakeA: CSV cell (more likely row) per read is generally customary |
12:54 | <JakeA> | Domenic: thanks! |
12:56 | <JakeA> | Domenic: btw, the streams API seems to be a perfect balance of simplicity and functionality. Nice one |
12:56 | <Domenic> | :D |
13:08 | <wanderview> | yea, it seems for chunk or message oriented streams like ReadableStream... each chunk should be a logical object for whatever transformation you are doing |
13:08 | <wanderview> | I think its less clear for ReadableByteStreams |
13:09 | <JakeA> | wanderview: yeah, or text which is "as many chars as possible", and it only holds back incomplete chars |
13:26 | <annevk_> | Domenic: iirc I told you that TextDecoder kept state, but TextEncoder didn't |
13:27 | <annevk> | JakeA: you should keep passing stream:true until you hit OEF |
13:29 | <JakeA> | annevk: that's what I'm doing |
13:29 | <JakeA> | stream is !result.done |
13:30 | <annevk> | JakeA: we could maybe make pipe(new TextDecoder) work for the common case, if TextDecoder/TextEncoder implement some stream-protocol |
13:31 | <Domenic> | annevk: ah yes, now I remember |
13:31 | <JakeA> | annevk: at a quick glance, I think that could be possible in a backwards compatible way |
13:32 | <JakeA> | You could maybe even define .decode in terms of real streams |
13:32 | <Domenic> | yeah just add .writable and .readable properties |
13:33 | <JakeA> | Domenic: the bit I'm worried about is what .decode etc do if you're using the decoder as a stream |
13:33 | <Domenic> | yeah true |
13:33 | <Domenic> | perhaps unnecessarily complicated |
13:34 | <JakeA> | Domenic: it could be as simple as it throws if the stream is locked |
13:34 | <Domenic> | Mehhhh |
13:35 | <JakeA> | Using it as a stream, *and* calling .decode sounds like a mistake |
13:39 | <wanderview> | It seems the streamified object should wrap an existing TextDecoder object |
13:40 | <JakeA> | Gone done a post on fetch & streams http://jakearchibald.com/2015/thats-so-fetch/ |
13:41 | <Domenic> | wanderview: or TextDecoder should wrap a streamified object. But, they should be separate I think... too messy otherwise. |
13:41 | <wanderview> | Domenic: I think since TextDecoder existed first... its easier to write the new stream in terms of the TextDecoder |
13:42 | <Domenic> | Sure |
13:59 | <annevk> | JakeA: "Dramatic reconstruction" :-) |
14:06 | <JakeA> | annevk: I had to fallback to an SVG of that on iphone because they *still* don't allow inline video |
14:07 | <JakeA> | Could have used a 5mb gif but screw that |
14:14 | <Domenic> | an svg O_O i gotta see this |
14:16 | <Domenic> | hmm tried it on my ipad looks the same |
14:19 | <Domenic> | don't engage webreflection... |
14:24 | <JakeA> | Domenic: ah, too late |
14:25 | <Domenic> | he is _the_ es-discuss troll |
14:25 | <JakeA> | Domenic: the SVG is static unfortunately. Inline video works fine on ipad |
14:25 | <Domenic> | hmm i was picturing an animated vector representation |
14:25 | <JakeA> | So I'm not crazy then? I can't match up what webreflection is saying to reality |
14:26 | <wanderview> | JakeA: I think maybe if someone focuses on the tongue-in-cheek parts they could view it as a rant... *mumbles something about cognitive bias* |
14:27 | <JakeA> | maybe. I tried to keep it tongue-in-cheek and of course didn't name |
14:28 | <gsnedders> | JakeA: the official policy has always been there's no real topic for this channel, and nobody really cares about using this for html5lib since half the discussions historically were half spec discussions and actual questions are pretty infrequent |
14:29 | <MikeSmith> | does anybody maintain a JSON file or something with a list of the currents UA strings for major browsers? |
14:30 | <MikeSmith> | something meant to be easily consumable |
14:30 | <wanderview> | JakeA: I know... it was a valiant effort... but people tend to see what they expect to see unfortunately |
14:31 | <JakeA> | gsnedders: noted, cheers! |
14:33 | <ondras> | webreflection is andrea giammarchi_ |
14:33 | <ondras> | ? |
14:33 | <ondras> | I recall his talk on jsconf.eu ~2012 or so |
14:34 | <caitp-> | was this whole thing about how fetch is bad because of promises, or was that a different one? |
14:35 | <jgraham> | MikeSmith: At one point that UA sniffing tool thing had them, I think. Or I guess regexps that were supposed to match lots of known browsers |
14:35 | <wanderview> | caitp-: I believe this started with "OMG fetch is not based on streams" |
14:35 | <wanderview> | or maybe there are two issues flying about |
14:36 | <MikeSmith> | jgraham: ok |
14:38 | wanderview | enables Cache by default in Firefox nightly. |
14:39 | <JakeA> | ondras: he's a cool guy, he's just a bit hot-headed about this |
14:39 | <jgraham> | MikeSmith: Something like https://github.com/3rd-Eden/useragent/blob/master/lib/regexps.js |
14:40 | <JakeA> | caitp-: yeah, partly it was "this is not based on streams" even though it is, but also that we don't have cancellation yet, but that's on its way |
14:44 | <JakeA> | wanderview: ohhhh! In window objects too? |
14:44 | <MikeSmith> | jgraham: looking now |
14:44 | <wanderview> | JakeA: yep... it won't ride the trains to release yet, though |
14:45 | <wanderview> | I'm going to push a blog post in a bit explaining |
14:45 | <MikeSmith> | jgraham: ah coolーthanks |
15:18 | wanderview | can never figure out how to get images to look right in twitter summary cards. |
15:23 | <wanderview> | JakeA: here is the blog explaining what we are doing: https://blog.wanderview.com/blog/2015/03/24/service-workers-in-firefox-nightly/ |
23:21 | <MikeSmith> | wanderview: nice blog post |
23:21 | <MikeSmith> | wanderview: thanks for taking time to write it up |
23:22 | <MikeSmith> | wanderview: the amount of work you've been doing to get there is pretty phenomenal |
23:25 | jgraham | always forgets who wanderview is |
23:26 | <jgraham> | Also wanderview++ on landing the SW stuff. Hopefully we make more progress with the Blink tests soon |
23:26 | <MikeSmith> | ah tests |
23:30 | <jsbell> | jgraham: If no-one beats me to it, I'll try and pick up the blink side of the test todos, but I'm booked solid for ~2 weeks |
23:31 | <jgraham> | jsbell: That sounds great :) (well not that you are booked solid ofc. Unless it's solid fun ;) |
23:51 | <jsbell> | wanderview: is the caches API in FF scoped to SW or exposed everywhere? |