Closed GoogleCodeExporter closed 8 years ago
Sometimes it crashes the first time. Other times you need to repeat loading the
popup test 5-10 times.
Original comment by czarek.t...@gmail.com
on 30 Jul 2014 at 1:15
Navigation can cause creation of new render processes if the origin (scheme +
domain) changes. In our case it is a redirect from a "data:text/html," url to a
"file://" url. This causes creation of a new renderer process and the V8
handles that CEF provides are no more valid. It happens randomly, dunno whether
this is some timing issue, or whether Chromium randomly decides to create a new
renderer process or reuse the current one.
The solution was to check whether the context by provided
CefV8Context::OnContextCreated is valid. If it's invalid then abort creating
bindings in DoJavascriptBindingsForFrame. The bindings are still working,
because there is a back-up plan. We're doing the javascript bindings work two
times. One in CefV8Context::OnContextCreated which runs in the Renderer
process. The second time the bindings work is initiated from the Browser
process using process messaging, it is the "DoJavascriptBindingsForBrowser"
message that initiates the bindings for the second time.
Fixed in revision e62b45d61aeb.
Original comment by czarek.t...@gmail.com
on 30 Jul 2014 at 3:51
See also this CEF topic for reference:
http://www.magpcss.org/ceforum/viewtopic.php?f=6&t=11009
Original comment by czarek.t...@gmail.com
on 30 Jul 2014 at 3:52
This could also cause issues even when the scheme (file:// or http://) didn't
change, but when Chromium decided to start a new renderer process for the new
website visited. According to Marshall, Chromium can start new renderer process
when origin changes (scheme + domain). So making a redirect to a new domain
could also result in crashes.
Original comment by czarek.t...@gmail.com
on 30 Jul 2014 at 4:01
Project will move to Github. Find this issue at the new address (soon):
https://github.com/cztomczak/cefpython/issues/130
Original comment by czarek.t...@gmail.com
on 24 Aug 2015 at 6:39
Original issue reported on code.google.com by
czarek.t...@gmail.com
on 30 Jul 2014 at 1:00