-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GTK+ #1
Comments
This looks like it's because you don't call
I have no idea why that's necessary. But likely related to WebRender. You might want to file a bug under servo/webrender.
It's because both Servo and epoxy use gl_generator. I think it's fine to update Cargo.lock and target a higher version.
Yes! Probably what would help us the most would be a gtk port to https://github.com/paulrouget/servoshell (see under src/platform). Also - you work on Titanium right? I'd love to hear more about what would be necessary for you to fully support Servo. Titanium is a perfect example of what we want to achieve with Servo in term of embedding. |
Thanks for your answer. Yes, I currently use Also, I'm not sure if My plan was to port the And yes, I'm the maintainer of titanium. |
Using the same version of servo?
By glutin version, you mean the glutin version of
Ok.
Usually, you need to tell the owner of the OpenGL buffer to resize the buffer on resize.
Cool! Can you do it in a multiplatform way?
We would be very interested to help making it possible to embed Servo in Titanium. We might not match the Webkit2GTK API, but it would be great to be able to build a wrapper around libservo that exposes the Webkit2GTK API, for a drop-in replacement. |
I think it's the same version of servo because I forked this repository to create the gtk version. By glutin version, I indeed mean the version of Yes, my gtk version of I'm not sure that matching the |
Sure. I'd like to understand what you need exactly to make the port possible. Feel free to file a servo/servo issue, or a titanium issue (and cc me) with a list of feature that you need. |
I fixed the remaining issues in my gtk version of this project. I use the same revision of For titanium, I need the usual browser events (history forward, backward, load URL, …), but also the ability to change the DOM from Rust. |
\o/
Yes. It's the servo-embedding-example/src/main.rs Line 138 in e7f0c33
Maybe the way you initialize OpenGL?
Thanks . cc me when you do. |
I've fixed the rendering issue by enable the depth buffer. |
I don't know. I know that on macos we set NSOpenGLPFAStencilSize to 8 by default. |
I now have a gtk binding and an application similar to |
If you have to call it for every call, that means you're not flushing the GL buffers correctly.
Not supported yet. I'll get to this asap. |
Can you explain more in details what your binding does? |
Yeah, I know that The Also, I wonder if you could test the examples on a Mac. Thanks for your comments. |
I'm not sure to understand this. Why do you have to use this message if it's not for tab switching?
A new object? As in, a new GL surface every time? |
It is needed to switch tab, but I mean that in the webkit2gtk API, we don't need to do that which is convenient and I try to reproduce this API. Yes A new GL surface is created every time. Thanks. |
This is where things differ here. In Servo, we only have one GL surface used by all the browsers. I'm actually surprised it is working for you :) As of now, Servo doesn't support multiple compositors (multiple gl surfaces for one instance of servo). |
So, I guess we will need this feature in Servo to support multiple windows? |
Hello.
I forked this repository and adapted the example to work with GTK+:
you can see my current work here.
There are some minor issues (documented at the top of
src/main.rs
) and I'm not sure on how to fix them, but it works nevertheless (if you see a black window, just move the mouse over it).This uses my fork of epoxy that is yet to be merge upstream.
I hope you find this interesting and I wanted to tell you that I'm interesting to contribute to make a gtk binding for servo.
To make it work, I had to comment this line when doing the epoxy gl generator.
Otherwise, the application aborted with an error about glPushGroupSomething.
Also, I had to fix some dependencies to specific versions and I don't know why.
Without that,
cargo
complained about not being able to choose between different versions of the crates.Do you know how to fix these issues?
Thanks.
The text was updated successfully, but these errors were encountered: