[Webkit-unassigned] [Bug 40162] Prevent Geolocation making callbacks to a ScriptExecutionContext that no longer exists

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jun 7 09:28:08 PDT 2010


--- Comment #9 from Steve Block <steveblock at google.com>  2010-06-07 09:28:06 PST ---
> Just get the current context directly.

> WebCore/bindings/v8/custom/V8CustomPositionCallback.cpp:72
>  +      // Protect the script context until the callback returns.
> Are you sure we need one of these?
I can't see a need for it, but if the Frame needed protecting, I guess we need to protect the ScriptExecutionContext. This is what was done with a similar change to Database - http://trac.webkit.org/changeset/60330#file6

> I'd lean towards not wrapping this comment.

> This is a good start, but ideally you'd be handling resume/suspend/stop instead of just detecting when the scriptExecutionContext has been destructed.
Yes, the reason I haven't done this here is that it's likely that the Geolocation object itself will end up being an ActiveDOMObject as part of Bug 34082. So we may not need the callbacks to also implement this behaviour if the Geolocation object is doing so anyway.

> WebCore/ChangeLog:16
>  +          The ScriptExecutionContext is ref'ed from script, so isn't
> destroyed until the
> so _it_ isn't...

> WebCore/ChangeLog:19
>  +          accessing the Frame, so an additional check for the Frame is required.
> Is any of this still relevant?
Yes, I'm not aware of any current way to make the callbacks (for either V8 or JSC) without going through the Frame.

> Overall, I think this change log description could be made more concise and
> not lose any interesting info.

> We need to make sure this gets fixed in the other bindings.  Maybe hans or
> dumi would be interested in this, if you're not?
I'm not aware of any other bindings that make this mistake. We already have Bug  40112 for the fact that Database holds onto the ScriptExecutionContext.

Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

More information about the webkit-unassigned mailing list