| Index: content/browser/frame_host/render_frame_host_impl.cc
|
| diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
|
| index 089bd20f4e4c705bccc4fd996784c4f2707ed96c..3014956c62b719115a69984f18f2f127f1b6097d 100644
|
| --- a/content/browser/frame_host/render_frame_host_impl.cc
|
| +++ b/content/browser/frame_host/render_frame_host_impl.cc
|
| @@ -48,6 +48,7 @@
|
| #include "content/browser/renderer_host/render_widget_host_delegate.h"
|
| #include "content/browser/renderer_host/render_widget_host_impl.h"
|
| #include "content/browser/renderer_host/render_widget_host_view_base.h"
|
| +#include "content/browser/shared_worker/shared_worker_service_impl.h"
|
| #include "content/browser/wake_lock/wake_lock_service_context.h"
|
| #include "content/browser/websockets/websocket_manager.h"
|
| #include "content/browser/webui/web_ui_controller_factory_registry.h"
|
| @@ -179,6 +180,12 @@ void GrantFileAccess(int child_id,
|
| }
|
| }
|
|
|
| +void NotifyRenderFrameDetachedOnIO(int render_process_id, int render_frame_id) {
|
| + DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
| + SharedWorkerServiceImpl::GetInstance()->RenderFrameDetached(render_process_id,
|
| + render_frame_id);
|
| +}
|
| +
|
| } // namespace
|
|
|
| // static
|
| @@ -309,6 +316,9 @@ RenderFrameHostImpl::~RenderFrameHostImpl() {
|
| GetProcess()->RemoveRoute(routing_id_);
|
| g_routing_id_frame_map.Get().erase(
|
| RenderFrameHostID(GetProcess()->GetID(), routing_id_));
|
| + BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
|
| + base::Bind(&NotifyRenderFrameDetachedOnIO,
|
| + GetProcess()->GetID(), routing_id_));
|
|
|
| site_instance_->RemoveObserver(this);
|
|
|
|
|