Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3190)

Unified Diff: chrome/browser/extensions/webstore_inline_installer_browsertest.cc

Issue 1534123002: [Extensions] Migrate ExtensionInstallPrompt::Delegate to be a callback (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/extensions/unpacked_installer.cc ('k') | chrome/browser/extensions/webstore_reinstaller.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..8c5376546f7864141454e860f24307f4e9c5aa9c 100644
--- a/chrome/browser/extensions/webstore_inline_installer_browsertest.cc
+++ b/chrome/browser/extensions/webstore_inline_installer_browsertest.cc
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/macros.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
#include "chrome/browser/extensions/extension_install_prompt.h"
@@ -64,35 +65,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);
};
-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.
« no previous file with comments | « chrome/browser/extensions/unpacked_installer.cc ('k') | chrome/browser/extensions/webstore_reinstaller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698