| 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 <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 30 matching lines...) Expand all Loading... |
| 41 #include "content/browser/presentation/presentation_service_impl.h" | 41 #include "content/browser/presentation/presentation_service_impl.h" |
| 42 #include "content/browser/renderer_host/input/input_router_impl.h" | 42 #include "content/browser/renderer_host/input/input_router_impl.h" |
| 43 #include "content/browser/renderer_host/input/timeout_monitor.h" | 43 #include "content/browser/renderer_host/input/timeout_monitor.h" |
| 44 #include "content/browser/renderer_host/render_process_host_impl.h" | 44 #include "content/browser/renderer_host/render_process_host_impl.h" |
| 45 #include "content/browser/renderer_host/render_view_host_delegate.h" | 45 #include "content/browser/renderer_host/render_view_host_delegate.h" |
| 46 #include "content/browser/renderer_host/render_view_host_delegate_view.h" | 46 #include "content/browser/renderer_host/render_view_host_delegate_view.h" |
| 47 #include "content/browser/renderer_host/render_view_host_impl.h" | 47 #include "content/browser/renderer_host/render_view_host_impl.h" |
| 48 #include "content/browser/renderer_host/render_widget_host_delegate.h" | 48 #include "content/browser/renderer_host/render_widget_host_delegate.h" |
| 49 #include "content/browser/renderer_host/render_widget_host_impl.h" | 49 #include "content/browser/renderer_host/render_widget_host_impl.h" |
| 50 #include "content/browser/renderer_host/render_widget_host_view_base.h" | 50 #include "content/browser/renderer_host/render_widget_host_view_base.h" |
| 51 #include "content/browser/shared_worker/shared_worker_service_impl.h" |
| 51 #include "content/browser/wake_lock/wake_lock_service_context.h" | 52 #include "content/browser/wake_lock/wake_lock_service_context.h" |
| 52 #include "content/browser/websockets/websocket_manager.h" | 53 #include "content/browser/websockets/websocket_manager.h" |
| 53 #include "content/browser/webui/web_ui_controller_factory_registry.h" | 54 #include "content/browser/webui/web_ui_controller_factory_registry.h" |
| 54 #include "content/common/accessibility_messages.h" | 55 #include "content/common/accessibility_messages.h" |
| 55 #include "content/common/frame_messages.h" | 56 #include "content/common/frame_messages.h" |
| 56 #include "content/common/frame_owner_properties.h" | 57 #include "content/common/frame_owner_properties.h" |
| 57 #include "content/common/input_messages.h" | 58 #include "content/common/input_messages.h" |
| 58 #include "content/common/inter_process_time_ticks_converter.h" | 59 #include "content/common/inter_process_time_ticks_converter.h" |
| 59 #include "content/common/navigation_params.h" | 60 #include "content/common/navigation_params.h" |
| 60 #include "content/common/site_isolation_policy.h" | 61 #include "content/common/site_isolation_policy.h" |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 173 const std::vector<base::FilePath>& file_paths) { | 174 const std::vector<base::FilePath>& file_paths) { |
| 174 ChildProcessSecurityPolicyImpl* policy = | 175 ChildProcessSecurityPolicyImpl* policy = |
| 175 ChildProcessSecurityPolicyImpl::GetInstance(); | 176 ChildProcessSecurityPolicyImpl::GetInstance(); |
| 176 | 177 |
| 177 for (const auto& file : file_paths) { | 178 for (const auto& file : file_paths) { |
| 178 if (!policy->CanReadFile(child_id, file)) | 179 if (!policy->CanReadFile(child_id, file)) |
| 179 policy->GrantReadFile(child_id, file); | 180 policy->GrantReadFile(child_id, file); |
| 180 } | 181 } |
| 181 } | 182 } |
| 182 | 183 |
| 184 void NotifyRenderFrameDetachedOnIO(int render_process_id, int render_frame_id) { |
| 185 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 186 SharedWorkerServiceImpl::GetInstance()->RenderFrameDetached(render_process_id, |
| 187 render_frame_id); |
| 188 } |
| 189 |
| 183 } // namespace | 190 } // namespace |
| 184 | 191 |
| 185 // static | 192 // static |
| 186 RenderFrameHost* RenderFrameHost::FromID(int render_process_id, | 193 RenderFrameHost* RenderFrameHost::FromID(int render_process_id, |
| 187 int render_frame_id) { | 194 int render_frame_id) { |
| 188 return RenderFrameHostImpl::FromID(render_process_id, render_frame_id); | 195 return RenderFrameHostImpl::FromID(render_process_id, render_frame_id); |
| 189 } | 196 } |
| 190 | 197 |
| 191 #if defined(OS_ANDROID) | 198 #if defined(OS_ANDROID) |
| 192 // static | 199 // static |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 303 } | 310 } |
| 304 | 311 |
| 305 RenderFrameHostImpl::~RenderFrameHostImpl() { | 312 RenderFrameHostImpl::~RenderFrameHostImpl() { |
| 306 // Release the WebUI instances before all else as the WebUI may accesses the | 313 // Release the WebUI instances before all else as the WebUI may accesses the |
| 307 // RenderFrameHost during cleanup. | 314 // RenderFrameHost during cleanup. |
| 308 ClearAllWebUI(); | 315 ClearAllWebUI(); |
| 309 | 316 |
| 310 GetProcess()->RemoveRoute(routing_id_); | 317 GetProcess()->RemoveRoute(routing_id_); |
| 311 g_routing_id_frame_map.Get().erase( | 318 g_routing_id_frame_map.Get().erase( |
| 312 RenderFrameHostID(GetProcess()->GetID(), routing_id_)); | 319 RenderFrameHostID(GetProcess()->GetID(), routing_id_)); |
| 320 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, |
| 321 base::Bind(&NotifyRenderFrameDetachedOnIO, |
| 322 GetProcess()->GetID(), routing_id_)); |
| 313 | 323 |
| 314 site_instance_->RemoveObserver(this); | 324 site_instance_->RemoveObserver(this); |
| 315 | 325 |
| 316 if (delegate_ && render_frame_created_) | 326 if (delegate_ && render_frame_created_) |
| 317 delegate_->RenderFrameDeleted(this); | 327 delegate_->RenderFrameDeleted(this); |
| 318 | 328 |
| 319 // If this was the last active frame in the SiteInstance, the | 329 // If this was the last active frame in the SiteInstance, the |
| 320 // DecrementActiveFrameCount call will trigger the deletion of the | 330 // DecrementActiveFrameCount call will trigger the deletion of the |
| 321 // SiteInstance's proxies. | 331 // SiteInstance's proxies. |
| 322 GetSiteInstance()->DecrementActiveFrameCount(); | 332 GetSiteInstance()->DecrementActiveFrameCount(); |
| (...skipping 2745 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3068 web_bluetooth_service_->SetClientConnectionErrorHandler(base::Bind( | 3078 web_bluetooth_service_->SetClientConnectionErrorHandler(base::Bind( |
| 3069 &RenderFrameHostImpl::DeleteWebBluetoothService, base::Unretained(this))); | 3079 &RenderFrameHostImpl::DeleteWebBluetoothService, base::Unretained(this))); |
| 3070 return web_bluetooth_service_.get(); | 3080 return web_bluetooth_service_.get(); |
| 3071 } | 3081 } |
| 3072 | 3082 |
| 3073 void RenderFrameHostImpl::DeleteWebBluetoothService() { | 3083 void RenderFrameHostImpl::DeleteWebBluetoothService() { |
| 3074 web_bluetooth_service_.reset(); | 3084 web_bluetooth_service_.reset(); |
| 3075 } | 3085 } |
| 3076 | 3086 |
| 3077 } // namespace content | 3087 } // namespace content |
| OLD | NEW |