Navigation Menu

Skip to content

Meeting 2015 05 18

Lars Bergstrom edited this page May 18, 2015 · 1 revision

Agenda items

Attending

  • kmc, larsberg, mbrubeck, zmike, Manishearth, jack, Azita, pcwalton

Difficulties upstream in glutin

  • larsberg: In order to use glutin for our embedding use case, we needed to add a few more hooks. Upstream there was some reluctance to our changes.
  • zmike: There was some skepticism, and they don't want to merge our changes.
  • jack: Can we offer (i.e. volunteer gw) to do the work of maintenance? Was the maintenance burden the main reason for push-back?
  • larsberg: There was also a concern expressed about glutin not "becoming a toolkit." We can talk to tomaka to try and work something out.
  • kmc: Or maybe we can add hooks that let us split our needs into a complementary library?
  • jack: I think that's basically what we did.
  • kmc: So maybe we should make that argument.
  • zmike: I don't think we need to add anything more; we've implemented what we need.
  • jack: We just need to get it merged if we can, to avoid forking or diverging. So, where has the discussion been? On the issue?
  • larsberg: On IRC too. tomaka, gw, zmike and I have talked.
  • jack: I would rather do extra work than fork, if possible.
  • manish: Glutin also supports windows, so we need to do all 3.
  • jack: I'd rather spend a little time and do that, too, than fork and miss out on all upstream fixes.

Embedding

  • zmike: Back and working on embedding again! Since my last time here, there was a h/w accelerated patch for embedding, but it had no tests and it has bitrotted. I've repaired and have tried to get it into a mergeable state. However, adding tests is really hard. I tried to figure it out and couldn't make it happen. Can I get some help? Otherwise, this will regress again. Right now, embedding is in a good state - things render again! There is still a lot of work to be done (stubbing stuff out, redirecting browser compositing and eventing things). Can't estimate how long it will take because it's so huge.
  • zmike: pcwalton adn I talked about the CEF API and are going to stay with their stable. Every 3 months, they release and fix bugs in a version. We're currently on tip, but once that hits stable, we will stick on it for a while. We can now run apps with either chromium or Servo. So, it's pretty easy to judge perf & functionality based on that.
  • jack: Can we get a link to the bug on testing here in the notes? I was suppoed to help last time, will do so this time. Also, pcwalton has talked about switching to use CEF for everything. Has that been discussed in these meetings? Maybe for the Android port, too?
  • zmike: My understanding is that we'd use CEF on non-Android because there is a different embedding API on Android.
  • mbrubeck: Theoretically we could use it, but that would be a ton of extra work.
  • zmike: I think CEF doesn't even build on Android. There is no build of CEF for Android and it's not supported, so anybody writing some kind of app that embeds a browser on Android.
  • jack: Idea is that if you wrote an app using Servo via CEF you could just port it to Android?
  • zmike: That's a valid idea, but pcwalton has been thinking about that more lately.
  • mbrubeck: If you're actually writing an Android app, you want a Java library that you can embed. So, if we want to do embedding on Android, we want to provide a WebView. We could build it on top of the CEF API or directly against the Rust APIs. Which we choose should just be which one makes more sense internally. Shouldn't be thinking in terms of app developers using CEF to embed Servo on Android.
  • jack: Maybe chat about embedding plans for the future, next time pcwalton is on the call?
  • pcwalton: What API will you talk from the Java JNI to Servo? Maybe just use CEF anyway, since you need the offscreen rendering API. Not talking about exposing CEF to native Android apps.
  • mbrubeck: On Android now, just using Glutin, really only works for full-screen apps where we render the entire screen. It won't work for embedding inside of Android apps, either, so we do need an off-screen rendering solution to support that.
  • jack: To recap: we will switch the Android glue layer over to CEF?
  • pcwalton: Definitely for the embedding use case. Don't care for the full-screen browser case.
  • jack: Once we get a WebView, you mean?
  • pcwalton: That should use CEF internally. Otherwise, you have to duplicate it all anyway.
  • jack: Does Fennec provide a WebView?
  • pcwalton: It does sort of do that already (it's an embedded view in the native chrome), but it's not a real API provided externally. Ad-hoc JSON-based messaging interface.
  • mbrubeck: The part of Fennec that stuffs things in an Android WebView framework is stuff we can probably reuse.

Whistler training + meetings

  • larsberg: These are moving along. Trying to coordinate training with the platform teams to make sure we don't overlap. I'm working with Andrea (Andreas' admin) to coordinate space, etc. on this.
  • azita: Publicity? Try the Monday meeting, too, in addition to the e-mail.
  • larsberg: Will do!

Enabling RTL

  • mbrubeck: RTL layout in Servo - specifically the direction property from CSS2, not the vertical writing modes stuff, and not shaping of arabic/hebrew scripts, mostly works! Some edge case bugs with inline-block. One assertion failure with floats. Once a couple of those are fixed, I'd like to enable direction as non-experimental.
  • jack: You said direction from CSS2? Why was it experimental at all?
  • mbrubeck: It didn't work.
  • jack: My understanding of experimental was non-standard stuff. We have plenty of things that don't work that aren't behind experimental.
  • mbrubeck: Useful if we need to hide something that breaks things? It was added as part of the whole package of CSS3 writing modes support. That is experimental and also doesn't work. Maybe no reason to do so on direction.
  • jack: It will be totally uncontroversial to take it out of experimental.
  • kmc: Any scripts that look correct?
  • mbrubeck: I don't think so.
  • pcwalton: Biggest blocker is font fallback (which keeps failing on linux). Most of them fail on that. Need to land it first before RTL will start looking OK.
  • jack: Screenshots for the servo weekly update would be great! Lots of people will be excited that we're doing this early on.
  • kmc: Book of mozilla in ancient Phoenician!
  • jack: Just pick up the localized version in Arabic.
  • kmc: Hebrew might be closer to looking good...
  • jack: We found out because the korean version of that page exists, but broke everything in Servo.
  • mbrubeck: Should get the japanese one for vertical text, too! Once we can do it.
Clone this wiki locally