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