mozilla :: #servo

16 Apr 2017
00:12GankroSimonSapin: nice, I already corrupted my index with worktree. GG
00:13KiChjang!crate mopa
00:13rustbotmopa (0.2.2) - My Own Personal Any: get your own Any with additional functionality -> https://crates.io/crates/mopa <https://docs.rs/mopa>
00:14KiChjang!gh 27745
00:14rustbot[Issue 27745] <open> Tracking issue for type_id stabilization <https://github.com/rust-lang/rust/issues/27745>
00:16SimonSapinGankro: how
00:17GankroSimonSapin: `git checkout xxx` `rm -rf xxx`
00:17Gankroerr `git worktree checkout xxx`
00:17SimonSapinGankro: git worktree prune
00:18GankroSimonSapin: I have a distinct feeling you&#39;re advising me to &quot;just fix it with a rebase&quot;
00:18SimonSapinhttp://amgrowcorporate.net.au/barmac/wp-content/uploads/sites/3/2016/01/prunes.jpg
00:18Gankro
00:20KiChjangSimonSapin, i want
00:51Gankrohuh, bincode halves the space used by IPC (compared to transmute)
00:51Manishearthand time?
00:52GankroIt looks like msg send time shrinks proportionally, but we gain time in serial/deserial costs
00:52GankroI need to finish the migration to do a proper evaluation
00:54Gankro(net time loss in early tests)
00:54Gankroerr, which is to say a regression
00:55Gankrojrmuizel: hey since you just popped in: the msg send improvements I saw are because bincode is a really effective compression function. Half the bytes sent.
01:33KiChjanggetting the transfer method working in message port is so important, i pushed my WIP branch to my GH fork
02:40SimonSapinGankro: bincode sends fewer bytes? I didnt expect that. Are there lots of enums with discriminants padded to 8 bytes?
02:40GankroSimonSapin: DisplayItems are enums, so it seems plausible
05:10emiliocrowbot: tell pyfish_ there are different versions of the selectors spec, that exact change is https://drafts.csswg.org/selectors-4/#negation, and it&#39;s tracked in bug 1348802
05:10crowbotthere&#39;s a phone right next to you, but okay
05:10firebothttps://bugzil.la/1348802 NEW, nobody@mozilla.org stylo: Servo implements selectors-4&#39;s :not, Gecko implements selectors-3
10:14noxemilio: What changed about :not()?
10:14emilionox: in selector-3 you couldn&#39;t have lists or combinators
10:15noxemilio: Don&#39;t we already support that?
10:15emilionox: we do, Gecko doesn&#39;t, that&#39;s the difference :)
10:15noxOh, ok. :)
10:15noxemilio: I implemented it, hence the questions. :P
10:19noxemilio: So I guess for :matches() it only supports simple selectors too, right?
10:19emilionox: yeah, it doesn&#39;t support :matches() per se, only :-moz-any I think (which is its previous name)
10:20noxemilio: selectors-4 is the current version now, right?
10:24emilionox: yes
10:25noxSHIP IT
10:32emilionox: we need to make sure we handle dynamic restyling for that correctly, which at least wasn&#39;t true until a few days ago :)
10:33noxemilio: Was that a matter of which kind of selectors was accepted?
10:34emilionox: nope, a matter of triggering restyling properly if, for example, you had :not(div + span) and you had <span></span> and then insert a <div> before it :)
10:46noxOh I see, we had similar issues with :nth-child() and friends a while ago.
12:23Manishearthwooo writing mode fixes
12:26Manishearthyesterday at the museum there was a document with ALL THE WRITING MODES
12:26Manishearthincluding the funky sideways mongolian one
12:39Manishearthhttps://twitter.com/ManishEarth/status/853587964332343298
22:45cynicaldeviljdm: ping
22:45jdmcynicaldevil: pong
22:46cynicaldeviljdm: I can&#39;t understand the difference between a request&#39;s asscoiated url and its current url
22:46cynicaldevilELI5
22:47jdmcynicaldevil: associated url is the original url used to initiate the request
22:47jdmcynicaldevil: current url is the most recent url retrieved as part of that request
22:48cynicaldeviljdm: Where did you get this from? The spec doesn&#39;t mention this..
22:48jdmcynicaldevil: those are inferred from the descriptions in the spec
22:48jdm&quot;Implementations are encouraged to make this a pointer to the first URL in requests url list. It is provided as a distinct field solely for the convenience of other standards hooking into Fetch.&quot;
22:49jdmsince the url list is a queue, the first entry is the original url
22:49jdmA request has an associated current url. It is a pointer to the last URL in requests url list.
22:50cynicaldeviljdm: got it.
22:57cmrDoes Servo intend to use *ring*/webpki in the future?
22:57jdmcmr: ideally yes
22:58cmr&quot;ideally&quot; worries me :) is the problem compat with old/poorly configured servers?
22:58* jdm would have to defer to avadacatavra here
22:59cmrI ask because I&#39;m currently working on formal verification of the assembly portions of *ring*, and am curious if that&#39;s the sort of thing I might apply to MOSS for.
23:00jdmmmm, interesting
23:02cmrIt might also apply to openssl&#39;s impls, I don&#39;t know how much boringssl has changed them.
23:14cynicaldeviljdm: The test summary is showing a JSON parse error, essentially saying that the file only contains an EOF. Any idea why this might be happening?
23:14jdmcynicaldevil: which summary where?
23:15cynicaldevilThe data at the bottom of the debug logs
23:15cynicaldeviljdm: wait I&#39;ll share it
23:15cynicaldevilhttps://www.irccloud.com/pastebin/RkCAjdON/
23:15cynicaldeviljdm: ^
23:16KiChjangwait, how is jdm online on a sunday
23:16KiChjangoh wait, timezones
23:16jdmmonday morning!
23:16jdmcynicaldevil: huh, that&#39;s interesting
23:17jdmcynicaldevil: that might be a byproduct of no output coming from the test at all
23:18cynicaldeviljdm: why would that be happening?
23:21jdmcynicaldevil: the fact that the test is NOTRUN means that https://dxr.mozilla.org/servo/source/tests/wpt/mozilla/tests/mozilla/referrer-policy/generic/referrer-policy-test-case.js#111 was never reached
23:21jdmand https://dxr.mozilla.org/servo/source/tests/wpt/mozilla/tests/mozilla/referrer-policy/generic/common.js#186 is the invoker
23:23KiChjangjdm: was there a reason to make native rust/C++ objects to represent actual JS objects, and then have JS reflectors containing references to said native object?
23:23jdmKiChjang: can you be more specific?
23:23jdmwhich JS objects are we talking about?
23:23KiChjangdon&#39;t all DOM objects have a reflector associated with it?
23:23KiChjangwell, not JS in that case
23:23KiChjangi really meant DOM
23:24jdmyes, all DOM objects have a JS reflector
23:24KiChjangwhat&#39;s the reasoning behind this though?
23:25jdmthe reasoning behind JS reflectors is so JS code can interact with native objects
23:25jdmthe reasoning behind &quot;all DOM objects&quot; is to ensure the GC has full visibility over the object graph
23:25jdmotherwise there can be GC cycles that aren&#39;t visible to the GC
23:26KiChjangbut as magic DOM has proposed, we&#39;re going to instead uplift all of the native DOM objects to JS instead, correct?
23:27jdmI forget if that&#39;s all DOM objects or not, but yes, the point of that was to eliminate the native DOM objects
23:27cynicaldeviljdm: If I try adding console.log statements to the file the check whether the code was executed, where can I see them?
23:27jdmcynicaldevil: in stdout
23:27jdmcynicaldevil: if you run that particular test by itself
23:27KiChjangso in retrospect, this looks like a much more intuitive design than having native objects and reflectors
23:30KiChjangi&#39;m just wondering why there wasn&#39;t a move to change this before in gecko
23:30jdmKiChjang: from a design standpoint, that&#39;s possibly true (and it&#39;s kind of an extreme version of the original dom.js idea)
23:30jdmKiChjang: from an implementation standpoint, it&#39;s more or less a nightmare :)
23:30KiChjangwait, so having native objects and reflectors is actually easier?
23:30KiChjangi would&#39;ve assume the intutive solution would be the straightforward one
23:31KiChjangsince everything is in JS and you don&#39;t need to interact with the JS GC
23:31jdmKiChjang: so magic DOM does not involve migrating all of the native code to JS code
23:32jdmKiChjang: it involves finding a way to automatically translate native code into a format that can directly interact with JS values inside of JS objects instead of using members of native Rust objects
23:32jdmKiChjang: if that automatic translation isn&#39;t there, then it&#39;s even worse because the JS APIs for manipulating objects are difficult to use
23:33jdmhttps://github.com/andreasgal/dom.js is the more intutive design (write everything in JS)
23:34KiChjanghmm, this automatic translation that you speak of sounds like some form of black magic to me
23:35jdmKiChjang: yeah, that was one of the big concerns about the proposal when it was first made
23:35KiChjangwell, hence the name
23:35jdmKiChjang: https://github.com/servo/servo/wiki/Mozlando-Servo-MagicDOM
23:36jdm&quot;I am creating a statically typed language that compiles to JS &quot;
23:36jdm&quot;uses the Rust parser, looks like Rust syntax, simplified version of the language &quot;
23:36jdm&quot;Could be converted into a Rust compiler plugin, so code can be inline in Servo DOM code.&quot;
23:37KiChjanggood, someone who speaks the same language as i do finally
17 Apr 2017
No messages
   
Last message: 7 days and 6 hours ago