Index: Source/bindings/v8/V8ErrorHandler.cpp |
diff --git a/Source/bindings/v8/V8ErrorHandler.cpp b/Source/bindings/v8/V8ErrorHandler.cpp |
index f7b9681e8d62b30b87a1e8fa67fa24f12f5c253c..3422241b68f1f48a2a7faa0b80a98047c05b8b29 100644 |
--- a/Source/bindings/v8/V8ErrorHandler.cpp |
+++ b/Source/bindings/v8/V8ErrorHandler.cpp |
@@ -55,8 +55,12 @@ v8::Local<v8::Value> V8ErrorHandler::callListenerFunction(ScriptExecutionContext |
return V8EventListener::callListenerFunction(context, jsEvent, event); |
ErrorEvent* errorEvent = static_cast<ErrorEvent*>(event); |
- v8::Local<v8::Object> listener = getListenerObject(context); |
+ |
v8::Isolate* isolate = toV8Context(context, world())->GetIsolate(); |
+ if (errorEvent->world() && errorEvent->world() != world()) |
+ return v8::Null(isolate); |
+ |
+ v8::Local<v8::Object> listener = getListenerObject(context); |
v8::Local<v8::Value> returnValue; |
if (!listener.IsEmpty() && listener->IsFunction()) { |
v8::Local<v8::Function> callFunction = v8::Local<v8::Function>::Cast(listener); |