Hi Marshall,
FIrst off, great work on CEF. It's a great project with a lot of potential.
I'm here to ask for some advice. My goal is to utilize everything in the Chromium architecture, minus the browser process' UI (and related browser "functionality", such as bookmarks et el). So I do want all of the multi-process architecture and IPC, resource loading/caching via "net", and all html5 functionality that requires glue code such as File System API, Drag and Drop, web database, you name it.
CEF is not exactly what I'm looking for. It's very close, but I don't need a library abstracting the Chromium types (and being a step behind Chromium as far as exposing the features), and I would like to keep in tact most of the browser process' functionality (most importantly, its setup of net for resource loading, IPC, spawning of renderer/GPU/plugin processes, etc.) But, hacking away at the browser process code and removing everything I don't want is something I'm trying to avoid. I basically want the Browser instances (chrome/browser/ui/browser.cc) but no UI...and everything else just works. I understand a lot of browser_main would need to be copy/pasted just for setting up the browser process.
Given your work on CEF, do you have any advice on this task? Is there a practical way to create my own gyp project, include the appropriate chromium dependencies (just like CEF), and only copy/paste a minimal amount of init code to then be able to statically include and consume Chromium code to create browser frames that can be painted inside of my own apps' windows? Or am I going down a slippery slope and will find myself having to rip out a shit ton of inter-twined UI code and changing everything? Just wondering if you tried to do what I'm wanting to do first, and then resorted to a basic "embed into single process and re-glue each piece one by one" model? Or did you simply re-glue everything to make a clean API (something I'm not interested in doing)?
Sorry for the long winded post and many questions. I am very interested to replace QtWebKit with Chromium for my work because it is way ahead of the curve in implementing its glue code for all of the major HTML5 features in webkit repo. I am working with my webkit team to finish committing a lot of the Qt glue code for many of the missing HTML5 features, but am interested in using Chromium in the meantime since it's equipped.
Hoping you can provide any bit of guidance! Many thanks ahead of time!
Jarred