Skip to content
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

Chromium Embedded Framework as a universal fallback #703

Closed
1 of 2 tasks
Starz0r opened this issue Sep 26, 2022 · 3 comments
Closed
1 of 2 tasks

Chromium Embedded Framework as a universal fallback #703

Starz0r opened this issue Sep 26, 2022 · 3 comments
Labels
priority: low Nice to have

Comments

@Starz0r
Copy link

Starz0r commented Sep 26, 2022

Describe the solution you'd like
A feature flag like libcef-fallback or libcef-global-override. Having the flag enabled for a specific platform should just override the system's native webview component, or just utilize it when the system component either cannot initialize or cannot be found. Not sure if there is a way to get it to place nice with the system webview, since you can really only have one or the other, with no distinction.

Describe alternatives you've considered
There are CEF bindings for Rust, but they're almost 8 years old at this point, so I'd consider using them in any capacity to be a security risk. They're also not very idiomatic, being built for a very old version of Rust as well.

Would you assign yourself to implement this feature?

  • Yes
  • No

Additional context
My main motivation for filling this out was being able to render a webview offscreen as described in this issue: #391. Currently, only some platforms are actually capable of doing this (macOS & Linux), meaning this is entirely platform dependent. Having libcef support, and its raw settings & handle (similar to webview4gtk) properly exposed would mean I could implement most of this myself, without having to wait for Microsoft to support it in their own WebView2 product.

Doing this also means we also get some BSD support for free, just by having it. There are some other benefits like, mostly consistent rendering, JavaScript evaluations, DOM handling behaviors that I'd also consider a plus. CEF being a C shared library, also means you can just swap out the library for another that implements the same C API.

@amrbashir amrbashir added the priority: low Nice to have label Sep 29, 2022
@amrbashir
Copy link
Member

Tbh I don't think me or any one in the team are going to work on this, because:

  1. this needs a lot of time and efforts which we can't spare at the moment
  2. we are slowly exploring making our own webrenderer so any time or effort we have will be towards that instead of CEF

@Starz0r
Copy link
Author

Starz0r commented Oct 16, 2022

That's completely understandable, and exciting to hear! Having a stripped down webrenderer written in Rust would be amazing, and would satisfy the same use case for me, so I'm greatly looking forward to it.

@Starz0r Starz0r closed this as completed Oct 16, 2022
@m4heshd
Copy link

m4heshd commented Jul 26, 2023

2. we are slowly exploring making our own webrenderer so any time or effort we have will be towards that instead of CEF

This, as an optional feature would be really huge for the devs. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority: low Nice to have
Projects
None yet
Development

No branches or pull requests

3 participants