Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index 7c363459516c509561bd2b3ba38caa253d8b5acd..1177cd0ccc16223dbdc3fc67739a5adb9b2b05c5 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -777,6 +777,7 @@ bool RenderFrameImpl::OnMessageReceived(const IPC::Message& msg) { |
OnAddStyleSheetByURL) |
IPC_MESSAGE_HANDLER(FrameMsg_SetAccessibilityMode, |
OnSetAccessibilityMode) |
+ IPC_MESSAGE_HANDLER(FrameMsg_DisownOpener, OnDisownOpener) |
#if defined(OS_MACOSX) |
IPC_MESSAGE_HANDLER(InputMsg_CopyToFindPboard, OnCopyToFindPboard) |
#endif |
@@ -1272,6 +1273,16 @@ void RenderFrameImpl::OnSetAccessibilityMode(AccessibilityMode new_mode) { |
#endif |
} |
+void RenderFrameImpl::OnDisownOpener() { |
+ // TODO(creis): We should only see this for main frames for now. To support |
+ // disowning the opener on subframes, we will need to move WebContentsImpl's |
+ // opener_ to FrameTreeNode. |
+ CHECK(!frame_->parent()); |
+ |
+ if (frame_->opener()) |
+ frame_->setOpener(NULL); |
+} |
+ |
void RenderFrameImpl::OnReload(bool ignore_cache) { |
frame_->reload(ignore_cache); |
} |