Bug 105894

Summary: Objective-C API: Objective-C functions exposed to JavaScript stop working after JSContext is released
Product: WebKit Reporter: Gavin Barraclough <barraclough>
Component: JavaScriptCoreAssignee: Mark Hahnenberg <mhahnenberg>
Status: RESOLVED FIXED    
Severity: Normal CC: ggaren, mhahnenberg
Priority: P1 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   

Gavin Barraclough
Reported 2013-01-01 00:11:59 PST
Instead we should probably retain a marked reference to the JSGlobalObject, and allocate a new JSContext as necessary.
Attachments
David Kilzer (:ddkilzer)
Comment 1 2013-01-23 12:23:19 PST
Mark Hahnenberg
Comment 2 2013-02-21 17:24:11 PST
I believe this was fixed in http://trac.webkit.org/changeset/143637. I'll try to write a test to verify this.
Mark Hahnenberg
Comment 3 2013-02-21 17:47:02 PST
Actually we already get test coverage for this in the API tests from the aforementioned revision since they use setTimeout with Objective-C callbacks. I set a breakpoint in the code path that checks for null JSContexts in objCCallbackFunctionCallAsFunction and we hit it. So I think we can just close this bug.
Note You need to log in before you can comment on or make changes to this bug.