Index: Source/bindings/core/v8/V8DOMWrapper.cpp |
diff --git a/Source/bindings/core/v8/V8DOMWrapper.cpp b/Source/bindings/core/v8/V8DOMWrapper.cpp |
index 3bcdcd1e4d58fce06cfd32b4a9a248131424000c..c83dd50607c6dd0bf519505a3fe3c33574cc4b94 100644 |
--- a/Source/bindings/core/v8/V8DOMWrapper.cpp |
+++ b/Source/bindings/core/v8/V8DOMWrapper.cpp |
@@ -146,4 +146,15 @@ void V8WrapperInstantiationScope::securityCheck(v8::Isolate* isolate, v8::Local< |
} |
} |
+void V8WrapperInstantiationScope::convertException() |
+{ |
+ v8::Isolate* isolate = m_context->GetIsolate(); |
+ // TODO(jochen): Currently, Location is the only object for which we can reach this code path. Should be generalized. |
+ ExceptionState exceptionState(ExceptionState::ConstructionContext, "Location", isolate->GetCurrentContext()->Global(), isolate); |
+ LocalDOMWindow* callingWindow = callingDOMWindow(isolate); |
+ DOMWindow* targetWindow = toFrameIfNotDetached(m_context)->domWindow(); |
+ exceptionState.throwSecurityError(targetWindow->sanitizedCrossDomainAccessErrorMessage(callingWindow), targetWindow->crossDomainAccessErrorMessage(callingWindow)); |
+ exceptionState.throwIfNeeded(); |
+} |
+ |
} // namespace blink |