From ea1b369a3c90f26523d68d089f76f4cb96308d56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Mon, 3 Aug 2009 19:40:43 +0200 Subject: Make JSC::TimeoutChecker subclassable and replacable in the global data --- .../webkit/JavaScriptCore/interpreter/Interpreter.cpp | 6 +++--- src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp | 6 +++--- .../webkit/JavaScriptCore/runtime/JSGlobalData.cpp | 2 ++ .../webkit/JavaScriptCore/runtime/JSGlobalData.h | 2 +- .../webkit/JavaScriptCore/runtime/JSONObject.cpp | 2 +- .../webkit/JavaScriptCore/runtime/TimeoutChecker.cpp | 4 ++++ .../webkit/JavaScriptCore/runtime/TimeoutChecker.h | 1 + .../WebCore/bindings/js/JSCustomPositionCallback.cpp | 4 ++-- .../bindings/js/JSCustomPositionErrorCallback.cpp | 4 ++-- .../WebCore/bindings/js/JSCustomSQLStatementCallback.cpp | 4 ++-- .../bindings/js/JSCustomSQLStatementErrorCallback.cpp | 4 ++-- .../bindings/js/JSCustomSQLTransactionCallback.cpp | 4 ++-- .../bindings/js/JSCustomSQLTransactionErrorCallback.cpp | 4 ++-- .../webkit/WebCore/bindings/js/JSCustomVoidCallback.cpp | 4 ++-- .../WebCore/bindings/js/JSCustomXPathNSResolver.cpp | 4 ++-- .../webkit/WebCore/bindings/js/JSDOMWindowBase.cpp | 2 +- .../webkit/WebCore/bindings/js/JSEventListener.cpp | 10 +++++----- .../webkit/WebCore/bindings/js/ScheduledAction.cpp | 4 ++-- .../webkit/WebCore/bindings/js/ScriptController.cpp | 4 ++-- .../WebCore/bindings/js/WorkerScriptController.cpp | 6 +++--- src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp | 16 ++++++++-------- src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm | 8 ++++---- 22 files changed, 56 insertions(+), 49 deletions(-) diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp index 35c6d2f..9c930ca 100644 --- a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp @@ -1135,7 +1135,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi Instruction* vPC = callFrame->codeBlock()->instructions().begin(); Profiler** enabledProfilerReference = Profiler::enabledProfilerReference(); - unsigned tickCount = globalData->timeoutChecker.ticksUntilNextCheck(); + unsigned tickCount = globalData->timeoutChecker->ticksUntilNextCheck(); #define CHECK_FOR_EXCEPTION() \ do { \ @@ -1151,11 +1151,11 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi #define CHECK_FOR_TIMEOUT() \ if (!--tickCount) { \ - if (globalData->timeoutChecker.didTimeOut(callFrame)) { \ + if (globalData->timeoutChecker->didTimeOut(callFrame)) { \ exceptionValue = jsNull(); \ goto vm_throw; \ } \ - tickCount = globalData->timeoutChecker.ticksUntilNextCheck(); \ + tickCount = globalData->timeoutChecker->ticksUntilNextCheck(); \ } #if ENABLE(OPCODE_SAMPLING) diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp index 5049477..62da189 100644 --- a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp @@ -684,14 +684,14 @@ DEFINE_STUB_FUNCTION(int, timeout_check) STUB_INIT_STACK_FRAME(stackFrame); JSGlobalData* globalData = stackFrame.globalData; - TimeoutChecker& timeoutChecker = globalData->timeoutChecker; + TimeoutChecker* timeoutChecker = globalData->timeoutChecker; - if (timeoutChecker.didTimeOut(stackFrame.callFrame)) { + if (timeoutChecker->didTimeOut(stackFrame.callFrame)) { globalData->exception = createInterruptedExecutionException(globalData); VM_THROW_EXCEPTION_AT_END(); } - return timeoutChecker.ticksUntilNextCheck(); + return timeoutChecker->ticksUntilNextCheck(); } DEFINE_STUB_FUNCTION(void, register_file_check) diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.cpp index ff728e8..95b4d0c 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.cpp @@ -134,6 +134,7 @@ JSGlobalData::JSGlobalData(bool isShared, const VPtrSet& vptrSet) #if ENABLE(JIT) , jitStubs(this) #endif + , timeoutChecker(new TimeoutChecker) , heap(this) , initializingLazyNumericCompareFunction(false) , head(0) @@ -176,6 +177,7 @@ JSGlobalData::~JSGlobalData() delete parser; delete lexer; + delete timeoutChecker; deleteAllValues(opaqueJSClassData); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.h index d5202c6..dca3e94 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.h @@ -124,7 +124,7 @@ namespace JSC { #if ENABLE(JIT) JITThunks jitStubs; #endif - TimeoutChecker timeoutChecker; + TimeoutChecker* timeoutChecker; Heap heap; JSValue exception; diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSONObject.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/JSONObject.cpp index 2f02b1d..bbbe3af 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSONObject.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSONObject.cpp @@ -394,7 +394,7 @@ Stringifier::StringifyResult Stringifier::appendStringifiedValue(StringBuilder& return StringifySucceeded; // If this is the outermost call, then loop to handle everything on the holder stack. - TimeoutChecker localTimeoutChecker(m_exec->globalData().timeoutChecker); + TimeoutChecker localTimeoutChecker(*m_exec->globalData().timeoutChecker); localTimeoutChecker.reset(); unsigned tickCount = localTimeoutChecker.ticksUntilNextCheck(); do { diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/TimeoutChecker.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/TimeoutChecker.cpp index 30ba6e9..49839db 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/TimeoutChecker.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/TimeoutChecker.cpp @@ -108,6 +108,10 @@ TimeoutChecker::TimeoutChecker() reset(); } +TimeoutChecker::~TimeoutChecker() +{ +} + void TimeoutChecker::reset() { m_ticksUntilNextCheck = ticksUntilFirstCheck; diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/TimeoutChecker.h b/src/3rdparty/webkit/JavaScriptCore/runtime/TimeoutChecker.h index 7bfa6d0..5ef1542 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/TimeoutChecker.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/TimeoutChecker.h @@ -38,6 +38,7 @@ namespace JSC { class TimeoutChecker { public: TimeoutChecker(); + virtual ~TimeoutChecker(); void setTimeoutInterval(unsigned timeoutInterval) { m_timeoutInterval = timeoutInterval; } diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp index 6abed99..e28fd8f 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp @@ -72,9 +72,9 @@ void JSCustomPositionCallback::handleEvent(Geoposition* geoposition, bool& raise MarkedArgumentBuffer args; args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), geoposition)); - globalObject->globalData()->timeoutChecker.start(); + globalObject->globalData()->timeoutChecker->start(); call(exec, function, callType, callData, m_callback, args); - globalObject->globalData()->timeoutChecker.stop(); + globalObject->globalData()->timeoutChecker->stop(); if (exec->hadException()) { reportCurrentException(exec); diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionErrorCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionErrorCallback.cpp index cda5738..dbe46e2 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionErrorCallback.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionErrorCallback.cpp @@ -72,9 +72,9 @@ void JSCustomPositionErrorCallback::handleEvent(PositionError* positionError) MarkedArgumentBuffer args; args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), positionError)); - globalObject->globalData()->timeoutChecker.start(); + globalObject->globalData()->timeoutChecker->start(); call(exec, function, callType, callData, m_callback, args); - globalObject->globalData()->timeoutChecker.stop(); + globalObject->globalData()->timeoutChecker->stop(); if (exec->hadException()) reportCurrentException(exec); diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementCallback.cpp index d0943de..a2b5c83 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementCallback.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementCallback.cpp @@ -78,9 +78,9 @@ void JSCustomSQLStatementCallback::handleEvent(SQLTransaction* transaction, SQLR args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), transaction)); args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), resultSet)); - globalObject->globalData()->timeoutChecker.start(); + globalObject->globalData()->timeoutChecker->start(); call(exec, function, callType, callData, m_callback, args); - globalObject->globalData()->timeoutChecker.stop(); + globalObject->globalData()->timeoutChecker->stop(); if (exec->hadException()) { reportCurrentException(exec); diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp index 6c831ac..c7c467f 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp @@ -82,12 +82,12 @@ bool JSCustomSQLStatementErrorCallback::handleEvent(SQLTransaction* transaction, args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), error)); JSValue result; - globalObject->globalData()->timeoutChecker.start(); + globalObject->globalData()->timeoutChecker->start(); if (handleEventCallType != CallTypeNone) result = call(exec, handleEventFunction, handleEventCallType, handleEventCallData, m_callback, args); else result = call(exec, m_callback, callbackCallType, callbackCallData, m_callback, args); - globalObject->globalData()->timeoutChecker.stop(); + globalObject->globalData()->timeoutChecker->stop(); if (exec->hadException()) { reportCurrentException(exec); diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionCallback.cpp index 3d42f81..ca7f069 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionCallback.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionCallback.cpp @@ -120,12 +120,12 @@ void JSCustomSQLTransactionCallback::handleEvent(SQLTransaction* transaction, bo MarkedArgumentBuffer args; args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), transaction)); - globalObject->globalData()->timeoutChecker.start(); + globalObject->globalData()->timeoutChecker->start(); if (handleEventCallType != CallTypeNone) call(exec, handleEventFunction, handleEventCallType, handleEventCallData, m_data->callback(), args); else call(exec, m_data->callback(), callbackCallType, callbackCallData, m_data->callback(), args); - globalObject->globalData()->timeoutChecker.stop(); + globalObject->globalData()->timeoutChecker->stop(); if (exec->hadException()) { reportCurrentException(exec); diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionErrorCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionErrorCallback.cpp index 2d41bb8..1c6de7f 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionErrorCallback.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionErrorCallback.cpp @@ -77,9 +77,9 @@ void JSCustomSQLTransactionErrorCallback::handleEvent(SQLError* error) MarkedArgumentBuffer args; args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), error)); - globalObject->globalData()->timeoutChecker.start(); + globalObject->globalData()->timeoutChecker->start(); call(exec, function, callType, callData, m_callback, args); - globalObject->globalData()->timeoutChecker.stop(); + globalObject->globalData()->timeoutChecker->stop(); if (exec->hadException()) reportCurrentException(exec); diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomVoidCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomVoidCallback.cpp index b4e525b..2273ff0 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomVoidCallback.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomVoidCallback.cpp @@ -73,9 +73,9 @@ void JSCustomVoidCallback::handleEvent() MarkedArgumentBuffer args; - globalObject->globalData()->timeoutChecker.start(); + globalObject->globalData()->timeoutChecker->start(); call(exec, function, callType, callData, m_callback, args); - globalObject->globalData()->timeoutChecker.stop(); + globalObject->globalData()->timeoutChecker->stop(); if (exec->hadException()) reportCurrentException(exec); diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomXPathNSResolver.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomXPathNSResolver.cpp index 4476be5..55e6481 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomXPathNSResolver.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomXPathNSResolver.cpp @@ -95,9 +95,9 @@ String JSCustomXPathNSResolver::lookupNamespaceURI(const String& prefix) MarkedArgumentBuffer args; args.append(jsString(exec, prefix)); - globalObject->globalData()->timeoutChecker.start(); + globalObject->globalData()->timeoutChecker->start(); JSValue retval = call(exec, function, callType, callData, m_customResolver, args); - globalObject->globalData()->timeoutChecker.stop(); + globalObject->globalData()->timeoutChecker->stop(); String result; if (exec->hadException()) diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp index df6068a..cf81f54 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp @@ -166,7 +166,7 @@ JSGlobalData* JSDOMWindowBase::commonJSGlobalData() static JSGlobalData* globalData; if (!globalData) { globalData = JSGlobalData::createLeaked().releaseRef(); - globalData->timeoutChecker.setTimeoutInterval(10000); // 10 seconds + globalData->timeoutChecker->setTimeoutInterval(10000); // 10 seconds } return globalData; diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp index a659d3e..c7797be 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp @@ -121,7 +121,7 @@ void JSEventListener::handleEvent(Event* event, bool isWindowEvent) JSValue retval; if (handleEventFunction) { - globalObject->globalData()->timeoutChecker.start(); + globalObject->globalData()->timeoutChecker->start(); retval = call(exec, handleEventFunction, callType, callData, jsFunction, args); } else { JSValue thisValue; @@ -129,10 +129,10 @@ void JSEventListener::handleEvent(Event* event, bool isWindowEvent) thisValue = globalObject->toThisObject(exec); else thisValue = toJS(exec, globalObject, event->currentTarget()); - globalObject->globalData()->timeoutChecker.start(); + globalObject->globalData()->timeoutChecker->start(); retval = call(exec, jsFunction, callType, callData, thisValue, args); } - globalObject->globalData()->timeoutChecker.stop(); + globalObject->globalData()->timeoutChecker->stop(); globalObject->setCurrentEvent(savedEvent); @@ -187,9 +187,9 @@ bool JSEventListener::reportError(const String& message, const String& url, int JSValue thisValue = globalObject->toThisObject(exec); - globalObject->globalData()->timeoutChecker.start(); + globalObject->globalData()->timeoutChecker->start(); JSValue returnValue = call(exec, jsFunction, callType, callData, thisValue, args); - globalObject->globalData()->timeoutChecker.stop(); + globalObject->globalData()->timeoutChecker->stop(); // If an error occurs while handling the script error, it should be bubbled up. if (exec->hadException()) { diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.cpp index 9e64bce..28cbe60 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.cpp @@ -101,9 +101,9 @@ void ScheduledAction::executeFunctionInContext(JSGlobalObject* globalObject, JSV for (size_t i = 0; i < size; ++i) args.append(m_args[i]); - globalObject->globalData()->timeoutChecker.start(); + globalObject->globalData()->timeoutChecker->start(); call(exec, m_function, callType, callData, thisValue, args); - globalObject->globalData()->timeoutChecker.stop(); + globalObject->globalData()->timeoutChecker->stop(); if (exec->hadException()) reportCurrentException(exec); diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptController.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptController.cpp index a1c4376..2abe5b0 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptController.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptController.cpp @@ -110,9 +110,9 @@ ScriptValue ScriptController::evaluate(const ScriptSourceCode& sourceCode) RefPtr protect = m_frame; - m_windowShell->window()->globalData()->timeoutChecker.start(); + m_windowShell->window()->globalData()->timeoutChecker->start(); Completion comp = JSC::evaluate(exec, exec->dynamicGlobalObject()->globalScopeChain(), jsSourceCode, m_windowShell); - m_windowShell->window()->globalData()->timeoutChecker.stop(); + m_windowShell->window()->globalData()->timeoutChecker->stop(); // Evaluating the JavaScript could cause the frame to be deallocated // so we start the keep alive timer here. diff --git a/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.cpp b/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.cpp index fc3de3c..1b8eed6 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.cpp @@ -109,9 +109,9 @@ ScriptValue WorkerScriptController::evaluate(const ScriptSourceCode& sourceCode, JSLock lock(SilenceAssertionsOnly); ExecState* exec = m_workerContextWrapper->globalExec(); - m_workerContextWrapper->globalData()->timeoutChecker.start(); + m_workerContextWrapper->globalData()->timeoutChecker->start(); Completion comp = JSC::evaluate(exec, exec->dynamicGlobalObject()->globalScopeChain(), sourceCode.jsSourceCode(), m_workerContextWrapper); - m_workerContextWrapper->globalData()->timeoutChecker.stop(); + m_workerContextWrapper->globalData()->timeoutChecker->stop(); m_workerContext->thread()->workerObjectProxy().reportPendingActivity(m_workerContext->hasPendingActivity()); @@ -136,7 +136,7 @@ void WorkerScriptController::forbidExecution() // It is not critical for Interpreter::m_timeoutTime to be synchronized, we just rely on it reaching the worker thread's processor sooner or later. MutexLocker lock(m_sharedDataMutex); m_executionForbidden = true; - m_globalData->timeoutChecker.setTimeoutInterval(1); // 1ms is the smallest timeout that can be set. + m_globalData->timeoutChecker->setTimeoutInterval(1); // 1ms is the smallest timeout that can be set. } } // namespace WebCore diff --git a/src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp b/src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp index 006f17f..0a51f45 100644 --- a/src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp +++ b/src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp @@ -122,9 +122,9 @@ bool _NPN_InvokeDefault(NPP, NPObject* o, const NPVariant* args, uint32_t argCou MarkedArgumentBuffer argList; getListFromVariantArgs(exec, args, argCount, rootObject, argList); ProtectedPtr globalObject = rootObject->globalObject(); - globalObject->globalData()->timeoutChecker.start(); + globalObject->globalData()->timeoutChecker->start(); JSValue resultV = call(exec, function, callType, callData, function, argList); - globalObject->globalData()->timeoutChecker.stop(); + globalObject->globalData()->timeoutChecker->stop(); // Convert and return the result of the function call. convertValueToNPVariant(exec, resultV, result); @@ -172,9 +172,9 @@ bool _NPN_Invoke(NPP npp, NPObject* o, NPIdentifier methodName, const NPVariant* MarkedArgumentBuffer argList; getListFromVariantArgs(exec, args, argCount, rootObject, argList); ProtectedPtr globalObject = rootObject->globalObject(); - globalObject->globalData()->timeoutChecker.start(); + globalObject->globalData()->timeoutChecker->start(); JSValue resultV = call(exec, function, callType, callData, obj->imp, argList); - globalObject->globalData()->timeoutChecker.stop(); + globalObject->globalData()->timeoutChecker->stop(); // Convert and return the result of the function call. convertValueToNPVariant(exec, resultV, result); @@ -202,9 +202,9 @@ bool _NPN_Evaluate(NPP, NPObject* o, NPString* s, NPVariant* variant) JSLock lock(SilenceAssertionsOnly); String scriptString = convertNPStringToUTF16(s); ProtectedPtr globalObject = rootObject->globalObject(); - globalObject->globalData()->timeoutChecker.start(); + globalObject->globalData()->timeoutChecker->start(); Completion completion = JSC::evaluate(globalObject->globalExec(), globalObject->globalScopeChain(), makeSource(scriptString)); - globalObject->globalData()->timeoutChecker.stop(); + globalObject->globalData()->timeoutChecker->stop(); ComplType type = completion.complType(); JSValue result; @@ -442,9 +442,9 @@ bool _NPN_Construct(NPP, NPObject* o, const NPVariant* args, uint32_t argCount, MarkedArgumentBuffer argList; getListFromVariantArgs(exec, args, argCount, rootObject, argList); ProtectedPtr globalObject = rootObject->globalObject(); - globalObject->globalData()->timeoutChecker.start(); + globalObject->globalData()->timeoutChecker->start(); JSValue resultV = construct(exec, constructor, constructType, constructData, argList); - globalObject->globalData()->timeoutChecker.stop(); + globalObject->globalData()->timeoutChecker->stop(); // Convert and return the result. convertValueToNPVariant(exec, resultV, result); diff --git a/src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm b/src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm index c9af8b0..8bb8b78 100644 --- a/src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm +++ b/src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm @@ -302,9 +302,9 @@ jobject JavaJSObject::call(jstring methodName, jobjectArray args) const // Call the function object. MarkedArgumentBuffer argList; getListFromJArray(exec, args, argList); - rootObject->globalObject()->globalData()->timeoutChecker.start(); + rootObject->globalObject()->globalData()->timeoutChecker->start(); JSValue result = JSC::call(exec, function, callType, callData, _imp, argList); - rootObject->globalObject()->globalData()->timeoutChecker.stop(); + rootObject->globalObject()->globalData()->timeoutChecker->stop(); return convertValueToJObject(result); } @@ -321,9 +321,9 @@ jobject JavaJSObject::eval(jstring script) const if (!rootObject) return 0; - rootObject->globalObject()->globalData()->timeoutChecker.start(); + rootObject->globalObject()->globalData()->timeoutChecker->start(); Completion completion = JSC::evaluate(rootObject->globalObject()->globalExec(), rootObject->globalObject()->globalScopeChain(), makeSource(JavaString(script))); - rootObject->globalObject()->globalData()->timeoutChecker.stop(); + rootObject->globalObject()->globalData()->timeoutChecker->stop(); ComplType type = completion.complType(); if (type == Normal) { -- cgit v0.12