Index: chrome/browser/ui/views/passwords/manage_passwords_bubble_view_interactive_uitest.cc |
diff --git a/chrome/browser/ui/views/passwords/manage_passwords_bubble_view_interactive_uitest.cc b/chrome/browser/ui/views/passwords/manage_passwords_bubble_view_interactive_uitest.cc |
index 1579d11594006ac20772438262888c2444e7c8bc..afff97b46d8a0f5602df14115f8a7b44515899d7 100644 |
--- a/chrome/browser/ui/views/passwords/manage_passwords_bubble_view_interactive_uitest.cc |
+++ b/chrome/browser/ui/views/passwords/manage_passwords_bubble_view_interactive_uitest.cc |
@@ -26,6 +26,8 @@ |
#include "content/public/common/content_features.h" |
#include "net/url_request/test_url_fetcher_factory.h" |
#include "testing/gmock/include/gmock/gmock.h" |
+#include "ui/base/ui_base_switches.h" |
+#include "ui/base/ui_features.h" |
#include "ui/views/test/widget_test.h" |
using testing::Eq; |
@@ -63,9 +65,24 @@ bool IsBubbleShowing() { |
namespace metrics_util = password_manager::metrics_util; |
-using ManagePasswordsBubbleViewTest = ManagePasswordsTest; |
+class ManagePasswordsBubbleViewTest : public ManagePasswordsTest { |
+ public: |
+ ManagePasswordsBubbleViewTest() {} |
+ ~ManagePasswordsBubbleViewTest() override {} |
+ |
+ // content::BrowserTestBase: |
+ void SetUpCommandLine(base::CommandLine* command_line) override { |
+#if defined(OS_MACOSX) |
+ command_line->AppendSwitch(switches::kExtendMdToSecondaryUi); |
+#endif |
+ } |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(ManagePasswordsBubbleViewTest); |
+}; |
IN_PROC_BROWSER_TEST_F(ManagePasswordsBubbleViewTest, BasicOpenAndClose) { |
+ ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); |
tapted
2017/04/19 03:31:07
ah, I need to try again on that CL to do this by d
varkha
2017/04/19 08:34:17
Acknowledged.
|
EXPECT_FALSE(IsBubbleShowing()); |
SetupPendingPassword(); |
EXPECT_TRUE(IsBubbleShowing()); |
@@ -92,6 +109,7 @@ IN_PROC_BROWSER_TEST_F(ManagePasswordsBubbleViewTest, BasicOpenAndClose) { |
// Same as 'BasicOpenAndClose', but use the command rather than the static |
// method directly. |
IN_PROC_BROWSER_TEST_F(ManagePasswordsBubbleViewTest, CommandControlsBubble) { |
+ ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); |
// The command only works if the icon is visible, so get into management mode. |
SetupManagingPasswords(); |
EXPECT_FALSE(IsBubbleShowing()); |
@@ -104,6 +122,7 @@ IN_PROC_BROWSER_TEST_F(ManagePasswordsBubbleViewTest, CommandControlsBubble) { |
bubble->GetFocusManager()->GetFocusedView()); |
ManagePasswordsBubbleView::CloseCurrentBubble(); |
EXPECT_FALSE(IsBubbleShowing()); |
+ content::RunAllPendingInMessageLoop(); |
tapted
2017/04/19 03:31:06
It's not obvious why adding this was necessary. co
varkha
2017/04/19 08:34:17
Done. Added a comment.
|
// And, just for grins, ensure that we can re-open the bubble. |
ExecuteManagePasswordsCommand(); |
@@ -166,6 +185,8 @@ IN_PROC_BROWSER_TEST_F(ManagePasswordsBubbleViewTest, |
SetupPendingPassword(); |
EXPECT_TRUE(IsBubbleShowing()); |
ManagePasswordsBubbleView::CloseCurrentBubble(); |
+ content::RunAllPendingInMessageLoop(); |
tapted
2017/04/19 03:31:06
(same comment)
varkha
2017/04/19 08:34:17
Done. Added a comment.
|
+ |
// This opening should be measured as manual. |
ExecuteManagePasswordsCommand(); |
EXPECT_TRUE(IsBubbleShowing()); |
@@ -314,27 +335,28 @@ IN_PROC_BROWSER_TEST_F(ManagePasswordsBubbleViewTest, AutoSigninNoFocus) { |
local_credentials.push_back( |
base::MakeUnique<autofill::PasswordForm>(*test_form())); |
- // Open another window with focus. |
+ // Open another window with focus and wait for it to become active. |
Browser* focused_window = CreateBrowser(browser()->profile()); |
ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(focused_window)); |
content::RunAllPendingInMessageLoop(); |
- gfx::NativeWindow window = browser()->window()->GetNativeWindow(); |
- views::Widget* widget = views::Widget::GetWidgetForNativeWindow(window); |
- ASSERT_NE(nullptr, widget); |
+ ui_test_utils::BrowserActivationWaiter focused_waiter(focused_window); |
+ focused_waiter.WaitForActivation(); |
tapted
2017/04/19 03:31:07
BringBrowserWindowToFront does exactly this. I don
varkha
2017/04/19 08:34:17
Done.
|
- views::test::WidgetActivationWaiter inactive_waiter(widget, false); |
tapted
2017/04/19 03:31:06
Note I don't think this |inactive_waiter| was ever
varkha
2017/04/19 08:34:17
Acknowledged.
|
- inactive_waiter.Wait(); |
ManagePasswordsBubbleView::set_auto_signin_toast_timeout(0); |
SetupAutoSignin(std::move(local_credentials)); |
- content::RunAllPendingInMessageLoop(); |
EXPECT_TRUE(IsBubbleShowing()); |
+// Auto-close of the auto-sign-in dialog is not implemented for a Cocoa |
+// browser. |
+#if !defined(OS_MACOSX) || BUILDFLAG(MAC_VIEWS_BROWSER) |
// Bring the first window back. The toast closes by timeout. |
focused_window->window()->Close(); |
browser()->window()->Activate(); |
content::RunAllPendingInMessageLoop(); |
- views::test::WidgetActivationWaiter active_waiter(widget, true); |
- active_waiter.Wait(); |
+ ui_test_utils::BrowserActivationWaiter waiter(browser()); |
+ waiter.WaitForActivation(); |
tapted
2017/04/19 03:31:06
I think the 5 lines above can just be replaced by
varkha
2017/04/19 08:34:17
Done.
|
+ |
EXPECT_FALSE(IsBubbleShowing()); |
tapted
2017/04/19 03:31:06
Then the comment above the #ifdef can move down he
varkha
2017/04/19 08:34:17
Done.
|
+#endif |
} |