summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp')
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp
index 6f9efd9f9..6abed9901 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp
@@ -48,11 +48,12 @@ void JSCustomPositionCallback::handleEvent(Geoposition* geoposition, bool& raise
if (!m_frame->script()->isEnabled())
return;
-
+
+ // FIXME: This is likely the wrong globalObject (for prototype chains at least)
JSGlobalObject* globalObject = m_frame->script()->globalObject();
ExecState* exec = globalObject->globalExec();
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
JSValue function = m_callback->get(exec, Identifier(exec, "handleEvent"));
CallData callData;
@@ -67,10 +68,10 @@ void JSCustomPositionCallback::handleEvent(Geoposition* geoposition, bool& raise
}
RefPtr<JSCustomPositionCallback> protect(this);
-
+
MarkedArgumentBuffer args;
- args.append(toJS(exec, geoposition));
-
+ args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), geoposition));
+
globalObject->globalData()->timeoutChecker.start();
call(exec, function, callType, callData, m_callback, args);
globalObject->globalData()->timeoutChecker.stop();