Page 1 of 7

CEF3 Development Status

PostPosted: Mon Feb 13, 2012 2:06 pm
by magreenblatt
Hi All,

I'm happy to announce that CEF3 has been released in source code form and binary release. CEF3 is a re-implementation of CEF using the new Chromium Content API. See the architectural comparison of CEF1 and CEF3 for additional usage and implementation details. You can also view the API documentation and source code online, or download and build the source code yourself. When filing bugs or feature requests for CEF3 please use the issue tracker and prefix the issue description with "CEF3: ".

Some advantages of the CEF3 architecture over the previous implementation include:

  • Support for both single-process and multi-process run modes.
  • More code sharing with the Chromium browser.
  • Improved performance and less breakage due to use of the "supported" code path.
  • Faster access to new features.
CEF3 currently supports the following features and capabilities:

  • Windows, Mac OS-X and Linux support
  • Most HTML5 features
  • HTML5 drag&drop support (issue #504)
  • Geolocation support (issue #365)
  • GPU acceleration
  • Persistence of user data
  • Browser/frame load and navigation notifications
  • Resource request loading, interception and substitution
  • Custom scheme handling and cross-origin white lists
  • Custom proxy handling
  • Utility classes for command-line, URL, XML and zip reading/parsing
  • JavaScript binding & extension support (issue #506)
  • Direct cookie access (issue #512)
  • WebRTC support (issue #531)
  • User-defined cross-process communication (issue #544)
  • JavaScript dialog (alert, confirm, prompt, onbeforeunload) support (issue #507)
  • Context menu support (issue #509)
  • Direct DOM access (issue #511)
  • Keyboard and focus notifications/interception (issue #508)
  • Control over user data persistence (issue #510)
  • Zoom support (issue #514)
  • Download handling (issue #516)
  • External protocol handling (issue #582)
  • WebURLRequest support (issue #517)
  • Windows: multi_threaded_message_loop run mode support (issue #522)
  • Off-screen rendering (issue #518)
  • Native callbacks for HTML5 drag&drop handling (issue #601)
  • ChromeDriver2 support (issue #549)
  • Printing support (issue #505)
  • Search/find support (issue #513)
  • Sandbox support (issue #524)
There's still some work remaining to make CEF3 feature equivalent with the current production version of CEF1. Remaining work includes:

  • Response filtering (issue #515) -- can be implemented as described here.
  • Modal dialogs (issue #519) -- can be implemented in the client application.
Thanks, and happy hacking!

- Marshall

Re: CEF3 Development Status

PostPosted: Mon Feb 13, 2012 9:37 pm
by andytzeng
The news is awesome and exciting.

Is possible to add to the flexibility which can optionally compile the specified features? Since file size is getting larger and larger.

Thank you.

Re: CEF3 Development Status

PostPosted: Tue Feb 14, 2012 3:11 am
by fddima
C API was be revisited to simplify integration with other languages?

What's architecture?
client executable + dynamically linked libcef3, which eventually spawn own (cef-only) utility (rendering) processes?

UPD: It can be shared across many client executables? I.e. perform separate 'install'.

UPD: Good work!

Re: CEF3 Development Status

PostPosted: Tue Feb 14, 2012 12:26 pm
by magreenblatt
fddima wrote:C API was be revisited to simplify integration with other languages?

I'm open to this idea, but it's unclear to me what the new C API should look like. Our previous thread on this topic was inconclusive.

fddima wrote:What's architecture?
client executable + dynamically linked libcef3, which eventually spawn own (cef-only) utility (rendering) processes?

There is a client executable and the libcef dynamic library. The secondary processes can be launched using the same client executable or a separate executable (see the CefExecuteProcess function). There will likely be some limitations on this if you want the renderer process to be sandboxed.

fddima wrote:UPD: It can be shared across many client executables? I.e. perform separate 'install'.

Installation is the same as with CEF1.

Re: CEF3 Development Status

PostPosted: Tue Feb 14, 2012 4:24 pm
by fddima
magreenblatt wrote:
fddima wrote:C API was be revisited to simplify integration with other languages?

I'm open to this idea, but it's unclear to me what the new C API should look like. Our previous thread on this topic was inconclusive.

Understood. Then we must be talk about this again, more precisely. But, plz, give me some timeout, to switch my thoughts in more understandable and productive way.

fddima wrote:What's architecture?
client executable + dynamically linked libcef3, which eventually spawn own (cef-only) utility (rendering) processes?

There is a client executable and the libcef dynamic library. The secondary processes can be launched using the same client executable or a separate executable (see the CefExecuteProcess function). There will likely be some limitations on this if you want the renderer process to be sandboxed.

Flexible enought. It is cool. Personally i'm think that sandboxing it is optionally thing. For example, for me, i'm run only own pages without any chance to get executed 3rd-party untrusted code and pages. I think it is true for many CEF users. Also, at last holidays i got my wife's sister notebook with many soft installed, and google chrome doesn't show any pages without --no-sandbox switch -- i mean that sandboxing it is cool feature, but really not so good, as it advertised.

fddima wrote:UPD: It can be shared across many client executables? I.e. perform separate 'install'.
Installation is the same as with CEF1.

I mean, that will be cool in addition to current deployment strategy, allow second - share official cef releases per machine. It is not so complex for windows, and much more natural for linux-way, as i think.
Mainly it is affect only to "path problems" in cef (may be already fixed in cef1) and may be require some "running" stub what needed to included per application (which know how resolve location of installed 'runtime').

Re: CEF3 Development Status

PostPosted: Wed Feb 15, 2012 5:03 pm
by emerick
Once CEF3 has feature parity with CEF1, is the plan to stop adding new features to CEF1 (essentially switching it to more of a "maintenance mode")? Do you have a vague ETA for when you would expect CEF3 to be feature complete?

Thanks for the great work on this!

Emerick

Re: CEF3 Development Status

PostPosted: Wed Feb 15, 2012 5:48 pm
by magreenblatt
emerick wrote:Once CEF3 has feature parity with CEF1, is the plan to stop adding new features to CEF1 (essentially switching it to more of a "maintenance mode")?

My hope is that everyone will eventually be able to move from CEF1 to CEF3. No feature freeze is currently planned for CEF1 and any future decision along those lines will be largely based on community feedback.

emerick wrote:Do you have a vague ETA for when you would expect CEF3 to be feature complete?

The first binary release of CEF3 will probably be within the next few months. Feature completeness with CEF1 will likely be a moving target for a while. I'll provide more information about my personal priorities for that initial release in the near future. Others are welcome to indicate their personal priorities by starring the associated issues in the CEF issue tracker :-).

Re: CEF3 Development Status

PostPosted: Thu Feb 16, 2012 7:28 am
by fddima
magreenblatt wrote:
fddima wrote:C API was be revisited to simplify integration with other languages?

I'm open to this idea, but it's unclear to me what the new C API should look like. Our previous thread on this topic was inconclusive.

I'm trying very fast write about my thinks in topic CEF3 ABI proposal. I know that this is question require more precisely description, but no have too many time at this moment.

Re: CEF3 Development Status

PostPosted: Tue Feb 28, 2012 2:43 am
by Pzjay
Most HTML5 features

I wonder y when I explorer html5test.com in CEF3, the 'Video ' & 'Audio' score zero ? That even less than CEF.

Re: CEF3 Development Status

PostPosted: Tue Feb 28, 2012 3:11 pm
by magreenblatt
Pzjay wrote:
Most HTML5 features

I wonder y when I explorer html5test.com in CEF3, the 'Video ' & 'Audio' score zero ? That even less than CEF.

Revision 520 adds HTML5 audio/video support.