< prev index next >
modules/javafx.web/src/main/native/Source/WebCore/bridge/jni/jsc/BridgeUtils.cpp
Print this page
*** 118,127 ****
--- 118,128 ----
jobject accessControlContext)
{
if (val == NULL)
return JSValueMakeNull(ctx);
JSC::ExecState* exec = toJS(ctx);
+ JSC::JSLockHolder lock(exec);
jclass clJSObject = getJSObjectClass(env);
if (env->IsInstanceOf(val, clJSObject)) {
static jfieldID fldPeer = env->GetFieldID(clJSObject, "peer", "J");
static jfieldID fldPeerType = env->GetFieldID(clJSObject, "peer_type", "I");
*** 272,281 ****
--- 273,283 ----
rootObject = frame->script().createRootObject(frame).leakRef();
if (rootObject) {
context = WebCore::getGlobalContext(&frame->script());
JSC::ExecState* exec = toJS(context);
+ JSC::JSLockHolder lock(exec);
object = const_cast<JSObjectRef>(toRef(exec,
(peer_type == com_sun_webkit_dom_JSObject_JS_DOM_WINDOW_OBJECT)
? WebCore::toJS(exec, static_cast<WebCore::JSDOMGlobalObject *>(rootObject->globalObject()), static_cast<WebCore::DOMWindow*>(jlong_to_ptr(peer)))
: WebCore::toJS(exec, static_cast<WebCore::JSDOMGlobalObject *>(rootObject->globalObject()), static_cast<WebCore::Node*>(jlong_to_ptr(peer)))));
< prev index next >