Index: content/browser/renderer_host/render_process_host_impl.cc |
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc |
index 17444b3cb4400017ab8f71dfecfd6c2e1399fe72..5a620ec97251d0ae6f02aad08c6a23a3d52f4625 100644 |
--- a/content/browser/renderer_host/render_process_host_impl.cc |
+++ b/content/browser/renderer_host/render_process_host_impl.cc |
@@ -214,6 +214,12 @@ IPC::PlatformFileForTransit CreateAecDumpFileForProcess( |
} |
return IPC::GetFileHandleForProcess(aec_dump_file, process, true); |
} |
+ |
+// Does nothing. Just to avoid races between enable and disable. |
+void DisableAecDumpOnFileThread() { |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); |
+} |
+ |
#endif |
// the global list of all renderer processes |
@@ -1516,7 +1522,11 @@ void RenderProcessHostImpl::EnableAecDump(const base::FilePath& file) { |
} |
void RenderProcessHostImpl::DisableAecDump() { |
- Send(new MediaStreamMsg_DisableAecDump()); |
+ BrowserThread::PostTaskAndReply( |
+ BrowserThread::FILE, FROM_HERE, |
+ base::Bind(&DisableAecDumpOnFileThread), |
phoglund_chromium
2013/12/18 14:20:46
So you queue something on the file thread just to
Henrik Grunell
2013/12/19 08:43:14
Exactly. I don't know if there's another way that'
phoglund_chromium
2013/12/19 11:57:04
I think it kind of makes sense. I can't think of a
|
+ base::Bind(&RenderProcessHostImpl::SendDisableAecDumpToRenderer, |
+ weak_factory_.GetWeakPtr())); |
} |
#endif |
@@ -1960,6 +1970,10 @@ void RenderProcessHostImpl::SendAecDumpFileToRenderer( |
return; |
Send(new MediaStreamMsg_EnableAecDump(file_for_transit)); |
} |
+ |
+void RenderProcessHostImpl::SendDisableAecDumpToRenderer() { |
+ Send(new MediaStreamMsg_DisableAecDump()); |
+} |
#endif |
} // namespace content |