02:51 | <MikeSmith> | https://twitter.com/maxogden/status/592883522932756481 |
05:29 | <hayato> | annevk: Sure. I think we can get benefits from these terms. >>> for parent/child across boundaries I suggest we introduce "composed parent/child", "deep parent/child", |
09:30 | <MikeSmith> | http://www.webkit.org/status.html seems to have magically appeared in the last day or so |
09:30 | <MikeSmith> | or maybe I just missed the news |
09:30 | MikeSmith | checks webkit-dev |
11:19 | <hsivonen_> | the ambigous ampersand stuff would be easier to review if Hixie had written the spec as a genuine state machine instead of having the character reference part of the spec unconsume input |
11:20 | <hsivonen> | need to mentally page in stuff |
12:01 | <MikeSmith> | hsivonen: unfortunately it's also been so long since I first wrote that patch that I need to go back and retrace what I was thinking myself and compare it to the spec |
13:33 | <wanderview> | Domenic: it appears streams API is on http://www.webkit.org/status.html |
13:37 | <Domenic> | wanderview: indeed :D |
13:38 | <wanderview> | Domenic: I guess if they don't have fetch or serviceworkers, then it must just be a js-only thing to start |
13:39 | <Domenic> | wanderview: yeah, that's what the code looks like; new ReadableStream() is the focus. |
13:39 | <Domenic> | wanderview: I am implementing that this week actually... in Munich working with the V8 team to make self-hosting in Blink better. |
13:39 | <wanderview> | Domenic: cool! |
13:40 | <wanderview> | webkit having removed SharedWorker seems to not bode well for ServiceWorkers there |
13:40 | <Domenic> | Yeah... their reasoning especially... |
13:40 | <Domenic> | Still I can't imagine they're going to be OK missing out on the service worker revolution. |
13:41 | <Domenic> | Array.prototype.includes is also nice haha, got my feature |
13:42 | <wanderview> | implementing Force Click... wonder how that plays with pointer events, etc |
13:43 | <Domenic> | heh yeah... that's one of those apple "spring new prefixed features on everyone!" fun times |
13:46 | <wanderview> | Domenic: btw, I hope to do some kind of system test for async read vs sync read this week... I will probably just build on top of released chrome fetch body stream... I'll make a pure js transform stream that does some parsing... it will then expose either does the Promise-for-every-read or a ready-promise-with-sync-read... then measure differences |
13:46 | <wanderview> | I don't feel I have time to prototype something in the gecko platform in time |
13:47 | <Domenic> | wanderview: awesome, will be good to have. We're looking into optimizing our promise impl so that this is a non-issue... the overhead is hurting lots of APIs that want to use promises, e.g. some CSS custom layout stuff. |
13:48 | <wanderview> | Domenic: do those other APIs encourage relatively tight async loops? that seems somewhat unique to Streams as far as I know |
13:48 | <Domenic> | wanderview: yeah, they deal with many promises per frame |
13:49 | <wanderview> | ah, its a Promise thing for animations or something? not familiar with that API |
13:49 | <Domenic> | yeah it's new, Houdini stuff if you're familiar with that term |
13:49 | <wanderview> | oh, the display worker or whatever? |
13:49 | <Domenic> | The idea is to allow customization of layout by JS code, but they want to make all access to layout properties async |
13:49 | <wanderview> | Domenic: I updated this last week with new data, btw: https://docs.google.com/spreadsheets/d/1rl6mbD2z1x1bgJLD6y9KJLYWjppB7BujfiWvUMjYTVs/edit?usp=sharing |
13:49 | <wanderview> | after we removed the setTimeout from benchmark.js |
13:59 | <Domenic> | Still weirded out by Bluebird's poor performance |
13:59 | <Domenic> | Should be using MutationObserver |
14:00 | <wanderview> | Domenic: what do you mean by poor performance there? bluebird is better than Chrome and Firefox native promises |
14:00 | <wanderview> | are you looking at the "new data" tab? |
14:00 | <Domenic> | Nope! |
14:01 | <Domenic> | the degradation is still surprising to me though |
14:01 | <Domenic> | microtask hits should in theory be one-time |
14:01 | <Domenic> | then you get into a fast loop |
14:02 | <wanderview> | Domenic: I think I'm convinced its more GC costs now |
14:02 | <wanderview> | but I haven't profiled |
14:02 | <Domenic> | yeah maybe, although my recent experiments made it seem like chrome wasn't GCing at all while the loop was ongoing |
14:03 | <wanderview> | the slowdown could be at the end of the loop, but would still reduce overall ops/sec measurements |
14:03 | <wanderview> | and in an "infinite" loop, it would have to GC at some point |
14:03 | <wanderview> | I guess that would be on I/O |
14:05 | <smaug____> | wanderview: you don't have results for nightly/desktop ? |
14:05 | <smaug____> | (though, I guess nightly has those few regressions atm) |
14:05 | <wanderview> | smaug____: I didn't measure nightly, but I could... things are worse there, though, because of the async stacks |
14:06 | <smaug____> | right |
17:18 | <wanderview> | jsbell: do you follow your github/critic email? you do you want me to paste the new review links to you here or in a separate email? |
17:22 | <jsbell> | wanderview: I have them all, just need to find time to get to them :( |
17:30 | <trevnorris> | Domenic: strange thing. using "this.constructor" in a class constructor makes V8 barf on performance: https://gist.github.com/trevnorris/0b7b208e420a4d8f7fc2 |
17:30 | <trevnorris> | (done using latest 4.4 release) |
17:33 | <wanderview> | jsbell: cool... didn't want to spam you here if you checked that mail (seems like a lot of people mute github mail)... no rush on the review, just didn't want them to get lost |
17:33 | <wanderview> | thanks |
17:33 | <wanderview> | and I have two more PRs to write |
18:29 | <gsnedders> | jgraham: https://critic.hoppipolla.co.uk/r/4798 plz |
18:43 | <wanderview> | jsbell: does blink still need the MessageChannel thing for the SW tests? or do you support the Client postMessage() now? |
20:24 | <jsbell> | wanderview: sorry, was afk. We support postMessage now, not sure if it where the message is delivered is in sync w/ the latest spec though... |
20:25 | <wanderview> | jsbell: the comment in the code indicates its actually a problem with MessageEvent.source not being set when doing ServiceWorker.postMessage() |
20:25 | <jsbell> | that too... |
20:25 | <wanderview> | jsbell: I tried to make it favor MessageChannel for now, but fallback to ServiceWorker.postMessage()... just let me know in the review if thats not needed |
20:26 | <jsbell> | wanderview: noted |
20:26 | <wanderview> | thanks! |
20:31 | <wanderview> | hmm... or the MessageChannel code I was just looking at doesn't even exist in wpt upstream :-\ |
20:40 | <wanderview> | oh... its in the testharness.js submodule... oops |
21:20 | <Ms2ger> | "An extensive test suite for this specification <http://w3c-test.org/dom/> is available" |
21:20 | Ms2ger | cackles maniacally |
21:24 | <jgraham> | Where does it say that? |
21:25 | <jgraham> | And can we make it instead say "a somewhat lacking testsuite, that you should certainly contribute to, covers several of the features in this specification" |
21:26 | <jgraham> | gsnedders: Review done |
21:29 | <Ms2ger> | tr/dom/ |
21:29 | <Ms2ger> | Quoted by ArtB |
21:37 | <gsnedders> | jgraham: we're caring about performance of rarely run bits of test harness code now? |
21:38 | <jgraham> | gsnedders: Well really I care about removing one easy-to-understand line and replacing it with regexps + an implementation of UTF16 decoding |
21:38 | <jgraham> | But I also think it will be slower :p |
21:38 | <gsnedders> | jgraham: I'm just as worried about it also converting things like \xff and \0 |
21:39 | <jgraham> | Don't we control the data format here? |
21:39 | <gsnedders> | yeah, I know |
21:40 | <gsnedders> | I'd just rather follow the shared definition of the format instead of not |
21:41 | <jgraham> | Well whatever, I guess, but I think that implementing that ourselves when there's a library that does basically the right thing is crazy |
21:42 | <gsnedders> | ohhhh |
21:42 | <gsnedders> | now I rememeber reading the docs |
21:42 | <gsnedders> | "Decodes from Latin-1 source code. Beware that Python source code actually uses UTF-8 by default." |
21:43 | <gsnedders> | jgraham: that's why we can't |
21:43 | <jgraham> | Well comment then |
21:44 | <gsnedders> | that would be a good idea given I'd entirely forgotten :P |
22:05 | <caitp> | i'll buy someone a beer if they can explain to me how to read the mozilla telemetry dashboard's graphs |
22:05 | <trevnorris> | caitp: first you drink that beer, then another, and maybe one more. |
22:06 | <caitp> | i'm not really a beer person, but if you can explain the graphs, you can have your choice of whatever brew you like |
22:06 | <gsnedders> | caitp: what graph are you looking at, and what's not clear? |
22:07 | <gsnedders> | jgraham: |
22:07 | <gsnedders> | Merge 7e4dc99a adds merged-in commits. Please push the merge manually |
22:07 | <caitp> | someone asked how much of the web was using http2, and chromestatus doesn't have a metric for it, so I was looking at mozilla's spdy telemetry (spdy_chunk_received should be a reasonably good measure?) |
22:07 | gsnedders | grumbles at Critic |
22:08 | <caitp> | i'm not sure how you'd draw a "% of the web" conclusion from it, although some people apparently have |
22:09 | <gsnedders> | caitp: HTTP_RESPONSE_VERSION seems better |
22:09 | <jgraham> | gsnedders: Don't push merge commits? |
22:10 | <gsnedders> | if you change it to be a table, and cross-ref with nsHttp.h, you'll find "9" refers to HTTP/0.9, "10" HTTP/1.0, "11" HTTP/1.1, "20" HTTP/2.0 |
22:10 | <gsnedders> | jgraham: so never merge in master? |
22:10 | gsnedders | is used to Critic coping fine with merges from master… |
22:11 | <caitp> | ah I see |
22:11 | <gsnedders> | caitp: using the latest released version will probably give you better data |
22:11 | <jgraham> | gsnedders: Merging in master doesn't really help anyone |
22:11 | <caitp> | yeah i'm looking at rel39 |
22:11 | <gsnedders> | jgraham: it gets rid of merge conflicts sooner rather than later |
22:11 | <jgraham> | gsnedders: If you need to do that for some reason, push new commits and then make a move-type rebase |
22:12 | <gsnedders> | jgraham: your review tools are too fussy nowadays! |
22:12 | <jgraham> | Otherwise you end up with an even more confuisng history than normal |
22:12 | <jgraham> | Well yes, it is a bit fussy, but in this case it's right |
22:12 | <jgraham> | (it would be better if you could rebase and push new commits at the same time) |
22:13 | <gsnedders> | Soz, I'm still not used to Critic coping with rebases. |
22:14 | <gsnedders> | caitp: really the trick most of the time is to guess probable strings related to what you want, then check in the code to make sure it's getting the data you want :P |
22:15 | <gsnedders> | (in my experience) |
22:15 | <caitp> | well, using that table it came out to about 18% of submissions |
22:16 | <caitp> | offset that by the number of people only browsing facebook, and it seems not inaccurate |
22:16 | <caitp> | *taken with grain of salt |
22:16 | <gsnedders> | caitp: huh, for me on rel37 it's 10% |
22:17 | <caitp> | oh. i mathed wrong |
22:17 | <gsnedders> | :) |
22:17 | <caitp> | didn't add the 20* items to the total before calculating |
22:33 | <gsnedders> | SimonSapin: hah, I just have an odd habit of maintaining stuff in languages I don't use much :) |
22:35 | <SimonSapin> | gsnedders: oh yeah, I’m still maintaining some python libraries |
22:35 | <SimonSapin> | kind of |