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

Unified Diff: chrome/browser/ui/views/extensions/extension_message_bubble_view_browsertest.cc

Issue 2105393002: [Extensions UI] Handle multiple warning bubbles racing to show (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2743
Patch Set: Created 4 years, 6 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/toolbar/toolbar_actions_model.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/views/extensions/extension_message_bubble_view_browsertest.cc
diff --git a/chrome/browser/ui/views/extensions/extension_message_bubble_view_browsertest.cc b/chrome/browser/ui/views/extensions/extension_message_bubble_view_browsertest.cc
index 248cb1ff1ba047cc10a88b3595959f59a455fbcd..9d03d322a1da5b9e7e5c630c07534387a24fdf87 100644
--- a/chrome/browser/ui/views/extensions/extension_message_bubble_view_browsertest.cc
+++ b/chrome/browser/ui/views/extensions/extension_message_bubble_view_browsertest.cc
@@ -8,8 +8,12 @@
#include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/browser/ui/views/toolbar/app_menu_button.h"
#include "chrome/browser/ui/views/toolbar/browser_actions_container.h"
+#include "chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.h"
#include "chrome/browser/ui/views/toolbar/toolbar_view.h"
#include "ui/views/bubble/bubble_dialog_delegate.h"
+#include "ui/views/controls/link.h"
+#include "ui/views/controls/link_listener.h"
+#include "ui/views/window/dialog_client_view.h"
namespace {
@@ -18,6 +22,11 @@ ToolbarView* GetToolbarViewForBrowser(Browser* browser) {
return BrowserView::GetBrowserViewForBrowser(browser)->toolbar();
}
+ToolbarActionsBarBubbleViews* GetBubbleForBrowser(Browser* browser) {
+ return static_cast<ToolbarActionsBarBubbleViews*>(
+ GetToolbarViewForBrowser(browser)->browser_actions()->active_bubble());
+}
+
// Checks that the |bubble| is using the |expected_reference_view|, and is in
// approximately the correct position.
void CheckBubbleAndReferenceView(views::BubbleDialogDelegateView* bubble,
@@ -53,9 +62,12 @@ class ExtensionMessageBubbleViewBrowserTest
private:
// ExtensionMessageBubbleBrowserTest:
- void CheckBubble(Browser* browser, AnchorPosition anchor) override;
- void CloseBubble(Browser* browser) override;
- void CheckBubbleIsNotPresent(Browser* browser) override;
+ void CheckBubbleNative(Browser* browser, AnchorPosition anchor) override;
+ void CloseBubbleNative(Browser* browser) override;
+ void CheckBubbleIsNotPresentNative(Browser* browser) override;
+ void ClickLearnMoreButton(Browser* browser) override;
+ void ClickActionButton(Browser* browser) override;
+ void ClickDismissButton(Browser* browser) override;
DISALLOW_COPY_AND_ASSIGN(ExtensionMessageBubbleViewBrowserTest);
};
@@ -69,8 +81,9 @@ class ExtensionMessageBubbleViewBrowserTestRedesign
}
};
-void ExtensionMessageBubbleViewBrowserTest::CheckBubble(Browser* browser,
- AnchorPosition anchor) {
+void ExtensionMessageBubbleViewBrowserTest::CheckBubbleNative(
+ Browser* browser,
+ AnchorPosition anchor) {
ToolbarView* toolbar_view = GetToolbarViewForBrowser(browser);
BrowserActionsContainer* container = toolbar_view->browser_actions();
views::BubbleDialogDelegateView* bubble = container->active_bubble();
@@ -87,7 +100,8 @@ void ExtensionMessageBubbleViewBrowserTest::CheckBubble(Browser* browser,
CheckBubbleAndReferenceView(bubble, anchor_view);
}
-void ExtensionMessageBubbleViewBrowserTest::CloseBubble(Browser* browser) {
+void ExtensionMessageBubbleViewBrowserTest::CloseBubbleNative(
+ Browser* browser) {
BrowserActionsContainer* container =
GetToolbarViewForBrowser(browser)->browser_actions();
views::BubbleDialogDelegateView* bubble = container->active_bubble();
@@ -96,13 +110,32 @@ void ExtensionMessageBubbleViewBrowserTest::CloseBubble(Browser* browser) {
EXPECT_EQ(nullptr, container->active_bubble());
}
-void ExtensionMessageBubbleViewBrowserTest::CheckBubbleIsNotPresent(
+void ExtensionMessageBubbleViewBrowserTest::CheckBubbleIsNotPresentNative(
Browser* browser) {
EXPECT_EQ(
nullptr,
GetToolbarViewForBrowser(browser)->browser_actions()->active_bubble());
}
+void ExtensionMessageBubbleViewBrowserTest::ClickLearnMoreButton(
+ Browser* browser) {
+ ToolbarActionsBarBubbleViews* bubble = GetBubbleForBrowser(browser);
+ static_cast<views::LinkListener*>(bubble)->LinkClicked(
+ const_cast<views::Link*>(bubble->learn_more_button()), 0);
+}
+
+void ExtensionMessageBubbleViewBrowserTest::ClickActionButton(
+ Browser* browser) {
+ ToolbarActionsBarBubbleViews* bubble = GetBubbleForBrowser(browser);
+ bubble->GetDialogClientView()->AcceptWindow();
+}
+
+void ExtensionMessageBubbleViewBrowserTest::ClickDismissButton(
+ Browser* browser) {
+ ToolbarActionsBarBubbleViews* bubble = GetBubbleForBrowser(browser);
+ bubble->GetDialogClientView()->CancelWindow();
+}
+
IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest,
ExtensionBubbleAnchoredToExtensionAction) {
TestBubbleAnchoredToExtensionAction();
@@ -156,3 +189,23 @@ IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTestRedesign,
TestControlledSearchBubbleShown();
}
#endif // defined(OS_WIN)
+
+IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest,
+ TestBubbleWithMultipleWindows) {
+ TestBubbleWithMultipleWindows();
+}
+
+IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest,
+ TestClickingLearnMoreButton) {
+ TestClickingLearnMoreButton();
+}
+
+IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest,
+ TestClickingActionButton) {
+ TestClickingActionButton();
+}
+
+IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest,
+ TestClickingDismissButton) {
+ TestClickingDismissButton();
+}
« no previous file with comments | « chrome/browser/ui/toolbar/toolbar_actions_model.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698