When my JS calls window.open(), i get my custom popup. I've assigned false for noJavascriptAccess to reuse the existing renderer process in OnBeforePopup(). And window.opener works and I have confirmed the existing renderer process is being used for the new browser popup window. But task manager shows that I create a new renderer process for each popup. Killing the extra process confirms it is not being used. Is this a common problem? Is there some common gotcha i'm falling into? The process gets started same time my code calls show for the new window, not before or after.
I'm using version CEF 3.1916.1781, Chromium 35.0.1916.138 on Windows.
I have created a cefglue DLL that can be integrated into any app to add the embedded browser. It's built with a WPF XAML window frame, with a WPF UserControl object that hosts the WinForms CefGlue control. In OnBeforePopup I create all three of these objects for the new window, and everything else but the CefBrowser, which I let CEF create and I attach it in OnAfterCreated. The new CefClient object is passed back to CEF when OnBeforePopup returns. And my subprocess is written as a separate, small executeable called BrowserSubProcess.exe. This all works great. I've even implemented the functionality for JS window.resizeTo() which works on self, child and even parent windows. But I want to find out why I am getting unused renderer subprocesses created for popups. They do terminate when the browser window closes, but are not used while present. Only the original renderer process is ever used.
Thx, Peter