OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "extensions/browser/guest_view/mime_handler_view/mime_handler_stream_ma
nager.h" | 5 #include "extensions/browser/guest_view/mime_handler_view/mime_handler_stream_ma
nager.h" |
6 | 6 |
7 #include "base/memory/ptr_util.h" | 7 #include "base/memory/ptr_util.h" |
8 #include "base/memory/singleton.h" | 8 #include "base/memory/singleton.h" |
9 #include "components/keyed_service/content/browser_context_dependency_manager.h" | 9 #include "components/keyed_service/content/browser_context_dependency_manager.h" |
10 #include "components/keyed_service/content/browser_context_keyed_service_factory
.h" | 10 #include "components/keyed_service/content/browser_context_keyed_service_factory
.h" |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 AbortStream(); | 197 AbortStream(); |
198 } | 198 } |
199 | 199 |
200 void MimeHandlerStreamManager::EmbedderObserver::RenderProcessGone( | 200 void MimeHandlerStreamManager::EmbedderObserver::RenderProcessGone( |
201 base::TerminationStatus status) { | 201 base::TerminationStatus status) { |
202 AbortStream(); | 202 AbortStream(); |
203 } | 203 } |
204 | 204 |
205 void MimeHandlerStreamManager::EmbedderObserver::ReadyToCommitNavigation( | 205 void MimeHandlerStreamManager::EmbedderObserver::ReadyToCommitNavigation( |
206 content::NavigationHandle* navigation_handle) { | 206 content::NavigationHandle* navigation_handle) { |
207 if (navigation_handle->IsSamePage() || | 207 if (navigation_handle->IsSameDocument() || |
208 !IsTrackedRenderFrameHost(navigation_handle->GetRenderFrameHost())) { | 208 !IsTrackedRenderFrameHost(navigation_handle->GetRenderFrameHost())) { |
209 return; | 209 return; |
210 } | 210 } |
211 | 211 |
212 // We get an initial load notification for the URL we are serving. We don't | 212 // We get an initial load notification for the URL we are serving. We don't |
213 // want to clean up the stream here. | 213 // want to clean up the stream here. |
214 if (initial_load_for_frame_) { | 214 if (initial_load_for_frame_) { |
215 initial_load_for_frame_ = false; | 215 initial_load_for_frame_ = false; |
216 return; | 216 return; |
217 } | 217 } |
218 AbortStream(); | 218 AbortStream(); |
219 } | 219 } |
220 | 220 |
221 void MimeHandlerStreamManager::EmbedderObserver::DidStartNavigation( | 221 void MimeHandlerStreamManager::EmbedderObserver::DidStartNavigation( |
222 content::NavigationHandle* navigation_handle) { | 222 content::NavigationHandle* navigation_handle) { |
223 // If the top level frame is navigating away, clean up the stream. | 223 // If the top level frame is navigating away, clean up the stream. |
224 if (navigation_handle->IsInMainFrame() && !navigation_handle->IsSamePage()) | 224 if (navigation_handle->IsInMainFrame() && |
| 225 !navigation_handle->IsSameDocument()) { |
225 AbortStream(); | 226 AbortStream(); |
| 227 } |
226 } | 228 } |
227 | 229 |
228 void MimeHandlerStreamManager::EmbedderObserver::RenderFrameHostChanged( | 230 void MimeHandlerStreamManager::EmbedderObserver::RenderFrameHostChanged( |
229 content::RenderFrameHost* old_host, | 231 content::RenderFrameHost* old_host, |
230 content::RenderFrameHost* new_host) { | 232 content::RenderFrameHost* new_host) { |
231 // If the old_host is null, then it means that a subframe is being created. | 233 // If the old_host is null, then it means that a subframe is being created. |
232 // Don't treat this like a host change. | 234 // Don't treat this like a host change. |
233 if (!old_host) | 235 if (!old_host) |
234 return; | 236 return; |
235 | 237 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 if (frame_tree_node_id_ != -1) { | 277 if (frame_tree_node_id_ != -1) { |
276 return render_frame_host->GetFrameTreeNodeId() == frame_tree_node_id_; | 278 return render_frame_host->GetFrameTreeNodeId() == frame_tree_node_id_; |
277 } else { | 279 } else { |
278 DCHECK((render_frame_id_ != -1) && (render_process_id_ != -1)); | 280 DCHECK((render_frame_id_ != -1) && (render_process_id_ != -1)); |
279 return render_frame_host->GetRoutingID() == render_frame_id_ && | 281 return render_frame_host->GetRoutingID() == render_frame_id_ && |
280 render_frame_host->GetProcess()->GetID() == render_process_id_; | 282 render_frame_host->GetProcess()->GetID() == render_process_id_; |
281 } | 283 } |
282 } | 284 } |
283 | 285 |
284 } // namespace extensions | 286 } // namespace extensions |
OLD | NEW |