-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Javascript Bound objects no longer registered after cross-site navigation #1203
Comments
I did a few experiments, but it seems like the new render process won't receive the messages sent to PID_RENDERER until the old one closes + some time (I actually found a thread describing something like this: http://www.magpcss.org/ceforum/viewtopic.php?f=6&t=10573&p=16293&hilit=domain+new+render+process#p16293). This usually means that the context is already created when messages are starting to get through to the new render process 😞 ...it still seems like the only stable point in time to transmit things is the callback where extensions are getting forwarded. |
Added |
I'm testing --process-per-tab for a while now and it seems to solve this for regular browser instances. However the new context for the popups are created before the |
Thanks for the heads up 👍 |
Interesting background read can be found at http://magpcss.org/ceforum/viewtopic.php?f=6&t=13386&sid=cf4881bba36a72c96ca7de0e891391de#p27469 May not be practical in a |
The solution of using https://bitbucket.org/chromiumembedded/cef/issues/2163/process-per-tab-no-longer-works |
I've removed quite a few of the old comments. If your comment has been deleted it's nothing personal, just keeping the size of the overall issue down. Now to clarify a few points, the problem still exists any the latest
@jogibear9988 With code changes it could be made to work, the current implementation does not support that scenario, see #2142
@cztomczak This solution would appear to be workable in version
@japj |
I do have an |
In CEF Python I do javascript bindings:
|
@cztomczak Have you tested with the
That's what Thanks for taking the time to respond 😄 |
No, I haven't yet tested 3239 branch and neither "cross-origin" switch. I haven't had previously the need to expose js bindings to different addresses loaded in browser, so yeah looks like it would be an issue in cefpython, as this would create new renderer processes. However user can always manually rebind js bindings by calling Rebind() func if he knows an address changed (he can using OnBeforeBrowse or similar). |
Looks like I've discovered an issue in cefpython, reported (cztomczak/cefpython#406) and referenced the three comments above, so please don't delete them :) |
I tried
Understood 😄 |
See #2246 for details on the new option for binding objects. |
The changes in #2246 have been published as part of the |
Just as an addition to this, I submitted a PR towards CEF: https://bitbucket.org/chromiumembedded/cef/pull-requests/147/allow-synchronously-sending-extra_info-to/diff |
|
When you call the method named "LoadUrl" losted all registered JsObject.
What I do:
How can re-register JsObject or prevent registserd objects clean?
The text was updated successfully, but these errors were encountered: