Open GoogleCodeExporter opened 9 years ago
Related forum post: http://magpcss.org/ceforum/viewtopic.php?f=6&t=12712
In the forum post you say:
> context is not null when executing CefV8Handler::Execute() for storing
current context
> and callback function, but is null when using it after inter-processes
communications,
> resulting in a crash when using Chromedriver while using callback functions.
Can you verify that V8Handler::Execute is called and that |context| and
|function| are assigned values? Do you have multiple browsers in
|browser_list_|?
You're not clearing the |context| and |function| values anywhere so they're
likely either (a) not being assigned to begin with or (b) the calls to
V8Handler::Execute and V8Handler::executeCallback are occurring in different
renderer processes.
Original comment by magreenb...@gmail.com
on 6 Mar 2015 at 3:19
[deleted comment]
I added logs to the patch to show function and context ptr value.
Here is what is shown with my new logs:
> V8Handler::Execute() :
> GetCurrentContext() is : not null
> Storing function: not null
> Storing context: not null
>
> V8Handler::executeCallback() :
> Stored context: context is null
> Stored function: function is null
So V8Handler::Execute is called and |context| and |function| are both assigned
values.
Running with the same logs but without connecting chromedriver, the output is:
> V8Handler::Execute() :
> GetCurrentContext() is : not null
> Storing function: not null
> Storing context: not null
>
> V8Handler::executeCallback() :
> Stored context: context is not null
> Stored function: function is not null
|browser_list_| is left untouched from cefsimple, so when requiring a browser I
use the first one from the list, expecting to get the main and only one.
Original comment by tom.roui...@gmail.com
on 6 Mar 2015 at 4:01
@#3: Is there anything else occurring between call to V8Handler::Execute() and
V8Handler::executeCallback() (navigation, etc)? Can you print the current
thread ID as part of the output from those functions?
Original comment by magreenb...@gmail.com
on 6 Mar 2015 at 4:04
Thread ID when executing both V8Handler::Execute() and
V8Handler::executeCallback() is TID_RENDERER, chromedriver connected and not
connected.
I'm not sure about what you are asking, but the only thing I'm doing is
pressing the button (only element in my webpage), executing my function with a
callback in its parameters, which trigger the usual IPC process.
But I can check if any other function are called in between, if that's why you
are asking ?
Original comment by tom.roui...@gmail.com
on 6 Mar 2015 at 4:19
@#5: I'd like to verify that the renderer process is not changing between
calls. Please include the output of base::PlatformThread::CurrentId() (from
include/base/cef_platform_thread.h) in your print statements.
Original comment by magreenb...@gmail.com
on 6 Mar 2015 at 4:25
[deleted comment]
[deleted comment]
@#6: Sorry for the delay. Printing this id show:
> V8Handler::Execute(): TID_RENDERER; current id: 3836
> Storing function: not null
> Storing context: not null
>
> V8Handler::executeCallback(): TID_RENDERER; current id: 3836
> Stored function: function is null
> Stored context: context is null
Furthermore, the problem occur after plugging and then executing anything with
Chromedriver (just plug in does not result in this issue).
First execution with Chromedriver (such as printing currentUrl with
getDriver().getCurrentUrl() or anything else) flicker the webview, as if it was
refreshed or reloaded, but it is not.
Original comment by tom.roui...@gmail.com
on 10 Mar 2015 at 1:54
CEF is transitioning from Google Code to Bitbucket project hosting. If you
would like to continue receiving notifications on this issue please add
yourself as a Watcher at the new location:
https://bitbucket.org/chromiumembedded/cef/issue/1570
Original comment by magreenb...@gmail.com
on 14 Mar 2015 at 3:39
Original issue reported on code.google.com by
tom.roui...@gmail.com
on 6 Mar 2015 at 9:43Attachments: