mozilla :: #servo

14 May 2017
00:20Manishearthcanaltinova not really but other folks like hiro may be able to help
00:20Manishearthyou can also get help lamding the gecko side in #developers
00:37hirocanaltinova yes I can help it in a next 8 hours.
01:07emiliocrowbot: is content intermittent?
01:07crowbot#16179 - Intermittent timeout in /html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html (
01:07crowbot#14607 - Intermittent pass of /html/semantics/embedded-content/the-iframe-element/iframe-allowfullscreen.html (
01:07crowbot#12592 - Intermittent crash of /html/semantics/embedded-content/the-iframe-element/iframe-allowfullscreen.html (
01:07crowbot#15988 - Intermittent crash ("no entry found for key" from FrameBuilder::build) in /html/semantics/embedded-content/the-iframe-element/iframe_javascript_url_01.htm, /_mozilla/mozilla/mozbrowser/reload.html and /_mozilla/css/stacked_layers.html (
01:07emiliocrowbot: is counter intermittent?
01:07crowbotNo intermittent issues filed with 'counter' in the title
01:09emiliohiro: could you land the gecko changes from bug 1360488 when #16819 lands?
01:09crowbotPR #16819: stylo: Propagate quirks mode information from Gecko to Servo -
01:09firebot NEW, stylo: Propagate quirks mode information from Gecko to Servo
01:09hiroemilio: sure!
01:09emiliohiro: that's the PR canaltinova wanted to land :)
01:10emiliohiro: thanks!
01:10hiroemilio: np!
01:27kvarkhow do I add a comment to ".ini" file in the test metadata? tried ";", "#", "[comment]", no luck
01:40emiliokvark: grepping for "issue" in the meta directory seems to me that you can use a syntax like the following:
01:40kvarkoh nice, thanks emilio
01:41emiliokvark: I'm not sure it's possible to put something more complex though
01:41emiliokvark: np! :)
09:19noxSimonSapin: r? ^
09:19SimonSapinnox: does quirky color support 4 or 8 digits?
09:20SimonSapinnox: thats a css-color-4 tihng
09:20SimonSapinthing, even
09:20noxSimonSapin: It is useful to expose the method but quirky colours don't need everything.
09:20noxSimonSapin: Doesn't matter though?
09:20SimonSapinnox: so quicky color parsing checks the length before calling this?
10:15noxSimonSapin: Ugh,
10:15noxSimonSapin: I wanted to just add a parse_quirky method on Color in Servo,
10:15noxSimonSapin: but in Servo's side it's just a type alias to cssparser's so of course I can't.
10:16SimonSapinnox: free function, or extension trait
10:17noxYeah I know.
10:17noxCan't do a free function though because IIRC mako stuff only handles methods.
10:17SimonSapindoes it?
10:18noxSimonSapin: Pretty sure it says parse_method.
10:20noxSimonSapin: ...
10:20noxSimonSapin: We are bad, aren't we?
10:21noxSimonSapin: r? ^
10:21* nox facepalms.
10:21* SimonSapin coughs
10:21noxAh ah.
10:22SimonSapinnox: version bump?
10:22noxSimonSapin: Done.
10:25noxSimonSapin: I think I'm going to try deriving ComputedValue this week.
10:25noxSimonSapin: It's going to be splendid.
10:25noxIt think hundreds of lines of code will go away.
10:25noxSimonSapin: Good thing you mentioned the length of the hash btw,
10:26noxSimonSapin: just looked at my code again, and noticed I didn't put the length check in the case of an ident token.
10:26SimonSapinpreemptive review :)
10:28noxSimonSapin: Am adding itoa to style, do you mind?
10:28SimonSapinwrite!() too slow?
10:28noxI wanted to know how many bytes are written, and the crate is quite small anyway.
10:29SimonSapinbah, on est plus a prs
10:30noxAh ah.
10:30SimonSapinmy trend of today: // FIXME: [] when borrows are non-lexical
10:30noxSimonSapin: What code?
10:31SimonSapinlet unborrowed = match { }; match unborrow { }
10:31noxSimonSapin: My biggest peeve these days is if let followed by else if.
10:31SimonSapinbetter as match?
10:31noxSimonSapin: Doesn't build.
10:32SimonSapinis the bug filed?
10:32crowbotIssue #41272: if clauses following an if let are compiled to match guards -
10:32noxSimonSapin: Fixed, but not in stable yet.
10:35noxhiro: Why did you add that dependency to
10:35firebotBug 1363986 ASSIGNED, stylo: Implement support of -webkit-gradient function
10:37est312008 as in, 9 years ago 2008?
10:38SimonSapinest31: welcome to web-compat
10:38est31this is sad :'(
10:38SimonSapinor in this case, to Apple shipping and advocating web platform features before theyre ready
10:39SimonSapinand before ever discussing them in public
10:39noxSimonSapin: Am confused. specified::Color isn't actually used for background-color and friends?
10:39SimonSapinnox: sounds unlikely
10:39noxSimonSapin: Ah never mind,
10:39noxSimonSapin: initial_value is the initial computed value.
10:49noxSimonSapin: Do I need to care about the authored field for a quirky color?
10:49SimonSapinnox: IIRC its a very inefficient way to deal with serialization
10:51noxSimonSapin: Ok.
11:06noxSimonSapin: Where are the expectations for stylo reftests?
11:07SimonSapinnox: **/reftest-stylo.list, I think
11:09SimonSapinnox: wait thats outdated. layout/style/test/
11:09noxSimonSapin: That's not for reftests, is it?
11:10SimonSapinif theyre not in there, I dont know
11:10noxSimonSapin: layout/reftests/image-rect/reftest.list
11:11noxErr, */reftest.list
11:19noxSimonSapin: Just remembered the passphrase of the SSH key I revoked yesterday...
11:20noxSimonSapin: HYPE
11:21noxemilio: Is that the issue about all them font-sizes being wrong?
11:31emilionox: nope?
11:31emilionox: that's about not being able to do :root { font-size: 100px; width: 4rem }
11:31noxemilio: Ok.
11:32emilionox: is there an issue for all the font-sizes being wrong?
11:32noxemilio: I think so but am too lazy to find that.
11:33noxemilio: IIRC some scaling issue or whatever.
11:35emilionox: heh, fair enough, will look for it
12:02SimonSapinnox: so, Im making an incremental Utf8Decoder that reconstructs code points whose bytes span input chunks. It has an internal buffer. When you reach the end of the input youre supposed to call the .end() method which returns an U+FFFD if the buffer is not empty. But Im worried that users might forget to call end()
12:03SimonSapinnox: what you think of making Utf8Decoder a drop bomb?
12:03noxI hate drop bombs.
12:03SimonSapinIf you dont call end(), Drop panics
12:03noxI understood.
12:03SimonSapinwhy hate them?
12:03noxIt's a bandaid and I don't like bandaids.
12:05noxSimonSapin: What about just having a test that checks that end was called?
12:05SimonSapina test?
12:05noxYes. Where Utf8Decoder is used.
12:05SimonSapinah, but this is a public API of the zbuf crate
12:05SimonSapinso its up to users to not mess it up
12:06SimonSapinand to maybe write that test
12:07noxSimonSapin: I assume the decoder will be stored somewhere by callers and they will have to feed input to it, right?
12:08noxI was wondering if we could have a function that takes a lambda, instantiates the Utf8Decoder itself and then does the cleanup accordingly, so that users never own the decoder, but I guess that wouldn't be easily usable.
12:09SimonSapinnox: right, the point is that you can call feed() in your network event loop
13:55noxSimonSapin: Do you mind if I r? you a big PR with a big "Refactor Gradient" commit?
13:55SimonSapinnox: do you mind if I procrastinate reviewing it?
13:55noxOn Sunday no, on Monday yes. :P
13:55noxI think it's easily bitrottable.
13:56SimonSapinhow big?
13:56noxSimonSapin: 18 files changed, 1443 insertions(+), 1409 deletions(-) :D
13:57noxSimonSapin: Is it acceptable to do a Bugzilla issue just with an expectation change patch and link to a Servo PR?
15:01canaltinovanox: yep. If you have L3 access you can also push your expectation update directly with r=yourself
16:11stshineIn net crate, when an image is loaded, does it delete the placeholder image?
17:45noxcanaltinova: Please don't do that,
17:46noxcanaltinova: there is quite a nice convention that the parse method never accepts quirks, and then you call parse_quirky with AllowQuirks::Yes if you want them.
17:46canaltinovanox: but I can't call parse_quirky from `predefined_type` helper
17:47noxYes you can.
17:47canaltinovanox: because it accepts 3 parameters
17:47canaltinovaok then :p changing
17:49canaltinovanox: but I still need a method for ClipRectOrAuto to parse quirky then
17:49canaltinovanox: do we have a generic method for Either
17:49noxcanaltinova: What do you mean?
17:49noxcanaltinova: Just make one.
17:50canaltinovanox: to do that I need a trait like `Parse` then
17:50noxcanaltinova: Why?
17:50canaltinovahow can I call parse_quirky?
17:50noxcanaltinova: Just make a parse_quirky method on ClipRectOrAuto?
17:51canaltinovanox: it's an option too
17:51noxcanaltinova: At some point parse_quirky should probably just be added to the Parse trait and default to calling parse,
17:51noxcanaltinova: but today is not the day, imo.
17:51canaltinovanox: :D
17:51canaltinovaok, I'll just write a method then
17:52noxTomorrow I'll make my PR for the generics::image.
18:02canaltinovanox: fixed it
18:03noxcanaltinova: Thanks! r+'d.
18:05canaltinovanox: np :)
18:07canaltinovanox: btw, new patch finally passes all unitless length quirks!
18:59cynicaldevilnox: yt?
19:54canaltinovaManishearth: thanks :)
20:22noxcynicaldevil: Yep, but not very available.
20:23cynicaldeviljust a general question, I saw that most of the code in servoparser/ had been modified?
20:23cynicaldevilnox: ^
20:23cynicaldevilBut I then noticed it was moved to Why so?
20:23noxcynicaldevil: Yes, along with most of h5e, there is now only one TreeSink impl.
20:24noxSimonSapin: x5e was moved into h5e and there is now a markup5ever crate for common stuff.
20:24cynicaldevilnox: What do you mean by 'along with most of h5e'?
20:25noxcynicaldevil: That it was reorganised. What I just mentioned.
20:25cynicaldevilnox: Ah ok.
20:25noxSorry, didn't mean to say it didn't fundamentally changed.
20:25noxDAMN IT
20:25noxI can't even negate a sentence anymore.
21:55SimonSapinnox: sooooo green
15 May 2017
No messages
Last message: 13 days and 3 hours ago