summaryrefslogtreecommitdiffstats
path: root/WebCore/bindings/js/JSCallbackData.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/bindings/js/JSCallbackData.cpp')
-rw-r--r--WebCore/bindings/js/JSCallbackData.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/WebCore/bindings/js/JSCallbackData.cpp b/WebCore/bindings/js/JSCallbackData.cpp
index e128f27..e813da2 100644
--- a/WebCore/bindings/js/JSCallbackData.cpp
+++ b/WebCore/bindings/js/JSCallbackData.cpp
@@ -31,6 +31,7 @@
#include "Document.h"
#include "JSDOMBinding.h"
+#include "JSMainThreadExecState.h"
using namespace JSC;
@@ -59,7 +60,9 @@ JSValue JSCallbackData::invokeCallback(MarkedArgumentBuffer& args, bool* raisedE
}
globalObject()->globalData()->timeoutChecker.start();
- JSValue result = JSC::call(exec, function, callType, callData, callback(), args);
+ JSValue result = globalObject()->scriptExecutionContext()->isDocument()
+ ? JSMainThreadExecState::call(exec, function, callType, callData, callback(), args)
+ : JSC::call(exec, function, callType, callData, callback(), args);
globalObject()->globalData()->timeoutChecker.stop();
Document::updateStyleForAllDocuments();