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 |