| Index: chrome/browser/ui/views/extensions/extension_install_dialog_view.cc
|
| diff --git a/chrome/browser/ui/views/extensions/extension_install_dialog_view.cc b/chrome/browser/ui/views/extensions/extension_install_dialog_view.cc
|
| index 5eefc58026efb4b4f33ce79b9eec29b8be5b2372..53582e6e61f7962528ecebe185e7191f26a47fb6 100644
|
| --- a/chrome/browser/ui/views/extensions/extension_install_dialog_view.cc
|
| +++ b/chrome/browser/ui/views/extensions/extension_install_dialog_view.cc
|
| @@ -19,6 +19,8 @@
|
| #include "chrome/browser/extensions/extension_install_prompt_experiment.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/profiles/profile_manager.h"
|
| +#include "chrome/browser/ui/browser.h"
|
| +#include "chrome/browser/ui/scoped_tabbed_browser_displayer.h"
|
| #include "chrome/browser/ui/views/constrained_window_views.h"
|
| #include "chrome/common/extensions/extension_constants.h"
|
| #include "chrome/grit/generated_resources.h"
|
| @@ -170,9 +172,12 @@ void ShowExtensionInstallDialogImpl(
|
| ExtensionInstallPrompt::Delegate* delegate,
|
| scoped_refptr<ExtensionInstallPrompt::Prompt> prompt) {
|
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
| - CreateBrowserModalDialogViews(
|
| - new ExtensionInstallDialogView(show_params.navigator, delegate, prompt),
|
| - show_params.parent_window)->Show();
|
| + ExtensionInstallDialogView* dialog =
|
| + new ExtensionInstallDialogView(show_params.profile,
|
| + show_params.parent_web_contents,
|
| + delegate,
|
| + prompt);
|
| + CreateBrowserModalDialogViews(dialog, show_params.parent_window)->Show();
|
| }
|
|
|
| CustomScrollableView::CustomScrollableView() {}
|
| @@ -184,10 +189,12 @@ void CustomScrollableView::Layout() {
|
| }
|
|
|
| ExtensionInstallDialogView::ExtensionInstallDialogView(
|
| + Profile* profile,
|
| content::PageNavigator* navigator,
|
| ExtensionInstallPrompt::Delegate* delegate,
|
| scoped_refptr<ExtensionInstallPrompt::Prompt> prompt)
|
| - : navigator_(navigator),
|
| + : profile_(profile),
|
| + navigator_(navigator),
|
| delegate_(delegate),
|
| prompt_(prompt),
|
| scroll_view_(NULL),
|
| @@ -851,7 +858,14 @@ void ExtensionInstallDialogView::LinkClicked(views::Link* source,
|
| store_url, Referrer(), NEW_FOREGROUND_TAB,
|
| ui::PAGE_TRANSITION_LINK,
|
| false);
|
| - navigator_->OpenURL(params);
|
| +
|
| + if (navigator_) {
|
| + navigator_->OpenURL(params);
|
| + } else {
|
| + chrome::ScopedTabbedBrowserDisplayer displayer(
|
| + profile_, chrome::GetActiveDesktop());
|
| + displayer.browser()->OpenURL(params);
|
| + }
|
| GetWidget()->Close();
|
| }
|
| }
|
|
|