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

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

Issue 1456213002: Revert of [Extensions] Don't count bubble dismissal from focus loss as acknowledgment (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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
Index: chrome/browser/extensions/extension_message_bubble_controller_unittest.cc
diff --git a/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc b/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc
index 4af1301aabe0ac8768b5bfe1b95645de737b573b..129990f2665e9f6640be80d13b31bd71ad8a7968 100644
--- a/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc
+++ b/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "base/bind_helpers.h"
#include "base/command_line.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
@@ -60,9 +59,9 @@
++action_button_callback_count_;
ExtensionMessageBubbleController::OnBubbleAction();
}
- void OnBubbleDismiss(bool by_deactivation) override {
+ void OnBubbleDismiss() override {
++dismiss_button_callback_count_;
- ExtensionMessageBubbleController::OnBubbleDismiss(by_deactivation);
+ ExtensionMessageBubbleController::OnBubbleDismiss();
}
void OnLinkClicked() override {
++link_click_callback_count_;
@@ -90,12 +89,10 @@
enum ExtensionBubbleAction {
BUBBLE_ACTION_CLICK_ACTION_BUTTON = 0,
BUBBLE_ACTION_CLICK_DISMISS_BUTTON,
- BUBBLE_ACTION_DISMISS_DEACTIVATION,
BUBBLE_ACTION_CLICK_LINK,
};
- FakeExtensionMessageBubble()
- : action_(BUBBLE_ACTION_CLICK_ACTION_BUTTON), controller_(nullptr) {}
+ FakeExtensionMessageBubble() : controller_(nullptr) {}
void set_action_on_show(ExtensionBubbleAction action) {
action_ = action;
@@ -106,20 +103,12 @@
void Show() {
controller_->OnShown();
- switch (action_) {
- case BUBBLE_ACTION_CLICK_ACTION_BUTTON:
- controller_->OnBubbleAction();
- break;
- case BUBBLE_ACTION_CLICK_DISMISS_BUTTON:
- controller_->OnBubbleDismiss(false);
- break;
- case BUBBLE_ACTION_DISMISS_DEACTIVATION:
- controller_->OnBubbleDismiss(true);
- break;
- case BUBBLE_ACTION_CLICK_LINK:
- controller_->OnLinkClicked();
- break;
- }
+ if (action_ == BUBBLE_ACTION_CLICK_ACTION_BUTTON)
+ controller_->OnBubbleAction();
+ else if (action_ == BUBBLE_ACTION_CLICK_DISMISS_BUTTON)
+ controller_->OnBubbleDismiss();
+ else if (action_ == BUBBLE_ACTION_CLICK_LINK)
+ controller_->OnLinkClicked();
}
private:
@@ -316,70 +305,6 @@
DISALLOW_COPY_AND_ASSIGN(ExtensionMessageBubbleTest);
};
-TEST_F(ExtensionMessageBubbleTest, BubbleReshowsOnDeactivationDismissal) {
- Init();
-
- ASSERT_TRUE(LoadExtensionOverridingNtp("1", kId1, Manifest::INTERNAL));
- ASSERT_TRUE(LoadExtensionOverridingNtp("2", kId2, Manifest::INTERNAL));
- scoped_ptr<TestExtensionMessageBubbleController> controller(
- new TestExtensionMessageBubbleController(
- new NtpOverriddenBubbleDelegate(browser()->profile()), browser()));
-
- // The list will contain one enabled unpacked extension (ext 2).
- EXPECT_TRUE(controller->ShouldShow());
- std::vector<base::string16> override_extensions =
- controller->GetExtensionList();
- ASSERT_EQ(1U, override_extensions.size());
- EXPECT_EQ(base::ASCIIToUTF16("Extension 2"), override_extensions[0]);
- EXPECT_EQ(0U, controller->link_click_count());
- EXPECT_EQ(0U, controller->dismiss_click_count());
- EXPECT_EQ(0U, controller->action_click_count());
-
- // Simulate showing the bubble and dismissing it due to deactivation.
- FakeExtensionMessageBubble bubble;
- bubble.set_action_on_show(
- FakeExtensionMessageBubble::BUBBLE_ACTION_DISMISS_DEACTIVATION);
- bubble.set_controller(controller.get());
- bubble.Show();
- EXPECT_EQ(0U, controller->link_click_count());
- EXPECT_EQ(0U, controller->action_click_count());
- EXPECT_EQ(1U, controller->dismiss_click_count());
-
- // No extension should have become disabled.
- ExtensionRegistry* registry = ExtensionRegistry::Get(profile());
- EXPECT_TRUE(registry->enabled_extensions().GetByID(kId2));
- // And since it was dismissed due to deactivation, the extension should not
- // have been acknowledged.
- EXPECT_FALSE(controller->delegate()->HasBubbleInfoBeenAcknowledged(kId2));
-
- bubble.set_action_on_show(
- FakeExtensionMessageBubble::BUBBLE_ACTION_DISMISS_DEACTIVATION);
- controller.reset(new TestExtensionMessageBubbleController(
- new NtpOverriddenBubbleDelegate(browser()->profile()), browser()));
- // The bubble shouldn't show again for the same profile (we don't want to
- // be annoying).
- EXPECT_FALSE(controller->ShouldShow());
- controller->ClearProfileListForTesting();
- EXPECT_TRUE(controller->ShouldShow());
- // Explicitly click the dismiss button. The extension should be acknowledged.
- bubble.set_controller(controller.get());
- bubble.set_action_on_show(
- FakeExtensionMessageBubble::BUBBLE_ACTION_CLICK_DISMISS_BUTTON);
- bubble.Show();
- EXPECT_TRUE(controller->delegate()->HasBubbleInfoBeenAcknowledged(kId2));
-
- // Uninstall the current ntp-controlling extension, allowing the other to
- // take control.
- service_->UninstallExtension(kId2, UNINSTALL_REASON_FOR_TESTING,
- base::Bind(&base::DoNothing), nullptr);
-
- // Even though we already showed for the given profile, we should show again,
- // because it's a different extension.
- controller.reset(new TestExtensionMessageBubbleController(
- new NtpOverriddenBubbleDelegate(browser()->profile()), browser()));
- EXPECT_TRUE(controller->ShouldShow());
-}
-
// The feature this is meant to test is only enacted on Windows, but it should
// pass on all platforms.
TEST_F(ExtensionMessageBubbleTest, WipeoutControllerTest) {
@@ -418,7 +343,7 @@
new TestExtensionMessageBubbleController(
new SuspiciousExtensionBubbleDelegate(browser()->profile()),
browser()));
- controller->ClearProfileListForTesting();
+ SuspiciousExtensionBubbleDelegate::ClearProfileListForTesting();
EXPECT_TRUE(controller->ShouldShow());
suspicious_extensions = controller->GetExtensionList();
ASSERT_EQ(1U, suspicious_extensions.size());
@@ -443,7 +368,7 @@
new TestExtensionMessageBubbleController(
new SuspiciousExtensionBubbleDelegate(browser()->profile()),
browser()));
- controller->ClearProfileListForTesting();
+ SuspiciousExtensionBubbleDelegate::ClearProfileListForTesting();
EXPECT_TRUE(controller->ShouldShow());
suspicious_extensions = controller->GetExtensionList();
ASSERT_EQ(2U, suspicious_extensions.size());
@@ -505,12 +430,7 @@
new TestExtensionMessageBubbleController(
new DevModeBubbleDelegate(browser()->profile()),
browser()));
- // Most bubbles would want to show again as long as the extensions weren't
- // acknowledged and the bubble wasn't dismissed due to deactivation. Since dev
- // mode extensions can't be (persistently) acknowledged, this isn't the case
- // for the dev mode bubble, and we should only show once per profile.
- EXPECT_FALSE(controller->ShouldShow());
- controller->ClearProfileListForTesting();
+ DevModeBubbleDelegate::ClearProfileListForTesting();
EXPECT_TRUE(controller->ShouldShow());
dev_mode_extensions = controller->GetExtensionList();
EXPECT_EQ(2U, dev_mode_extensions.size());
@@ -533,7 +453,7 @@
new TestExtensionMessageBubbleController(
new DevModeBubbleDelegate(browser()->profile()),
browser()));
- controller->ClearProfileListForTesting();
+ DevModeBubbleDelegate::ClearProfileListForTesting();
EXPECT_TRUE(controller->ShouldShow());
dev_mode_extensions = controller->GetExtensionList();
EXPECT_EQ(2U, dev_mode_extensions.size());
@@ -553,7 +473,7 @@
new TestExtensionMessageBubbleController(
new DevModeBubbleDelegate(browser()->profile()),
browser()));
- controller->ClearProfileListForTesting();
+ DevModeBubbleDelegate::ClearProfileListForTesting();
EXPECT_FALSE(controller->ShouldShow());
dev_mode_extensions = controller->GetExtensionList();
EXPECT_EQ(0U, dev_mode_extensions.size());

Powered by Google App Engine
This is Rietveld 408576698