Page 1 of 2

ChromiumFX - New .NET bindings for CEF

PostPosted: Mon Feb 23, 2015 8:28 am
by wborgsm
This is not just a .NET wrapper for CEF but also a complete remoting framework between the browser process and the render process. Embedding applications can use the full power of CEF including access to the browser's DOM and V8 right out of the browser process. No need to split logic between browser process and render process, IPC is handled transparently by the framework.

On top of ChromiumFX, the project includes a Windows Forms WebBrowser control with advanced features like injection of javascript functions with c# callback and access to the browser's DOM, everything contained inside the browser process.

Project and Wiki:
https://bitbucket.org/chromiumfx/chromiumfx
https://bitbucket.org/chromiumfx/chromiumfx/wiki/Home

EDIT: new project locations.

Re: ChromiumFX - New .NET bindings for CEF

PostPosted: Mon Feb 23, 2015 10:32 am
by magreenblatt
Nice! Would you like to be linked from the main CEF project page? You can also add yourself to the CEF Wikipedia page: http://en.wikipedia.org/wiki/Chromium_E ... _Framework

Re: ChromiumFX - New .NET bindings for CEF

PostPosted: Mon Feb 23, 2015 10:54 am
by wborgsm
Thank you! Linking from the CEF project page would be great, yes. I also added the project to the Wikipedia page.

Re: ChromiumFX - New .NET bindings for CEF

PostPosted: Mon Feb 23, 2015 11:58 am
by magreenblatt
wborgsm wrote:Thank you! Linking from the CEF project page would be great, yes.

Done :)

Re: ChromiumFX - New .NET bindings for CEF

PostPosted: Sat Mar 21, 2015 8:20 am
by wborgsm
Hi,
I moved the project to it's own account on Bitbucket. Could you please update the link on the CEF project page? New location:
https://bitbucket.org/chromiumfx/chromiumfx

PS: I already updated my CEF links to the new bitbucket project page too :)

Re: ChromiumFX - New .NET bindings for CEF

PostPosted: Mon Mar 23, 2015 5:37 pm
by magreenblatt
wborgsm wrote:Hi,
I moved the project to it's own account on Bitbucket. Could you please update the link on the CEF project page? New location:
https://bitbucket.org/chromiumfx/chromiumfx

Done :)

wborgsm wrote:PS: I already updated my CEF links to the new bitbucket project page too :)

Thanks!

Re: ChromiumFX - New .NET bindings for CEF

PostPosted: Tue Dec 15, 2015 5:25 am
by MrBob
I'm moving from MSHTML to CEF (in .Net) and need to make a choice which .Net CEF wrapper to go for. I'll use if for an advanced rich-text editor (only local HTML source)
It seems CefSharp and Xilium.CefGlue are already well-established projects, what's the reason for yet another project - > ChromiumFX?
What makes ChromiumFX special?
Why did the developer(s) of ChromiumFX not put the energy in one of the already existing projects instead?

I've already played around with CefSharp.
Would it make sense to ask "which project is the best"? ;)

Re: ChromiumFX - New .NET bindings for CEF

PostPosted: Tue Dec 15, 2015 11:54 am
by wborgsm
Hi
author here

> Why yet another project?

Well this is my motivation:

1) A full two-way (library calls and client callbacks) RPC bridge between the render process and the browser process, so I could get access to the V8 engine and the DOM, both of which live in the render process, from within the browser process.

2) An event-driven model for CEF client callbacks instead of handler base classes and/or interfaces, so I could easily access a single callback (or a subset of callbacks) without subscribing to all the callbacks in that handler. Unused callbacks in each handler don't have to do native/managed transitions, they are not even subscribed at the CEF layer.

3) A fast pinvoke layer dealing exclusively with blittable types and pointers. CEF types are not opaque, so this involved the creation of a native layer to wrap the CEF types into opaque types. The two other options are basically using c++/cli, which implies dependencies on VC runtime libraries, or redefine the CEF types as managed types, which implies a lot of copying at the pinvoke layer. The native layer is a statically linked dll without dependencies on VC runtime dlls - if libcef.dll works, then libcfx.dll works as well.

4) A generator for the wrapper types that allows me to switch between CEF versions by replacing one set of CEF C headers by another set of CEF C headers and pressing a button.

Caveats:
#4 isn't perfect yet, sometimes there is a change in the CEF C API that needs to be addressed with an update of the generator.
No cross-platform support - it's windows only. Some work has been done to support linux, and a working prototype exists, but it's just a proof of concept lacking many features (most notably the RPC layer is not working and so isn't the webbrowser control). Currently I don't have time to work on cross-platform support so it's not going to be ready anytime soon, I guess.

> Would it make sense to ask "which project is the best"?

Well, I only know which project is best for me ;)

Re: ChromiumFX - New .NET bindings for CEF

PostPosted: Fri Jan 15, 2016 3:10 pm
by KingSora
Hi!

Is it possible to run chromiumfx on WindowsForms with a transparent background?

Best regards.

Re: ChromiumFX - New .NET bindings for CEF

PostPosted: Sun Jan 17, 2016 6:43 am
by LeMoussel
Does ChromiumFX run with Mono on Linux system ?

Nice project.Thanks four your work. 8-)

Best Regards.