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

Unified Diff: chrome/browser/ui/views/passwords/manage_passwords_bubble_view_interactive_uitest.cc

Issue 2808823002: MacViews: Allows the toolkit-views Manage Passwords Dialog to be used (Closed)
Patch Set: MacViews: Allows the toolkit-views Manage Passwords Dialog to be used (rebase) Created 3 years, 8 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
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
}

Powered by Google App Engine
This is Rietveld 408576698