Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(60)

Side by Side Diff: content/browser/renderer_host/render_view_host_impl.cc

Issue 2506183002: Make window.open() IPCs be frame-based (Closed)
Patch Set: Rebase. Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/renderer_host/render_view_host_impl.h" 5 #include "content/browser/renderer_host/render_view_host_impl.h"
6 6
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 739 matching lines...) Expand 10 before | Expand all | Expand 10 after
750 return true; 750 return true;
751 } 751 }
752 } 752 }
753 753
754 if (delegate_->OnMessageReceived(this, msg)) 754 if (delegate_->OnMessageReceived(this, msg))
755 return true; 755 return true;
756 756
757 bool handled = true; 757 bool handled = true;
758 IPC_BEGIN_MESSAGE_MAP(RenderViewHostImpl, msg) 758 IPC_BEGIN_MESSAGE_MAP(RenderViewHostImpl, msg)
759 IPC_MESSAGE_HANDLER(FrameHostMsg_RenderProcessGone, OnRenderProcessGone) 759 IPC_MESSAGE_HANDLER(FrameHostMsg_RenderProcessGone, OnRenderProcessGone)
760 IPC_MESSAGE_HANDLER(ViewHostMsg_ShowView, OnShowView)
761 IPC_MESSAGE_HANDLER(ViewHostMsg_ShowWidget, OnShowWidget) 760 IPC_MESSAGE_HANDLER(ViewHostMsg_ShowWidget, OnShowWidget)
762 IPC_MESSAGE_HANDLER(ViewHostMsg_ShowFullscreenWidget, 761 IPC_MESSAGE_HANDLER(ViewHostMsg_ShowFullscreenWidget,
763 OnShowFullscreenWidget) 762 OnShowFullscreenWidget)
764 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateState, OnUpdateState) 763 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateState, OnUpdateState)
765 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateTargetURL, OnUpdateTargetURL) 764 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateTargetURL, OnUpdateTargetURL)
766 IPC_MESSAGE_HANDLER(ViewHostMsg_Close, OnClose) 765 IPC_MESSAGE_HANDLER(ViewHostMsg_Close, OnClose)
767 IPC_MESSAGE_HANDLER(ViewHostMsg_RequestMove, OnRequestMove) 766 IPC_MESSAGE_HANDLER(ViewHostMsg_RequestMove, OnRequestMove)
768 IPC_MESSAGE_HANDLER(ViewHostMsg_DocumentAvailableInMainFrame, 767 IPC_MESSAGE_HANDLER(ViewHostMsg_DocumentAvailableInMainFrame,
769 OnDocumentAvailableInMainFrame) 768 OnDocumentAvailableInMainFrame)
770 IPC_MESSAGE_HANDLER(ViewHostMsg_DidContentsPreferredSizeChange, 769 IPC_MESSAGE_HANDLER(ViewHostMsg_DidContentsPreferredSizeChange,
(...skipping 20 matching lines...) Expand all
791 RenderProcessHostImpl::ReleaseOnCloseACK( 790 RenderProcessHostImpl::ReleaseOnCloseACK(
792 GetProcess(), 791 GetProcess(),
793 delegate_->GetSessionStorageNamespaceMap(), 792 delegate_->GetSessionStorageNamespaceMap(),
794 GetRoutingID()); 793 GetRoutingID());
795 } 794 }
796 795
797 GetWidget()->ShutdownAndDestroyWidget(false); 796 GetWidget()->ShutdownAndDestroyWidget(false);
798 delete this; 797 delete this;
799 } 798 }
800 799
801 void RenderViewHostImpl::CreateNewWindow(
802 int32_t route_id,
803 int32_t main_frame_route_id,
804 int32_t main_frame_widget_route_id,
805 const mojom::CreateNewWindowParams& params,
806 SessionStorageNamespace* session_storage_namespace) {
807 mojom::CreateNewWindowParamsPtr validated_params(params.Clone());
808 GetProcess()->FilterURL(false, &validated_params->target_url);
809 GetProcess()->FilterURL(false, &validated_params->opener_url);
810 GetProcess()->FilterURL(true, &validated_params->opener_security_origin);
811
812 delegate_->CreateNewWindow(GetSiteInstance(), route_id, main_frame_route_id,
813 main_frame_widget_route_id, *validated_params,
814 session_storage_namespace);
815 }
816
817 void RenderViewHostImpl::CreateNewWidget(int32_t route_id, 800 void RenderViewHostImpl::CreateNewWidget(int32_t route_id,
818 blink::WebPopupType popup_type) { 801 blink::WebPopupType popup_type) {
819 delegate_->CreateNewWidget(GetProcess()->GetID(), route_id, popup_type); 802 delegate_->CreateNewWidget(GetProcess()->GetID(), route_id, popup_type);
820 } 803 }
821 804
822 void RenderViewHostImpl::CreateNewFullscreenWidget(int32_t route_id) { 805 void RenderViewHostImpl::CreateNewFullscreenWidget(int32_t route_id) {
823 delegate_->CreateNewFullscreenWidget(GetProcess()->GetID(), route_id); 806 delegate_->CreateNewFullscreenWidget(GetProcess()->GetID(), route_id);
824 } 807 }
825 808
826 void RenderViewHostImpl::OnShowView(int route_id,
827 WindowOpenDisposition disposition,
828 const gfx::Rect& initial_rect,
829 bool user_gesture) {
830 delegate_->ShowCreatedWindow(GetProcess()->GetID(), route_id, disposition,
831 initial_rect, user_gesture);
832 Send(new ViewMsg_Move_ACK(route_id));
833 }
834
835 void RenderViewHostImpl::OnShowWidget(int route_id, 809 void RenderViewHostImpl::OnShowWidget(int route_id,
836 const gfx::Rect& initial_rect) { 810 const gfx::Rect& initial_rect) {
837 delegate_->ShowCreatedWidget(GetProcess()->GetID(), route_id, initial_rect); 811 delegate_->ShowCreatedWidget(GetProcess()->GetID(), route_id, initial_rect);
838 Send(new ViewMsg_Move_ACK(route_id)); 812 Send(new ViewMsg_Move_ACK(route_id));
839 } 813 }
840 814
841 void RenderViewHostImpl::OnShowFullscreenWidget(int route_id) { 815 void RenderViewHostImpl::OnShowFullscreenWidget(int route_id) {
842 delegate_->ShowCreatedFullscreenWidget(GetProcess()->GetID(), route_id); 816 delegate_->ShowCreatedFullscreenWidget(GetProcess()->GetID(), route_id);
843 Send(new ViewMsg_Move_ACK(route_id)); 817 Send(new ViewMsg_Move_ACK(route_id));
844 } 818 }
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
1029 } else { 1003 } else {
1030 render_view_ready_on_process_launch_ = true; 1004 render_view_ready_on_process_launch_ = true;
1031 } 1005 }
1032 } 1006 }
1033 1007
1034 void RenderViewHostImpl::RenderViewReady() { 1008 void RenderViewHostImpl::RenderViewReady() {
1035 delegate_->RenderViewReady(this); 1009 delegate_->RenderViewReady(this);
1036 } 1010 }
1037 1011
1038 } // namespace content 1012 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_view_host_impl.h ('k') | content/browser/renderer_host/render_widget_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698