OLD | NEW |
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/bind.h" | 7 #include "base/bind.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/containers/hash_tables.h" | 9 #include "base/containers/hash_tables.h" |
10 #include "base/lazy_instance.h" | 10 #include "base/lazy_instance.h" |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
163 } | 163 } |
164 | 164 |
165 RenderFrameHostImpl::RenderFrameHostImpl(SiteInstance* site_instance, | 165 RenderFrameHostImpl::RenderFrameHostImpl(SiteInstance* site_instance, |
166 RenderViewHostImpl* render_view_host, | 166 RenderViewHostImpl* render_view_host, |
167 RenderFrameHostDelegate* delegate, | 167 RenderFrameHostDelegate* delegate, |
168 RenderWidgetHostDelegate* rwh_delegate, | 168 RenderWidgetHostDelegate* rwh_delegate, |
169 FrameTree* frame_tree, | 169 FrameTree* frame_tree, |
170 FrameTreeNode* frame_tree_node, | 170 FrameTreeNode* frame_tree_node, |
171 int32 routing_id, | 171 int32 routing_id, |
172 int32 widget_routing_id, | 172 int32 widget_routing_id, |
173 int32 surface_id, | |
174 int flags) | 173 int flags) |
175 : render_view_host_(render_view_host), | 174 : render_view_host_(render_view_host), |
176 delegate_(delegate), | 175 delegate_(delegate), |
177 site_instance_(static_cast<SiteInstanceImpl*>(site_instance)), | 176 site_instance_(static_cast<SiteInstanceImpl*>(site_instance)), |
178 process_(site_instance->GetProcess()), | 177 process_(site_instance->GetProcess()), |
179 cross_process_frame_connector_(NULL), | 178 cross_process_frame_connector_(NULL), |
180 render_frame_proxy_host_(NULL), | 179 render_frame_proxy_host_(NULL), |
181 frame_tree_(frame_tree), | 180 frame_tree_(frame_tree), |
182 frame_tree_node_(frame_tree_node), | 181 frame_tree_node_(frame_tree_node), |
183 render_widget_host_(nullptr), | 182 render_widget_host_(nullptr), |
(...skipping 21 matching lines...) Expand all Loading... |
205 } else { | 204 } else { |
206 rfh_state_ = STATE_DEFAULT; | 205 rfh_state_ = STATE_DEFAULT; |
207 GetSiteInstance()->increment_active_frame_count(); | 206 GetSiteInstance()->increment_active_frame_count(); |
208 } | 207 } |
209 | 208 |
210 SetUpMojoIfNeeded(); | 209 SetUpMojoIfNeeded(); |
211 swapout_event_monitor_timeout_.reset(new TimeoutMonitor(base::Bind( | 210 swapout_event_monitor_timeout_.reset(new TimeoutMonitor(base::Bind( |
212 &RenderFrameHostImpl::OnSwappedOut, weak_ptr_factory_.GetWeakPtr()))); | 211 &RenderFrameHostImpl::OnSwappedOut, weak_ptr_factory_.GetWeakPtr()))); |
213 | 212 |
214 if (widget_routing_id != MSG_ROUTING_NONE) { | 213 if (widget_routing_id != MSG_ROUTING_NONE) { |
215 render_widget_host_ = new RenderWidgetHostImpl( | 214 render_widget_host_ = new RenderWidgetHostImpl(rwh_delegate, GetProcess(), |
216 rwh_delegate, GetProcess(), widget_routing_id, surface_id, hidden); | 215 widget_routing_id, hidden); |
217 render_widget_host_->set_owned_by_render_frame_host(true); | 216 render_widget_host_->set_owned_by_render_frame_host(true); |
218 } else { | |
219 DCHECK_EQ(0, surface_id); | |
220 } | 217 } |
221 } | 218 } |
222 | 219 |
223 RenderFrameHostImpl::~RenderFrameHostImpl() { | 220 RenderFrameHostImpl::~RenderFrameHostImpl() { |
224 GetProcess()->RemoveRoute(routing_id_); | 221 GetProcess()->RemoveRoute(routing_id_); |
225 g_routing_id_frame_map.Get().erase( | 222 g_routing_id_frame_map.Get().erase( |
226 RenderFrameHostID(GetProcess()->GetID(), routing_id_)); | 223 RenderFrameHostID(GetProcess()->GetID(), routing_id_)); |
227 | 224 |
228 if (delegate_ && render_frame_created_) | 225 if (delegate_ && render_frame_created_) |
229 delegate_->RenderFrameDeleted(this); | 226 delegate_->RenderFrameDeleted(this); |
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
628 FrameMsg_NewFrame_Params params; | 625 FrameMsg_NewFrame_Params params; |
629 params.routing_id = routing_id_; | 626 params.routing_id = routing_id_; |
630 params.proxy_routing_id = proxy_routing_id; | 627 params.proxy_routing_id = proxy_routing_id; |
631 params.opener_routing_id = opener_routing_id; | 628 params.opener_routing_id = opener_routing_id; |
632 params.parent_routing_id = parent_routing_id; | 629 params.parent_routing_id = parent_routing_id; |
633 params.previous_sibling_routing_id = previous_sibling_routing_id; | 630 params.previous_sibling_routing_id = previous_sibling_routing_id; |
634 params.replication_state = frame_tree_node()->current_replication_state(); | 631 params.replication_state = frame_tree_node()->current_replication_state(); |
635 | 632 |
636 if (render_widget_host_) { | 633 if (render_widget_host_) { |
637 params.widget_params.routing_id = render_widget_host_->GetRoutingID(); | 634 params.widget_params.routing_id = render_widget_host_->GetRoutingID(); |
638 params.widget_params.surface_id = render_widget_host_->surface_id(); | |
639 params.widget_params.hidden = render_widget_host_->is_hidden(); | 635 params.widget_params.hidden = render_widget_host_->is_hidden(); |
640 } else { | 636 } else { |
641 // MSG_ROUTING_NONE will prevent a new RenderWidget from being created in | 637 // MSG_ROUTING_NONE will prevent a new RenderWidget from being created in |
642 // the renderer process. | 638 // the renderer process. |
643 params.widget_params.routing_id = MSG_ROUTING_NONE; | 639 params.widget_params.routing_id = MSG_ROUTING_NONE; |
644 params.widget_params.surface_id = 0; | |
645 params.widget_params.hidden = true; | 640 params.widget_params.hidden = true; |
646 } | 641 } |
647 | 642 |
648 Send(new FrameMsg_NewFrame(params)); | 643 Send(new FrameMsg_NewFrame(params)); |
649 | 644 |
650 // The RenderWidgetHost takes ownership of its view. It is tied to the | 645 // The RenderWidgetHost takes ownership of its view. It is tied to the |
651 // lifetime of the current RenderProcessHost for this RenderFrameHost. | 646 // lifetime of the current RenderProcessHost for this RenderFrameHost. |
652 if (render_widget_host_) { | 647 if (render_widget_host_) { |
653 RenderWidgetHostView* rwhv = | 648 RenderWidgetHostView* rwhv = |
654 new RenderWidgetHostViewChildFrame(render_widget_host_); | 649 new RenderWidgetHostViewChildFrame(render_widget_host_); |
(...skipping 1596 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2251 BrowserPluginInstanceIDToAXTreeID(value))); | 2246 BrowserPluginInstanceIDToAXTreeID(value))); |
2252 break; | 2247 break; |
2253 case AX_CONTENT_INT_ATTRIBUTE_LAST: | 2248 case AX_CONTENT_INT_ATTRIBUTE_LAST: |
2254 NOTREACHED(); | 2249 NOTREACHED(); |
2255 break; | 2250 break; |
2256 } | 2251 } |
2257 } | 2252 } |
2258 } | 2253 } |
2259 | 2254 |
2260 } // namespace content | 2255 } // namespace content |
OLD | NEW |