Index: content/browser/renderer_host/buffered_resource_handler.cc |
diff --git a/content/browser/renderer_host/buffered_resource_handler.cc b/content/browser/renderer_host/buffered_resource_handler.cc |
index f40d62622bf8220f154f892a4865d2a83dbfa412..0a9096335c6d4b478ba32cb8b725c082594eae3d 100644 |
--- a/content/browser/renderer_host/buffered_resource_handler.cc |
+++ b/content/browser/renderer_host/buffered_resource_handler.cc |
@@ -6,6 +6,7 @@ |
#include <vector> |
+#include "base/bind.h" |
#include "base/logging.h" |
#include "base/metrics/histogram.h" |
#include "base/string_util.h" |
@@ -23,7 +24,7 @@ |
#include "net/base/mime_util.h" |
#include "net/base/net_errors.h" |
#include "net/http/http_response_headers.h" |
-#include "webkit/plugins/npapi/plugin_list.h" |
+#include "webkit/plugins/webplugininfo.h" |
namespace { |
@@ -342,10 +343,9 @@ bool BufferedResourceHandler::ShouldWaitForPlugins() { |
ResourceDispatcherHost::InfoForRequest(request_); |
host_->PauseRequest(info->child_id(), info->request_id(), true); |
- // Schedule plugin loading on the file thread. |
- BrowserThread::PostTask( |
- BrowserThread::FILE, FROM_HERE, |
- NewRunnableMethod(this, &BufferedResourceHandler::LoadPlugins)); |
+ // Get the plugins asynchronously. |
+ PluginService::GetInstance()->GetPlugins( |
Bernhard Bauer
2011/09/21 14:31:26
If you just pass in |*info->context()| here, you c
jam
2011/09/21 16:22:54
given that we probably want to take out the filter
|
+ base::Bind(&BufferedResourceHandler::OnPluginsLoaded, this)); |
return true; |
} |
@@ -451,16 +451,8 @@ void BufferedResourceHandler::UseAlternateResourceHandler( |
real_handler_ = handler; |
} |
-void BufferedResourceHandler::LoadPlugins() { |
- std::vector<webkit::WebPluginInfo> plugins; |
- webkit::npapi::PluginList::Singleton()->GetPlugins(&plugins); |
- |
- BrowserThread::PostTask( |
- BrowserThread::IO, FROM_HERE, |
- NewRunnableMethod(this, &BufferedResourceHandler::OnPluginsLoaded)); |
-} |
- |
-void BufferedResourceHandler::OnPluginsLoaded() { |
+void BufferedResourceHandler::OnPluginsLoaded( |
+ const std::vector<webkit::WebPluginInfo>& plugins) { |
wait_for_plugins_ = false; |
if (!request_) |
return; |