| Index: chrome/browser/renderer_host/resource_message_filter.cc
|
| ===================================================================
|
| --- chrome/browser/renderer_host/resource_message_filter.cc (revision 30037)
|
| +++ chrome/browser/renderer_host/resource_message_filter.cc (working copy)
|
| @@ -550,7 +550,8 @@
|
| // file thread. We need this object to be destructed on the IO thread, so do
|
| // the refcounting manually.
|
| AddRef();
|
| - ChromeThread::GetMessageLoop(ChromeThread::FILE)->PostTask(FROM_HERE,
|
| + ChromeThread::PostTask(
|
| + ChromeThread::FILE, FROM_HERE,
|
| NewRunnableFunction(&ResourceMessageFilter::OnGetPluginsOnFileThread,
|
| this, refresh, reply_msg));
|
| }
|
| @@ -561,20 +562,9 @@
|
| IPC::Message* reply_msg) {
|
| std::vector<WebPluginInfo> plugins;
|
| NPAPI::PluginList::Singleton()->GetPlugins(refresh, &plugins);
|
| -
|
| ViewHostMsg_GetPlugins::WriteReplyParams(reply_msg, plugins);
|
| - // Note, we want to get to the IO thread now, but the file thread outlives it
|
| - // so we can't post a task to it directly as it might be in the middle of
|
| - // destruction. So hop through the main thread, where the destruction of the
|
| - // IO thread happens and hence no race conditions exist.
|
| - filter->ui_loop()->PostTask(FROM_HERE,
|
| - NewRunnableFunction(&ResourceMessageFilter::OnNotifyPluginsLoaded,
|
| - filter, reply_msg));
|
| -}
|
| -
|
| -void ResourceMessageFilter::OnNotifyPluginsLoaded(ResourceMessageFilter* filter,
|
| - IPC::Message* reply_msg) {
|
| - ChromeThread::GetMessageLoop(ChromeThread::IO)->PostTask(FROM_HERE,
|
| + ChromeThread::PostTask(
|
| + ChromeThread::IO, FROM_HERE,
|
| NewRunnableMethod(filter, &ResourceMessageFilter::OnPluginsLoaded,
|
| reply_msg));
|
| }
|
|
|