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

Side by Side Diff: content/browser/frame_host/render_frame_host_impl.cc

Issue 105553005: Make PepperWebPlugin not use RenderViews. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: review comments Created 7 years 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/frame_host/render_frame_host_impl.h" 5 #include "content/browser/frame_host/render_frame_host_impl.h"
6 6
7 #include "base/containers/hash_tables.h" 7 #include "base/containers/hash_tables.h"
8 #include "base/lazy_instance.h" 8 #include "base/lazy_instance.h"
9 #include "content/browser/frame_host/frame_tree.h" 9 #include "content/browser/frame_host/frame_tree.h"
10 #include "content/browser/frame_host/frame_tree_node.h" 10 #include "content/browser/frame_host/frame_tree_node.h"
11 #include "content/browser/frame_host/navigator.h" 11 #include "content/browser/frame_host/navigator.h"
12 #include "content/browser/frame_host/render_frame_host_delegate.h" 12 #include "content/browser/frame_host/render_frame_host_delegate.h"
13 #include "content/browser/renderer_host/render_view_host_impl.h" 13 #include "content/browser/renderer_host/render_view_host_impl.h"
14 #include "content/common/frame_messages.h" 14 #include "content/common/frame_messages.h"
15 #include "content/public/browser/browser_thread.h" 15 #include "content/public/browser/browser_thread.h"
16 #include "content/public/browser/render_process_host.h" 16 #include "content/public/browser/render_process_host.h"
17 #include "content/public/browser/render_widget_host_view.h"
17 #include "content/public/browser/user_metrics.h" 18 #include "content/public/browser/user_metrics.h"
18 #include "url/gurl.h" 19 #include "url/gurl.h"
19 20
20 namespace content { 21 namespace content {
21 22
22 // The (process id, routing id) pair that identifies one RenderFrame. 23 // The (process id, routing id) pair that identifies one RenderFrame.
23 typedef std::pair<int32, int32> RenderFrameHostID; 24 typedef std::pair<int32, int32> RenderFrameHostID;
24 typedef base::hash_map<RenderFrameHostID, RenderFrameHostImpl*> 25 typedef base::hash_map<RenderFrameHostID, RenderFrameHostImpl*>
25 RoutingIDFrameMap; 26 RoutingIDFrameMap;
26 static base::LazyInstance<RoutingIDFrameMap> g_routing_id_frame_map = 27 static base::LazyInstance<RoutingIDFrameMap> g_routing_id_frame_map =
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 g_routing_id_frame_map.Get().erase( 67 g_routing_id_frame_map.Get().erase(
67 RenderFrameHostID(GetProcess()->GetID(), routing_id_)); 68 RenderFrameHostID(GetProcess()->GetID(), routing_id_));
68 if (delegate_) 69 if (delegate_)
69 delegate_->RenderFrameDeleted(this); 70 delegate_->RenderFrameDeleted(this);
70 71
71 // Notify the FrameTree that this RFH is going away, allowing it to shut down 72 // Notify the FrameTree that this RFH is going away, allowing it to shut down
72 // the corresponding RenderViewHost if it is no longer needed. 73 // the corresponding RenderViewHost if it is no longer needed.
73 frame_tree_->UnregisterRenderFrameHost(this); 74 frame_tree_->UnregisterRenderFrameHost(this);
74 } 75 }
75 76
77 SiteInstance* RenderFrameHostImpl::GetSiteInstance() {
78 return render_view_host_->GetSiteInstance();
79 }
80
76 RenderProcessHost* RenderFrameHostImpl::GetProcess() { 81 RenderProcessHost* RenderFrameHostImpl::GetProcess() {
77 // TODO(nasko): This should return its own process, once we have working 82 // TODO(nasko): This should return its own process, once we have working
78 // cross-process navigation for subframes. 83 // cross-process navigation for subframes.
79 return render_view_host_->GetProcess(); 84 return render_view_host_->GetProcess();
80 } 85 }
81 86
82 int RenderFrameHostImpl::GetRoutingID() { 87 int RenderFrameHostImpl::GetRoutingID() {
83 return routing_id_; 88 return routing_id_;
84 } 89 }
85 90
91 gfx::NativeView RenderFrameHostImpl::GetNativeView() {
92 RenderWidgetHostView* view = render_view_host_->GetView();
93 if (!view)
94 return NULL;
95 return view->GetNativeView();
96 }
97
86 bool RenderFrameHostImpl::Send(IPC::Message* message) { 98 bool RenderFrameHostImpl::Send(IPC::Message* message) {
87 return GetProcess()->Send(message); 99 return GetProcess()->Send(message);
88 } 100 }
89 101
90 bool RenderFrameHostImpl::OnMessageReceived(const IPC::Message &msg) { 102 bool RenderFrameHostImpl::OnMessageReceived(const IPC::Message &msg) {
91 if (delegate_->OnMessageReceived(this, msg)) 103 if (delegate_->OnMessageReceived(this, msg))
92 return true; 104 return true;
93 105
94 bool handled = true; 106 bool handled = true;
95 bool msg_is_ok = true; 107 bool msg_is_ok = true;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 void RenderFrameHostImpl::OnDidStartProvisionalLoadForFrame( 142 void RenderFrameHostImpl::OnDidStartProvisionalLoadForFrame(
131 int64 frame_id, 143 int64 frame_id,
132 int64 parent_frame_id, 144 int64 parent_frame_id,
133 bool is_main_frame, 145 bool is_main_frame,
134 const GURL& url) { 146 const GURL& url) {
135 frame_tree_node_->navigator()->DidStartProvisionalLoad( 147 frame_tree_node_->navigator()->DidStartProvisionalLoad(
136 this, frame_id, parent_frame_id, is_main_frame, url); 148 this, frame_id, parent_frame_id, is_main_frame, url);
137 } 149 }
138 150
139 } // namespace content 151 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/frame_host/render_frame_host_impl.h ('k') | content/browser/renderer_host/pepper/browser_ppapi_host_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698