Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6201)

Unified Diff: chrome/browser/ui/pdf/pdf_unsupported_feature.cc

Issue 10910168: Separate plugin_metadata from plugin_installer, thread-safe plugin_finder (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: . Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/pdf/pdf_unsupported_feature.cc
diff --git a/chrome/browser/ui/pdf/pdf_unsupported_feature.cc b/chrome/browser/ui/pdf/pdf_unsupported_feature.cc
index 29686efb76fed17203816335467a6952a2dd2067..d83b0768644b54697ee0d2287e8f4c8552b063e6 100644
--- a/chrome/browser/ui/pdf/pdf_unsupported_feature.cc
+++ b/chrome/browser/ui/pdf/pdf_unsupported_feature.cc
@@ -12,7 +12,7 @@
#include "chrome/browser/chrome_plugin_service_filter.h"
#include "chrome/browser/infobars/infobar_tab_helper.h"
#include "chrome/browser/plugin_finder.h"
-#include "chrome/browser/plugin_installer.h"
+#include "chrome/browser/plugin_metadata.h"
#include "chrome/browser/plugin_prefs.h"
#include "chrome/browser/prefs/pref_service.h"
#include "chrome/browser/profiles/profile.h"
@@ -296,12 +296,11 @@ PDFUnsupportedFeatureInfoBarDelegate::PDFUnsupportedFeatureInfoBarDelegate(
reader_webplugininfo_ = *reader;
#if defined(ENABLE_PLUGIN_INSTALLATION)
- PluginInstaller* installer =
- plugin_finder->FindPluginWithIdentifier("adobe-reader");
+ PluginMetadata* plugin_metadata =
+ plugin_finder->FindPluginMetadataWithIdentifier("adobe-reader");
- reader_vulnerable_ =
- installer->GetSecurityStatus(*reader) !=
- PluginInstaller::SECURITY_STATUS_UP_TO_DATE;
+ reader_vulnerable_ = plugin_metadata->GetSecurityStatus(*reader) !=
+ PluginMetadata::SECURITY_STATUS_UP_TO_DATE;
#else
NOTREACHED();
#endif
@@ -380,7 +379,6 @@ void PDFUnsupportedFeatureInfoBarDelegate::OnNo() {
void GotPluginsCallback(int process_id,
int routing_id,
- PluginFinder* plugin_finder,
const std::vector<webkit::WebPluginInfo>& plugins) {
WebContents* web_contents =
tab_util::GetWebContentsByID(process_id, routing_id);
@@ -400,9 +398,11 @@ void GotPluginsCallback(int process_id,
}
const webkit::WebPluginInfo* reader = NULL;
+ PluginFinder* plugin_finder = PluginFinder::GetInstance();
for (size_t i = 0; i < plugins.size(); ++i) {
- PluginInstaller* installer = plugin_finder->GetPluginInstaller(plugins[i]);
- if (reader_group_name == installer->name()) {
+ PluginMetadata* plugin_metadata =
+ plugin_finder->GetPluginMetadata(plugins[i]);
+ if (reader_group_name == plugin_metadata->name()) {
DCHECK(!reader);
reader = &plugins[i];
}
@@ -412,21 +412,13 @@ void GotPluginsCallback(int process_id,
new PDFUnsupportedFeatureInfoBarDelegate(tab, reader, plugin_finder));
}
-void GotPluginFinderCallback(int process_id,
- int routing_id,
- PluginFinder* plugin_finder) {
- PluginService::GetInstance()->GetPlugins(
- base::Bind(&GotPluginsCallback, process_id, routing_id,
- base::Unretained(plugin_finder)));
-}
-
} // namespace
void PDFHasUnsupportedFeature(TabContents* tab) {
#if defined(OS_WIN) && defined(ENABLE_PLUGIN_INSTALLATION)
// Only works for Windows for now. For Mac, we'll have to launch the file
// externally since Adobe Reader doesn't work inside Chrome.
- PluginFinder::Get(base::Bind(&GotPluginFinderCallback,
+ PluginFinder::Get(base::Bind(&GotPluginsCallback,
tab->web_contents()->GetRenderProcessHost()->GetID(),
tab->web_contents()->GetRenderViewHost()->GetRoutingID()));
#endif

Powered by Google App Engine
This is Rietveld 408576698