| Index: chrome/browser/ui/intents/web_intent_picker_controller.cc
|
| diff --git a/chrome/browser/ui/intents/web_intent_picker_controller.cc b/chrome/browser/ui/intents/web_intent_picker_controller.cc
|
| index 88e4f82bd5b2ba944927acb67d1064995ff383fb..6bdb2d701961b29ce807a625a11c77f5fe533f05 100644
|
| --- a/chrome/browser/ui/intents/web_intent_picker_controller.cc
|
| +++ b/chrome/browser/ui/intents/web_intent_picker_controller.cc
|
| @@ -457,6 +457,9 @@ void WebIntentPickerController::OnExtensionInstallRequested(
|
| // Don't show a bubble pointing to the extension or any other post
|
| // installation UI.
|
| approval->skip_post_install_ui = true;
|
| + approval->custom_install_dialog_callback = base::Bind(
|
| + &WebIntentPickerController::OnShowExtensionInstallDialog,
|
| + weak_ptr_factory_.GetWeakPtr());
|
|
|
| scoped_refptr<WebstoreInstaller> installer = new WebstoreInstaller(
|
| profile_, this,
|
| @@ -872,6 +875,17 @@ void WebIntentPickerController::OnExtensionIconUnavailable(
|
| AsyncOperationFinished();
|
| }
|
|
|
| +void WebIntentPickerController::OnShowExtensionInstallDialog(
|
| + gfx::NativeWindow parent,
|
| + content::PageNavigator* navigator,
|
| + ExtensionInstallPrompt::Delegate* delegate,
|
| + const ExtensionInstallPrompt::Prompt& prompt) {
|
| + picker_model_->SetPendingExtensionInstallDelegate(delegate);
|
| + picker_model_->SetPendingExtensionInstallPrompt(prompt);
|
| + if (picker_)
|
| + picker_->OnShowExtensionInstallDialog(parent, navigator, delegate, prompt);
|
| +}
|
| +
|
| void WebIntentPickerController::SetWindowDispositionSource(
|
| content::WebContents* source,
|
| content::WebIntentsDispatcher* dispatcher) {
|
|
|