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

Unified Diff: chrome/browser/ui/views/extensions/extension_install_dialog_view_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/ui/views/extensions/extension_install_dialog_view.cc ('k') | chrome/chrome_tests.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/views/extensions/extension_install_dialog_view_browsertest.cc
diff --git a/chrome/browser/ui/views/extensions/extension_install_dialog_view_browsertest.cc b/chrome/browser/ui/views/extensions/extension_install_dialog_view_browsertest.cc
index 7e7513d30e00f532a979fb256abf6823fdf1d0c3..98869b8f33a2be9a757f9345ba074b598a329b37 100644
--- a/chrome/browser/ui/views/extensions/extension_install_dialog_view_browsertest.cc
+++ b/chrome/browser/ui/views/extensions/extension_install_dialog_view_browsertest.cc
@@ -11,6 +11,7 @@
#include "chrome/browser/extensions/extension_browsertest.h"
#include "chrome/browser/extensions/extension_icon_manager.h"
#include "chrome/browser/extensions/extension_install_prompt.h"
+#include "chrome/browser/extensions/extension_install_prompt_test_helper.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/browser/ui/webui/extensions/extension_settings_handler.h"
@@ -30,35 +31,6 @@ using extensions::PermissionIDSet;
using extensions::PermissionMessage;
using extensions::PermissionMessages;
-// A simple delegate implementation that counts the number of times
-// |InstallUIProceed| and |InstallUIAbort| are called.
-class MockExtensionInstallPromptDelegate
- : public ExtensionInstallPrompt::Delegate {
- public:
- MockExtensionInstallPromptDelegate()
- : proceed_count_(0),
- abort_count_(0) {}
-
- // ExtensionInstallPrompt::Delegate overrides.
- void InstallUIProceed() override;
- void InstallUIAbort(bool user_initiated) override;
-
- int proceed_count() { return proceed_count_; }
- int abort_count() { return abort_count_; }
-
- protected:
- int proceed_count_;
- int abort_count_;
-};
-
-void MockExtensionInstallPromptDelegate::InstallUIProceed() {
- ++proceed_count_;
-}
-
-void MockExtensionInstallPromptDelegate::InstallUIAbort(bool user_initiated) {
- ++abort_count_;
-}
-
class ExtensionInstallDialogViewTestBase : public ExtensionBrowserTest {
protected:
explicit ExtensionInstallDialogViewTestBase(
@@ -74,13 +46,11 @@ class ExtensionInstallDialogViewTestBase : public ExtensionBrowserTest {
const PermissionMessages& permissions);
content::WebContents* web_contents() { return web_contents_; }
- MockExtensionInstallPromptDelegate* delegate() { return &delegate_; }
private:
const extensions::Extension* extension_;
ExtensionInstallPrompt::PromptType prompt_type_;
content::WebContents* web_contents_;
- MockExtensionInstallPromptDelegate delegate_;
DISALLOW_COPY_AND_ASSIGN(ExtensionInstallDialogViewTestBase);
};
@@ -131,7 +101,8 @@ ScrollbarTest::ScrollbarTest()
bool ScrollbarTest::IsScrollbarVisible(
scoped_ptr<ExtensionInstallPrompt::Prompt> prompt) {
ExtensionInstallDialogView* dialog = new ExtensionInstallDialogView(
- profile(), web_contents(), delegate(), std::move(prompt));
+ profile(), web_contents(), ExtensionInstallPrompt::DoneCallback(),
+ std::move(prompt));
// Create the modal view around the install dialog view.
views::Widget* modal = constrained_window::CreateBrowserModalDialogViews(
@@ -189,10 +160,10 @@ class ExtensionInstallDialogViewTest
// cancel the install.
IN_PROC_BROWSER_TEST_F(ExtensionInstallDialogViewTest, NotifyDelegate) {
{
- // The user confirms the install.
- MockExtensionInstallPromptDelegate delegate;
+ ExtensionInstallPromptTestHelper helper;
scoped_ptr<ExtensionInstallDialogView> dialog(
- new ExtensionInstallDialogView(profile(), web_contents(), &delegate,
+ new ExtensionInstallDialogView(profile(), web_contents(),
+ helper.GetCallback(),
CreatePrompt()));
views::DialogDelegateView* delegate_view = dialog.get();
@@ -200,15 +171,15 @@ IN_PROC_BROWSER_TEST_F(ExtensionInstallDialogViewTest, NotifyDelegate) {
delegate_view->OnClosed();
dialog.reset();
- EXPECT_EQ(0, delegate.abort_count());
- EXPECT_EQ(1, delegate.proceed_count());
+ EXPECT_EQ(ExtensionInstallPrompt::Result::ACCEPTED, helper.result());
}
{
// The user cancels the install.
- MockExtensionInstallPromptDelegate delegate;
+ ExtensionInstallPromptTestHelper helper;
scoped_ptr<ExtensionInstallDialogView> dialog(
- new ExtensionInstallDialogView(profile(), web_contents(), &delegate,
+ new ExtensionInstallDialogView(profile(), web_contents(),
+ helper.GetCallback(),
CreatePrompt()));
views::DialogDelegateView* delegate_view = dialog.get();
@@ -216,20 +187,20 @@ IN_PROC_BROWSER_TEST_F(ExtensionInstallDialogViewTest, NotifyDelegate) {
delegate_view->OnClosed();
dialog.reset();
- EXPECT_EQ(1, delegate.abort_count());
- EXPECT_EQ(0, delegate.proceed_count());
+ EXPECT_EQ(ExtensionInstallPrompt::Result::USER_CANCELED, helper.result());
}
{
// Corner case: Dialog is closed without the user explicitly choosing to
// proceed or cancel.
- MockExtensionInstallPromptDelegate delegate;
+ ExtensionInstallPromptTestHelper helper;
scoped_ptr<ExtensionInstallDialogView> dialog(
- new ExtensionInstallDialogView(profile(), web_contents(), &delegate,
+ new ExtensionInstallDialogView(profile(), web_contents(),
+ helper.GetCallback(),
CreatePrompt()));
dialog.reset();
- EXPECT_EQ(1, delegate.abort_count());
- EXPECT_EQ(0, delegate.proceed_count());
+ // TODO(devlin): Should this be ABORTED?
+ EXPECT_EQ(ExtensionInstallPrompt::Result::USER_CANCELED, helper.result());
}
}
« no previous file with comments | « chrome/browser/ui/views/extensions/extension_install_dialog_view.cc ('k') | chrome/chrome_tests.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698