Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_proxy_host.h" | 5 #include "content/browser/frame_host/render_frame_proxy_host.h" |
| 6 | 6 |
| 7 #include "base/lazy_instance.h" | 7 #include "base/lazy_instance.h" |
| 8 #include "content/browser/bad_message.h" | 8 #include "content/browser/bad_message.h" |
| 9 #include "content/browser/frame_host/cross_process_frame_connector.h" | 9 #include "content/browser/frame_host/cross_process_frame_connector.h" |
| 10 #include "content/browser/frame_host/frame_tree.h" | 10 #include "content/browser/frame_host/frame_tree.h" |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 129 IPC_MESSAGE_HANDLER(FrameHostMsg_OpenURL, OnOpenURL) | 129 IPC_MESSAGE_HANDLER(FrameHostMsg_OpenURL, OnOpenURL) |
| 130 IPC_MESSAGE_HANDLER(FrameHostMsg_RouteMessageEvent, OnRouteMessageEvent) | 130 IPC_MESSAGE_HANDLER(FrameHostMsg_RouteMessageEvent, OnRouteMessageEvent) |
| 131 IPC_MESSAGE_UNHANDLED(handled = false) | 131 IPC_MESSAGE_UNHANDLED(handled = false) |
| 132 IPC_END_MESSAGE_MAP() | 132 IPC_END_MESSAGE_MAP() |
| 133 return handled; | 133 return handled; |
| 134 } | 134 } |
| 135 | 135 |
| 136 bool RenderFrameProxyHost::InitRenderFrameProxy() { | 136 bool RenderFrameProxyHost::InitRenderFrameProxy() { |
| 137 DCHECK(!render_frame_proxy_created_); | 137 DCHECK(!render_frame_proxy_created_); |
| 138 | 138 |
| 139 if (render_frame_proxy_created_) | |
|
Charlie Reis
2015/06/04 00:02:11
This doesn't make sense under the DCHECK above.
nasko
2015/06/04 14:57:13
Doh!
| |
| 140 return true; | |
| 141 | |
| 139 // It is possible to reach this when the process is dead (in particular, when | 142 // It is possible to reach this when the process is dead (in particular, when |
| 140 // creating proxies from CreateProxiesForChildFrame). In that case, don't | 143 // creating proxies from CreateProxiesForChildFrame). In that case, don't |
| 141 // create the proxy. The process shouldn't be resurrected just to create | 144 // create the proxy. The process shouldn't be resurrected just to create |
| 142 // RenderFrameProxies; it should be restored only if it needs to host a | 145 // RenderFrameProxies; it should be restored only if it needs to host a |
| 143 // RenderFrame. When that happens, the process will be reinitialized, and | 146 // RenderFrame. When that happens, the process will be reinitialized, and |
| 144 // all necessary proxies, including any of the ones we skipped here, will be | 147 // all necessary proxies, including any of the ones we skipped here, will be |
| 145 // created by CreateProxiesForSiteInstance. See https://crbug.com/476846 | 148 // created by CreateProxiesForSiteInstance. See https://crbug.com/476846 |
| 146 if (!GetProcess()->HasConnection()) | 149 if (!GetProcess()->HasConnection()) |
| 147 return false; | 150 return false; |
| 148 | 151 |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 273 base::Bind(&MessagePortMessageFilter::RouteMessageEventWithMessagePorts, | 276 base::Bind(&MessagePortMessageFilter::RouteMessageEventWithMessagePorts, |
| 274 message_port_message_filter, target_rfh->GetRoutingID(), | 277 message_port_message_filter, target_rfh->GetRoutingID(), |
| 275 new_params)); | 278 new_params)); |
| 276 } else { | 279 } else { |
| 277 target_rfh->Send( | 280 target_rfh->Send( |
| 278 new FrameMsg_PostMessageEvent(target_rfh->GetRoutingID(), new_params)); | 281 new FrameMsg_PostMessageEvent(target_rfh->GetRoutingID(), new_params)); |
| 279 } | 282 } |
| 280 } | 283 } |
| 281 | 284 |
| 282 } // namespace content | 285 } // namespace content |
| OLD | NEW |