| 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 |