> What does "3rd party project" mean in this case? It's not clear to me how you 
> could do a CEF wrapper externally without forking and removing glutin 
> entirely.

Why do we need glutin for CEF? If I'm not mistaken, the only part of
glutin that is useful in this case is creating the GL buffer, right?
And that's not hard to do manually.
So CEF could live in another project. Use servo as a dependency. Like
we did for servoshell (where we don't rely on Glutin). All we need to
do is 1) create the gl buffer, 2) implement a simple event loop, 3)
forward the events as needed. We don't need glutin for that.

I might be missing something though. Let me know.

> What is the full set of features we're missing in upstream glutin?

Reparenting. Logo support.

> And can we uplift them?

Likely. But that requires some work (logo support should be easy).

My reasoning is because of 1) CEF is not maintained, 2) CEF could be
designed better (no dependency on glutin), 3) we need to unfork
glutin; dropping CEF would make our life easier.

In the future, if anyone is interesting in maintaining CEF, they can
revive the old code (using glutin or not, and as part of servo/ports
or not).

Embedding is possible today, on Desktop and mobile, but not via CEF.
If we decide that embedding *via CEF* is important now, then I'm happy
to try to upstream the reparenting code.

This will just delay unforking glutin more. That's it.
_______________________________________________
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo

Reply via email to