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

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

Issue 2086193002: [Extensions UI] Fix a crash when clicking on a bubble's learn more (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix Views clicking 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/extensions/extension_message_bubble_browsertest.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 e25e4e55067170457c1bdc5d35d5b3e4a9154a01..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,
@@ -56,6 +65,9 @@ class ExtensionMessageBubbleViewBrowserTest
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);
};
@@ -105,6 +117,25 @@ void ExtensionMessageBubbleViewBrowserTest::CheckBubbleIsNotPresentNative(
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();
@@ -163,3 +194,18 @@ 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/extensions/extension_message_bubble_browsertest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698