Index: Source/core/frame/LocalFrame.cpp |
diff --git a/Source/core/frame/LocalFrame.cpp b/Source/core/frame/LocalFrame.cpp |
index 58d96290854b4087377de9b8172aa52a1e38e637..eb3dbdf40b4ad44fc74c11d877b3746ae2e2dad5 100644 |
--- a/Source/core/frame/LocalFrame.cpp |
+++ b/Source/core/frame/LocalFrame.cpp |
@@ -298,6 +298,18 @@ bool LocalFrame::checkLoadComplete() |
return loader().checkLoadCompleteForThisFrame(); |
} |
+void LocalFrame::printNavigationErrorMessage(const Frame& targetFrame, const char* reason) |
+{ |
+ if (!targetFrame.isLocalFrame()) |
+ return; |
+ |
+ const LocalFrame& targetLocalFrame = toLocalFrameTemporary(targetFrame); |
+ String message = "Unsafe JavaScript attempt to initiate navigation for frame with URL '" + targetLocalFrame.document()->url().string() + "' from frame with URL '" + document()->url().string() + "'. " + reason + "\n"; |
+ |
+ // FIXME: should we print to the console of the document performing the navigation instead? |
+ targetLocalFrame.localDOMWindow()->printErrorMessage(message); |
+} |
+ |
void LocalFrame::disconnectOwnerElement() |
{ |
if (owner()) { |