PluginFinder returns copies of PluginMetadata and PluginInstaller no more aggregate PluginMetadata


BUG=124396


Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=159068

Reverted: https://codereview.chromium.org/10981069

Review URL: https://chromiumcodereview.appspot.com/10958071

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159691 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/plugins/plugin_infobar_delegates.h b/chrome/browser/plugins/plugin_infobar_delegates.h
index 08937d7..85fa159 100644
--- a/chrome/browser/plugins/plugin_infobar_delegates.h
+++ b/chrome/browser/plugins/plugin_infobar_delegates.h
@@ -15,6 +15,7 @@
 
 class InfoBarService;
 class HostContentSettingsMap;
+class PluginMetadata;
 
 namespace content {
 class WebContents;
@@ -80,11 +81,13 @@
                                       public WeakPluginInstallerObserver {
  public:
   static InfoBarDelegate* Create(content::WebContents* web_contents,
-                                 PluginInstaller* installer);
+                                 PluginInstaller* installer,
+                                 scoped_ptr<PluginMetadata> metadata);
 
  private:
   OutdatedPluginInfoBarDelegate(content::WebContents* web_contents,
                                 PluginInstaller* installer,
+                                scoped_ptr<PluginMetadata> metadata,
                                 const string16& message);
   virtual ~OutdatedPluginInfoBarDelegate();
 
@@ -110,6 +113,8 @@
   // not have any buttons (and not call the callback).
   void ReplaceWithInfoBar(const string16& message);
 
+  scoped_ptr<PluginMetadata> plugin_metadata_;
+
   string16 message_;
 
   DISALLOW_COPY_AND_ASSIGN(OutdatedPluginInfoBarDelegate);
@@ -126,6 +131,7 @@
   // installation state.
   static InfoBarDelegate* Create(InfoBarService* infobar_service,
                                  PluginInstaller* installer,
+                                 scoped_ptr<PluginMetadata> plugin_metadata,
                                  const base::Closure& callback);
 
  private:
@@ -133,6 +139,7 @@
 
   PluginInstallerInfoBarDelegate(InfoBarService* infobar_service,
                                  PluginInstaller* installer,
+                                 scoped_ptr<PluginMetadata> plugin_metadata,
                                  const base::Closure& callback,
                                  bool new_install,
                                  const string16& message);
@@ -160,6 +167,8 @@
   // not have any buttons (and not call the callback).
   void ReplaceWithInfoBar(const string16& message);
 
+  scoped_ptr<PluginMetadata> plugin_metadata_;
+
   base::Closure callback_;
 
   // True iff the plug-in isn't installed yet.