mozilla :: #servo

12 Aug 2017
01:01bholleybirtles: ping
01:06hirobholley: sorry, I fall asleep again. :) Now I left a comment for the additional patch.
01:06bholleyhiro: haha
01:07bholleyhiro: hm. So you're saying we still want to pass ForAnimationOnly from ServoRestyleManager::UpdateOnlyAnimationStyles?
01:07hirobholley: yes, I think so.
01:08bholleyhiro: because it's useful to the Rust side? Or just for the part that you mentioned in the comment?
01:09hirobholley: it's not related to rust side.
01:09bholleyhiro: because right now, the ForAnimationOnly flag will cause the Rust side to skip the regular traversal
01:09bholleyhiro: or rather, do the animation-only traversal twice
01:10hirobholley: ok let me look it into detail.
01:11hirobholley: Ok. we should pass the flag to EffectCompositor::PreTraverse(), and shouldn't pass to Servo_TraverseSubtree().
01:11bholleyhiro: ok, maybe we can use a different kind of flag then
01:12hirobholley: yeah, sounds good.
01:12bholleyhiro: (are you around for the next few minutes to look at the resulting patch, or do you need to leave?)
01:12hirobholley: sure I can stay here.
01:13bholleyhiro: ok. And if I understand correctly, birtles' objection was just about the naming?
01:13hirobholley: birtles says that we should check HasThrottledStyleUpdates() for gecko too.
01:14bholleyhiro: oh wait, I was looking at the wrong bug - hah
01:14hirohiro: :)
01:16bholleyhiro: or I guess maybe it's easier to just add a new flag that Servo ignores. I'll do that and eliminate the enum
01:17hiroI am fine with either way.
01:27bholleyhiro: so, right now, we unconditionally do a non-throttled PreTraverse on the compositor for the second restyle
01:28bholleyhiro: under the new scheme, should I explicitly remove the FlushThrottledAnimations flag from the flags I pass, or is it ok to pass it to the second traversal too?
01:28bholleyhiro: i.e. if we flush throttled animations the first time, does that mean there are no throttled animations to worry about the second time?
01:29hirobholley: yes, I think we don't need to worry about the second animation-only restyle for the flush throttled case.
01:29bholleyhiro: ok, so I'll just pass FlushThrottledAnimations to both - that's easiest
01:30hirobholley: thanks!
01:38bholleyhiro: (almost done...)
01:41bholleyhiro: do you want the combined part 1, or just the modifications I made?
01:41hirobholley: either way you prefer to.
01:45bholleyhiro: uploaded
01:45hirobholley: looking.
01:50bholleyhiro: great! I'll get it pushed. :-)
01:50hirobholley: thank you!
01:51bholleyhiro: thank you!
01:51bholleyhiro: so glad to see this code get simpler
01:51bholleymakes my restyle root stuff a lot easier too
01:52hirobholley: yeah so am I. Your idea to do normal restyle even in the case of flush throttled animation is great.
05:23paulajeffrey: still around?
05:27paulcan someone delegate #17425 to me?
05:27crowbotPR #17425: cleanup embedder/compositor/constellation/script messages -
05:33paulcanaltinova: thanks :)
05:33canaltinovapaul: np :)
10:07cynicaldevilnox: ping?
10:08noxcynicaldevil: Pong.
10:10cynicaldevilnox: Is there any way to do a try run for servo using a html5ever version from someone's GH fork?
10:11noxcynicaldevil: Yes, use [patch] or [replace].
10:11noxThe Cargo.toml sections, that is.
10:31heycamreally, the number of times I type ServoStyleSet instead of ServoStyleSheet -_-
10:40emilioheycam: the patch for the facebook thing was becoming so gross I decided to fix the frame constructor paths instead, pray for me :)
10:41heycamgood luck :x
10:41heycamstill getting my cascade rebuilding patches in shape...
10:42heycam(14 patches in the queue so far)
10:42* heycam will try to get a try run off before dinner
10:45emilioheycam: I actually have some green stuff
10:45emilioheycam: will post a patch for feedback soon, still need to fix XBL on stylo, and some fragmentation tests which I'm pretty sure it's not my patch's fault :)
10:52emilioheycam: does look reasonable to you?
10:53heycamemilio: I don't think that's something I can answer without reading the patch in detail, which I don't have time for right at the moment!
10:54emilioheycam: fair enough, no problem :)
10:54* emilio goes see what's up with XBL
10:54heycambut in general I'm prety unsure about the requirements around when frame construction can be sync or not sync
10:54heycami.e. what other things are relying on that
10:55noxemilio: There?
10:55emilionox: yes
10:55noxAm just hyped about what I'm writing and wanted to show you. :)
10:56emilionox: makes sense to me, looks nice :)
10:56emilioheycam: fwiw, I discussed this yesterday w/ boris to make sure it's doable :)
10:56emiliogah, sorry fwiw
10:57travis-ciServo failed to build with Rust nightly: CC nox, SimonSapin
10:57heycamemilio: ok, he would be the person to ask, yes :-)
10:57heycamI think bz is on PTO for a week from nowish
10:57emilioheycam: (convo from
10:58emilioheycam: if you're curious
10:58emilioheycam: yeah... not like these patches are going to bitrot :)
10:58* emilio thinks the frame constructor is one of the less bitrot-prone places ever
10:59emilioheycam: still, do you know who's the right person to ask about the grid-fragmentation-dyn2 reftests? Looks like they're failing with my patch, and I'm 99% sure it's not my fault
10:59emilioheycam: I guess mats or dholbert?
10:59heycamemilio: mats definitely
10:59heycamwho I thought should be back from PTO by now
10:59heycambut maybe not?
11:00heycam(maybe later this month?)
11:00emilioheycam: ok, cool... will ask him (it's saturday anyway, don't expect to get an answer today)
11:01fwiwemilio: it's okay :)
12:36nox"error: aborting due to 33 previous errors"
12:40noxemilio: ComputeSquaredDistance should be straightforward to derive. \o/
12:48cynicaldevilnox: My plan works!
12:48crowbotPR #18056: Do not merge: Testing a solution to end TreeBuilder's reliance on DOM. -
13:04noxemilio: Moving the methods out of Animatable triggered type errors for the types that were missing the methods, hah.
13:05noxThat's a good argument against merging traits together.
13:27emilionox: yeah, that's fair
14:11ajeffreypaul: still here, did the delegate sort you out?
17:10pcwaltonstandups: Wrote some initial Loop-Blinn GLSL shaders (untested as of yet) and the demo code to fetch and compile them.
17:10standupsOk, submitted #49474 for
17:27noxmystor: It would be nice to have a Structure::fold method that doesn't use the initial value if the iterator if there is one field or more.
17:27noxs/if the iterator // what
17:27mystornox: How would the API look for that?
17:27noxmystor: No idea, but in my case I avoid some maths if there is only one value.
17:28noxmystor: Maybe just another function with a different name?
17:28noxIt takes the same arguments anyway, given the initial value must be used if there are 0 fields.
17:28mystornox: if you have 2 fields, what do you use as the first argument to the first call?
17:28noxmystor: The first field.
17:29noxOh right, the closure must behave differently.
17:29mystornox: ok, and if you have 1 field you always pass it through unchanged?
17:29mystorthat feels like a bit of a fringe use-case :-/ - I'd probably use each_variant and then custom logic for that
17:30noxmystor: And another question, nothing in the current API exposes the vector of variants of the derive input, right?
17:30mystornox: I think you could do each_variant(|v| { let b = v.bindings(); quote!(#(#b)||*) }) or something like that?
17:30noxYeah that's what I do currently.
17:30mystornox: What do you mean by that? You can write `structure.variants()` to get a slice of variant objects
17:31noxThat's with your PR, right?
17:31mystoryeah, in my PR
17:31mystorin the current API that data is never made avaliable
17:31noxYeah that's what I meant.
17:31mystorkk, yeah
17:31noxI need it because I need to build match arms myself and do match (self, other) {... }.
18:02Manishearthnox: is the neq code actually used? for what?
18:03noxDon't know.
18:04Manishearthif it isn't, then removing it won't help us
18:04noxI assume the list in the ticket is from a stripped binary.
18:06mystornox: fair, I think you can do that with the new API
18:06mystornox: Using Variant::pat()
18:32Jayfluxhey all, anyone know why i would get - note: LINK : fatal error LNK1181: cannot open input file 'advapi32.lib' on build
22:06nox#[derive(Clone, ComputeSquaredDistance, Debug, HasViewportPercentage, PartialEq, ToAnimatedValue, ToComputedValue, ToCss)]
22:23cbreedenSurprised someone hasn't extracted the standard library derives into acronyms yet. #[derive(CCDPePoH)]
22:43Manishearthcbreeden: servo's #[dom_struct] expands to like 5 different attributes
22:51noxeagle: "Showing 26 changed files with 554 additions and 740 deletions." incoming :p
22:52noxcbreeden, Manishearth: #[dom_struct] == #[derive(DenyPublicFields, DomObject, HeapSizeOf, JSTraceable)] #[must_root] #[repr(C)]
22:56noxErr, s/eagle/emilio/ hah.
22:56noxemilio: r? ^
23:16emilionox: looks fancy, but not trivial enough for me to review from my phone a Saturday night ;)
23:16emilionox: so will review tomorrow if that's fine for you :)
23:16noxOf course!
23:17noxI would say no to Sunday reviewing though. :P
13 Aug 2017
No messages
Last message: 9 days and 21 hours ago