I have the following case (CEF 3.3202.1693, macOS):
- Browser helper executable is not set to executable (mode 644).
- I call CefInitialize() which returns true.
- This results where my app thinks everything is ok, but it's actually not, because CEF can't launch the browser subprocess and GPU process.
IMO, CefInitialize() should return false if the helper can't be launched. Or maybe there's some other workaround?
Here's a bit of debug output:
swtchr/n: initialize cef
[0131/174754.491692:ERROR:browser_gpu_channel_host_factory.cc(108)] Failed to launch GPU process.
[0131/174754.494074:INFO:swtchr_browser.cpp(523)] OnContextInitialized
swtchr/n: chromium initialization successful
[0131/174754.610851:INFO:swtchr_browser.cpp(397)] BrowserCreate: browser=0x7f8b59d55b80
[0131/174754.709676:INFO:swtchr_browser.cpp(198)] OnTitleChange
[0131/174758.334079:INFO:swtchr_browser.cpp(403)] BrowserClose 1
[0131/174758.334128:INFO:swtchr_browser.cpp(256)] DoClose
[0131/174758.334569:INFO:swtchr_browser.cpp(265)] OnBeforeClose
I.e even CEF seems to think that everything is fine. It allows creation of browser instances, etc, basically the whole life cycle -- except that nothing works, because the render process was never launched.