Hi!
First of all:
The discussed behavior is the same with our current productive JCEF version (3.2704) but also with the version we're currently upgrading (3.3325).
I've tested on Windows 10 (64 bit), jcef/cef binaries (versions 3.2704, 3.3325, each 32 bit), jdk 1.8.0_40 (32 bit).
To our problem:
We now use JCEF in a rather stable state and our customers are mainly satisfied with our integration.
One topic left is performance.
We tried to reuse our wrapped implementation and came up with problems when we remove the BrowserComponent from the Frame and add it somewhere else later.
We could reduce the problem to the core JCEF implementation reproduced by a simply adapted detailed MainFrame example.
Just copy the attached files (compressed and attached in java.7z) to the java folder and start the adapted MainFrame instead of the default one (class: tests.detailed.adapted.MainFrame).
The adapted MainFrame has an additional MenuItem "Adapted" with "SwitchPanels".
If you use this SwitchPanels option, the whole contentPane is removed and replaced by an empty one.
If SwitchPanels is used again, the empty one is removed and the normal (previously removed) contentPane is added again.
The whole Code is implemented in tests.detailed.adapted.MainFrame.switchPanels()
What I expect should happen: The browser should be available again afterwards.
What really happens: The Java Components are added again (Adress bar, back, forward,...), including the Browser Component, but the Browser Component is not painted.
What I have found out with our additional Logging is that the renderer process is terminated after the Browser Component has been removed (sure, it is not visible, so I guess that's ok), but it is not started again after it was added to the component tree.
Is this a not supported use case?
Do we have to call something on the cefClient/cefFrame/cefBrowser Components that we have missed?
Is there a way we can avoid this problem otherwise?
Also added the output of the MainFrame application in the "jcef.log" attachment.
Maybe someone has a quick answer
Phylanx
//EDIT:
I already tried creating a new cefBrowser and adding the new UIComponent.
//EDITEDIT:
Retried using a new cefBrowser instance and it worked. I had a bug in my test code.