| Index: chrome/browser/plugin_observer.cc
|
| diff --git a/chrome/browser/plugin_observer.cc b/chrome/browser/plugin_observer.cc
|
| index 73d9a75d5351a7d2a364515cd1fe82bfadb6f4b5..62562a4bfb1c44ae77bcd787b4b19eaad6fc7c93 100644
|
| --- a/chrome/browser/plugin_observer.cc
|
| +++ b/chrome/browser/plugin_observer.cc
|
| @@ -11,6 +11,7 @@
|
| #include "chrome/browser/google/google_util.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_installer_infobar_delegate.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/tab_contents/confirm_infobar_delegate.h"
|
| @@ -19,6 +20,7 @@
|
| #include "chrome/common/url_constants.h"
|
| #include "content/browser/renderer_host/render_view_host.h"
|
| #include "content/browser/tab_contents/tab_contents.h"
|
| +#include "content/browser/tab_contents/tab_contents_delegate.h"
|
| #include "content/browser/user_metrics.h"
|
| #include "grit/generated_resources.h"
|
| #include "grit/theme_resources_standard.h"
|
| @@ -330,17 +332,15 @@ void PluginObserver::OnFindMissingPlugin(int placeholder_id,
|
|
|
| void PluginObserver::FoundMissingPlugin(int placeholder_id,
|
| const std::string& mime_type,
|
| - const GURL& url,
|
| - const string16& name,
|
| - bool display_url) {
|
| - Send(new ChromeViewMsg_FoundMissingPlugin(placeholder_id, name));
|
| + PluginInstaller* installer) {
|
| + Send(new ChromeViewMsg_FoundMissingPlugin(placeholder_id, installer->name()));
|
| InfoBarTabHelper* infobar_helper = tab_contents_->infobar_tab_helper();
|
| infobar_helper->AddInfoBar(new PluginInstallerInfoBarDelegate(
|
| infobar_helper,
|
| - name,
|
| - GURL(), // TODO(bauerb): Get URL from JSON file.
|
| + installer->name(),
|
| + installer->help_url(),
|
| base::Bind(&PluginObserver::InstallMissingPlugin,
|
| - weak_ptr_factory_.GetWeakPtr(), url, display_url)));
|
| + weak_ptr_factory_.GetWeakPtr(), installer)));
|
| }
|
|
|
| void PluginObserver::DidNotFindMissingPlugin(int placeholder_id,
|
| @@ -348,11 +348,10 @@ void PluginObserver::DidNotFindMissingPlugin(int placeholder_id,
|
| Send(new ChromeViewMsg_DidNotFindMissingPlugin(placeholder_id));
|
| }
|
|
|
| -void PluginObserver::InstallMissingPlugin(const GURL& url,
|
| - bool display_url) {
|
| - if (display_url) {
|
| - tab_contents()->OpenURL(url, tab_contents()->GetURL(), NEW_FOREGROUND_TAB,
|
| - content::PAGE_TRANSITION_TYPED);
|
| +void PluginObserver::InstallMissingPlugin(PluginInstaller* installer) {
|
| + if (installer->url_for_display()) {
|
| + tab_contents()->OpenURL(installer->plugin_url(), tab_contents()->GetURL(),
|
| + NEW_FOREGROUND_TAB, content::PAGE_TRANSITION_TYPED);
|
| } else {
|
| NOTIMPLEMENTED();
|
| }
|
|
|