| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/macros.h" | 5 #include "base/macros.h" |
| 6 #include "chrome/browser/ui/extensions/extension_message_bubble_browsertest.h" | 6 #include "chrome/browser/ui/extensions/extension_message_bubble_browsertest.h" |
| 7 #include "chrome/browser/ui/toolbar/toolbar_actions_bar.h" | 7 #include "chrome/browser/ui/toolbar/toolbar_actions_bar.h" |
| 8 #include "chrome/browser/ui/views/frame/browser_view.h" | 8 #include "chrome/browser/ui/views/frame/browser_view.h" |
| 9 #include "chrome/browser/ui/views/toolbar/app_menu_button.h" | 9 #include "chrome/browser/ui/views/toolbar/app_menu_button.h" |
| 10 #include "chrome/browser/ui/views/toolbar/browser_actions_container.h" | 10 #include "chrome/browser/ui/views/toolbar/browser_actions_container.h" |
| 11 #include "chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.h" |
| 11 #include "chrome/browser/ui/views/toolbar/toolbar_view.h" | 12 #include "chrome/browser/ui/views/toolbar/toolbar_view.h" |
| 12 #include "ui/views/bubble/bubble_dialog_delegate.h" | 13 #include "ui/views/bubble/bubble_dialog_delegate.h" |
| 14 #include "ui/views/controls/link.h" |
| 15 #include "ui/views/controls/link_listener.h" |
| 16 #include "ui/views/window/dialog_client_view.h" |
| 13 | 17 |
| 14 namespace { | 18 namespace { |
| 15 | 19 |
| 16 // Returns the ToolbarView for the given |browser|. | 20 // Returns the ToolbarView for the given |browser|. |
| 17 ToolbarView* GetToolbarViewForBrowser(Browser* browser) { | 21 ToolbarView* GetToolbarViewForBrowser(Browser* browser) { |
| 18 return BrowserView::GetBrowserViewForBrowser(browser)->toolbar(); | 22 return BrowserView::GetBrowserViewForBrowser(browser)->toolbar(); |
| 19 } | 23 } |
| 20 | 24 |
| 25 ToolbarActionsBarBubbleViews* GetBubbleForBrowser(Browser* browser) { |
| 26 return static_cast<ToolbarActionsBarBubbleViews*>( |
| 27 GetToolbarViewForBrowser(browser)->browser_actions()->active_bubble()); |
| 28 } |
| 29 |
| 21 // Checks that the |bubble| is using the |expected_reference_view|, and is in | 30 // Checks that the |bubble| is using the |expected_reference_view|, and is in |
| 22 // approximately the correct position. | 31 // approximately the correct position. |
| 23 void CheckBubbleAndReferenceView(views::BubbleDialogDelegateView* bubble, | 32 void CheckBubbleAndReferenceView(views::BubbleDialogDelegateView* bubble, |
| 24 views::View* expected_reference_view) { | 33 views::View* expected_reference_view) { |
| 25 ASSERT_TRUE(bubble); | 34 ASSERT_TRUE(bubble); |
| 26 ASSERT_TRUE(expected_reference_view); | 35 ASSERT_TRUE(expected_reference_view); |
| 27 EXPECT_EQ(expected_reference_view, bubble->GetAnchorView()); | 36 EXPECT_EQ(expected_reference_view, bubble->GetAnchorView()); |
| 28 | 37 |
| 29 // Do a rough check that the bubble is in the right place. | 38 // Do a rough check that the bubble is in the right place. |
| 30 gfx::Rect bubble_bounds = bubble->GetWidget()->GetWindowBoundsInScreen(); | 39 gfx::Rect bubble_bounds = bubble->GetWidget()->GetWindowBoundsInScreen(); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 49 : public ExtensionMessageBubbleBrowserTest { | 58 : public ExtensionMessageBubbleBrowserTest { |
| 50 protected: | 59 protected: |
| 51 ExtensionMessageBubbleViewBrowserTest() {} | 60 ExtensionMessageBubbleViewBrowserTest() {} |
| 52 ~ExtensionMessageBubbleViewBrowserTest() override {} | 61 ~ExtensionMessageBubbleViewBrowserTest() override {} |
| 53 | 62 |
| 54 private: | 63 private: |
| 55 // ExtensionMessageBubbleBrowserTest: | 64 // ExtensionMessageBubbleBrowserTest: |
| 56 void CheckBubbleNative(Browser* browser, AnchorPosition anchor) override; | 65 void CheckBubbleNative(Browser* browser, AnchorPosition anchor) override; |
| 57 void CloseBubbleNative(Browser* browser) override; | 66 void CloseBubbleNative(Browser* browser) override; |
| 58 void CheckBubbleIsNotPresentNative(Browser* browser) override; | 67 void CheckBubbleIsNotPresentNative(Browser* browser) override; |
| 68 void ClickLearnMoreButton(Browser* browser) override; |
| 69 void ClickActionButton(Browser* browser) override; |
| 70 void ClickDismissButton(Browser* browser) override; |
| 59 | 71 |
| 60 DISALLOW_COPY_AND_ASSIGN(ExtensionMessageBubbleViewBrowserTest); | 72 DISALLOW_COPY_AND_ASSIGN(ExtensionMessageBubbleViewBrowserTest); |
| 61 }; | 73 }; |
| 62 | 74 |
| 63 class ExtensionMessageBubbleViewBrowserTestRedesign | 75 class ExtensionMessageBubbleViewBrowserTestRedesign |
| 64 : public ExtensionMessageBubbleViewBrowserTest { | 76 : public ExtensionMessageBubbleViewBrowserTest { |
| 65 protected: | 77 protected: |
| 66 void SetUpCommandLine(base::CommandLine* command_line) override { | 78 void SetUpCommandLine(base::CommandLine* command_line) override { |
| 67 ExtensionMessageBubbleViewBrowserTest::SetUpCommandLine(command_line); | 79 ExtensionMessageBubbleViewBrowserTest::SetUpCommandLine(command_line); |
| 68 override_redesign_.reset(); | 80 override_redesign_.reset(); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 98 EXPECT_EQ(nullptr, container->active_bubble()); | 110 EXPECT_EQ(nullptr, container->active_bubble()); |
| 99 } | 111 } |
| 100 | 112 |
| 101 void ExtensionMessageBubbleViewBrowserTest::CheckBubbleIsNotPresentNative( | 113 void ExtensionMessageBubbleViewBrowserTest::CheckBubbleIsNotPresentNative( |
| 102 Browser* browser) { | 114 Browser* browser) { |
| 103 EXPECT_EQ( | 115 EXPECT_EQ( |
| 104 nullptr, | 116 nullptr, |
| 105 GetToolbarViewForBrowser(browser)->browser_actions()->active_bubble()); | 117 GetToolbarViewForBrowser(browser)->browser_actions()->active_bubble()); |
| 106 } | 118 } |
| 107 | 119 |
| 120 void ExtensionMessageBubbleViewBrowserTest::ClickLearnMoreButton( |
| 121 Browser* browser) { |
| 122 ToolbarActionsBarBubbleViews* bubble = GetBubbleForBrowser(browser); |
| 123 static_cast<views::LinkListener*>(bubble)->LinkClicked( |
| 124 const_cast<views::Link*>(bubble->learn_more_button()), 0); |
| 125 } |
| 126 |
| 127 void ExtensionMessageBubbleViewBrowserTest::ClickActionButton( |
| 128 Browser* browser) { |
| 129 ToolbarActionsBarBubbleViews* bubble = GetBubbleForBrowser(browser); |
| 130 bubble->GetDialogClientView()->AcceptWindow(); |
| 131 } |
| 132 |
| 133 void ExtensionMessageBubbleViewBrowserTest::ClickDismissButton( |
| 134 Browser* browser) { |
| 135 ToolbarActionsBarBubbleViews* bubble = GetBubbleForBrowser(browser); |
| 136 bubble->GetDialogClientView()->CancelWindow(); |
| 137 } |
| 138 |
| 108 IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, | 139 IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, |
| 109 ExtensionBubbleAnchoredToExtensionAction) { | 140 ExtensionBubbleAnchoredToExtensionAction) { |
| 110 TestBubbleAnchoredToExtensionAction(); | 141 TestBubbleAnchoredToExtensionAction(); |
| 111 } | 142 } |
| 112 | 143 |
| 113 IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, | 144 IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, |
| 114 ExtensionBubbleAnchoredToAppMenu) { | 145 ExtensionBubbleAnchoredToAppMenu) { |
| 115 TestBubbleAnchoredToAppMenu(); | 146 TestBubbleAnchoredToAppMenu(); |
| 116 } | 147 } |
| 117 | 148 |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 156 IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTestRedesign, | 187 IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTestRedesign, |
| 157 TestControlledSearchMessageBubble) { | 188 TestControlledSearchMessageBubble) { |
| 158 TestControlledSearchBubbleShown(); | 189 TestControlledSearchBubbleShown(); |
| 159 } | 190 } |
| 160 #endif // defined(OS_WIN) | 191 #endif // defined(OS_WIN) |
| 161 | 192 |
| 162 IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, | 193 IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, |
| 163 TestBubbleWithMultipleWindows) { | 194 TestBubbleWithMultipleWindows) { |
| 164 TestBubbleWithMultipleWindows(); | 195 TestBubbleWithMultipleWindows(); |
| 165 } | 196 } |
| 197 |
| 198 IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, |
| 199 TestClickingLearnMoreButton) { |
| 200 TestClickingLearnMoreButton(); |
| 201 } |
| 202 |
| 203 IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, |
| 204 TestClickingActionButton) { |
| 205 TestClickingActionButton(); |
| 206 } |
| 207 |
| 208 IN_PROC_BROWSER_TEST_F(ExtensionMessageBubbleViewBrowserTest, |
| 209 TestClickingDismissButton) { |
| 210 TestClickingDismissButton(); |
| 211 } |
| OLD | NEW |