I just had quite a debugging experience and I'm curious about the behavior I observed. I changed CreateBrowser to CreateBrowserSync and found that after that change, when closing the browser through browser->GetHost()->CloseBrowser(false), that the usual DoClose call happens and after that, no call to OnBeforeClose ever comes and the app fails to quit. If I change CreateBrowserSync back to CreateBrowser (no other changes) then the shutdown sequence occurs as expected (CloseBrowser, then DoClose, then OnBeforeClose, then process terminates).
The CefBrowserHost comments for CreateBrowser and CreateBrowserSync don't seem to indicate a difference like this. Is there some different shutdown behavior necessary for CreateBrowserSync? Or is this a bug? This is on osx, with build 88.2.0+g6a304f5+chromium-88.0.4324.96 .