Chromium Code Reviews| Index: chrome/browser/extensions/webstore_inline_installer_browsertest.cc |
| diff --git a/chrome/browser/extensions/webstore_inline_installer_browsertest.cc b/chrome/browser/extensions/webstore_inline_installer_browsertest.cc |
| index ef4b7bb820245639ea0add2b54c940b90a0b9f4d..20c376a0625922f0b22a9d375d2bf7334118015e 100644 |
| --- a/chrome/browser/extensions/webstore_inline_installer_browsertest.cc |
| +++ b/chrome/browser/extensions/webstore_inline_installer_browsertest.cc |
| @@ -64,35 +64,39 @@ class ProgrammableInstallPrompt : public ExtensionInstallPrompt { |
| : ExtensionInstallPrompt(contents) |
| {} |
| - ~ProgrammableInstallPrompt() override {} |
| + ~ProgrammableInstallPrompt() override { g_done_callback = nullptr; } |
| void ShowDialog( |
| - Delegate* delegate, |
| + const ExtensionInstallPrompt::DoneCallback& done_callback, |
| const Extension* extension, |
| const SkBitmap* icon, |
| scoped_ptr<ExtensionInstallPrompt::Prompt> prompt, |
| scoped_ptr<const extensions::PermissionSet> custom_permissions, |
| - const ShowDialogCallback& callback) override { |
| - delegate_ = delegate; |
| + const ShowDialogCallback& show_dialog_callback) override { |
| + done_callback_ = done_callback; |
| + g_done_callback = &done_callback_; |
| } |
| - static bool Ready() { |
| - return delegate_ != NULL; |
| - } |
| + static bool Ready() { return g_done_callback != nullptr; } |
| static void Accept() { |
| - delegate_->InstallUIProceed(); |
| + g_done_callback->Run(ExtensionInstallPrompt::Result::ACCEPTED); |
| } |
| static void Reject() { |
| - delegate_->InstallUIAbort(true); |
| + g_done_callback->Run(ExtensionInstallPrompt::Result::USER_CANCELED); |
| } |
| private: |
| - static Delegate* delegate_; |
| + static ExtensionInstallPrompt::DoneCallback* g_done_callback; |
| + |
| + ExtensionInstallPrompt::DoneCallback done_callback_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(ProgrammableInstallPrompt); |
|
Avi (use Gerrit)
2015/12/29 03:10:45
You know.
Devlin
2016/01/04 22:59:23
Done.
|
| }; |
| -ExtensionInstallPrompt::Delegate* ProgrammableInstallPrompt::delegate_; |
| +ExtensionInstallPrompt::DoneCallback* |
| + ProgrammableInstallPrompt::g_done_callback = nullptr; |
| // Fake inline installer which creates a programmable prompt in place of |
| // the normal dialog UI. |