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

Unified Diff: chrome/browser/ui/views/sync/one_click_signin_bubble_view_browsertest.cc

Issue 13979003: Win: Display a native bubble (instead of the JS one) after the web signin flow. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 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/sync/one_click_signin_bubble_view_browsertest.cc
diff --git a/chrome/browser/ui/views/sync/one_click_signin_bubble_view_browsertest.cc b/chrome/browser/ui/views/sync/one_click_signin_bubble_view_browsertest.cc
index 98f22ef993588fa0e000f94307562180654fe774..4700166c9572bddedbdf8783edb14c70bfa435e1 100644
--- a/chrome/browser/ui/views/sync/one_click_signin_bubble_view_browsertest.cc
+++ b/chrome/browser/ui/views/sync/one_click_signin_bubble_view_browsertest.cc
@@ -7,6 +7,7 @@
#include "base/bind.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_window.h"
+#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/base/ui_test_utils.h"
#include "content/public/common/page_transition_types.h"
@@ -19,20 +20,17 @@ class OneClickSigninBubbleViewBrowserTest : public InProcessBrowserTest {
mode_(OneClickSigninSyncStarter::CONFIGURE_SYNC_FIRST) {
}
- OneClickSigninBubbleView* ShowOneClickSigninBubble() {
+ OneClickSigninBubbleView* ShowOneClickSigninBubble(
+ BrowserWindow::OneClickSigninBubbleType bubble_type) {
browser()->window()->ShowOneClickSigninBubble(
- BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_BUBBLE,
+ bubble_type,
+ string16(),
string16(),
base::Bind(&OneClickSigninBubbleViewBrowserTest::OnStartSync, this));
- content::RunAllPendingInMessageLoop();
- EXPECT_TRUE(OneClickSigninBubbleView::IsShowing());
-
OneClickSigninBubbleView* view =
OneClickSigninBubbleView::view_for_testing();
EXPECT_TRUE(view != NULL);
-
- // Simulate pressing a link in the bubble. This should open a new tab.
view->message_loop_for_testing_ = MessageLoop::current();
return view;
}
@@ -50,22 +48,42 @@ class OneClickSigninBubbleViewBrowserTest : public InProcessBrowserTest {
DISALLOW_COPY_AND_ASSIGN(OneClickSigninBubbleViewBrowserTest);
};
-// Disabled. See http://crbug.com/132348
-IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest, DISABLED_Show) {
- ShowOneClickSigninBubble();
+IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest, ShowBubble) {
+ ShowOneClickSigninBubble(BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_BUBBLE);
content::RunAllPendingInMessageLoop();
EXPECT_TRUE(OneClickSigninBubbleView::IsShowing());
+}
+
+IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest, ShowDialog) {
+ ShowOneClickSigninBubble(
+ BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_MODAL_DIALOG);
+ content::RunAllPendingInMessageLoop();
+ EXPECT_TRUE(OneClickSigninBubbleView::IsShowing());
+}
+
+IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest, HideBubble) {
+ ShowOneClickSigninBubble(BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_BUBBLE);
+
+ OneClickSigninBubbleView::Hide();
+ content::RunAllPendingInMessageLoop();
+ EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
+}
+
+IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest, HideDialog) {
+ ShowOneClickSigninBubble(
+ BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_MODAL_DIALOG);
OneClickSigninBubbleView::Hide();
content::RunAllPendingInMessageLoop();
+ EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
EXPECT_TRUE(on_start_sync_called_);
EXPECT_EQ(OneClickSigninSyncStarter::SYNC_WITH_DEFAULT_SETTINGS, mode_);
- EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
}
-// Disabled. See http://crbug.com/132348
-IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest, DISABLED_OkButton) {
- OneClickSigninBubbleView* view = ShowOneClickSigninBubble();
+IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest, BubbleOkButton) {
+ OneClickSigninBubbleView* view =
+ ShowOneClickSigninBubble(
+ BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_BUBBLE);
// Simulate pressing the OK button. Set the message loop in the bubble
// view so that it can be quit once the bubble is hidden.
@@ -77,16 +95,34 @@ IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest, DISABLED_OkButton) {
// View should no longer be showing. The message loop will exit once the
// fade animation of the bubble is done.
- content::RunMessageLoop();
+ content::RunAllPendingInMessageLoop();
+ EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
+}
+
+IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest, DialogOkButton) {
+ OneClickSigninBubbleView* view = ShowOneClickSigninBubble(
+ BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_MODAL_DIALOG);
+
+ // Simulate pressing the OK button. Set the message loop in the bubble
+ // view so that it can be quit once the bubble is hidden.
+ views::ButtonListener* listener = view;
+ const ui::MouseEvent event(ui::ET_MOUSE_PRESSED,
+ gfx::Point(), gfx::Point(),
+ 0);
+ listener->ButtonPressed(view->ok_button_, event);
+
+ // View should no longer be showing and sync should start
+ // The message loop will exit once the fade animation of the dialog is done.
+ content::RunAllPendingInMessageLoop();
+ EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
EXPECT_TRUE(on_start_sync_called_);
EXPECT_EQ(OneClickSigninSyncStarter::SYNC_WITH_DEFAULT_SETTINGS, mode_);
- EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
}
-// Disabled. See http://crbug.com/132348
IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
- DISABLED_UndoButton) {
- OneClickSigninBubbleView* view = ShowOneClickSigninBubble();
+ DialogUndoButton) {
+ OneClickSigninBubbleView* view = ShowOneClickSigninBubble(
+ BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_MODAL_DIALOG);
// Simulate pressing the undo button. Set the message loop in the bubble
// view so that it can be quit once the bubble is hidden.
@@ -98,32 +134,87 @@ IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
// View should no longer be showing. The message loop will exit once the
// fade animation of the bubble is done.
- content::RunMessageLoop();
+ content::RunAllPendingInMessageLoop();
+ EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
EXPECT_TRUE(on_start_sync_called_);
EXPECT_EQ(OneClickSigninSyncStarter::UNDO_SYNC, mode_);
+}
+
+IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
+ BubbleAdvancedLink) {
+ int starting_tab_count = browser()->tab_strip_model()->count();
+
+ OneClickSigninBubbleView* view = ShowOneClickSigninBubble(
+ BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_BUBBLE);
+
+ // Simulate pressing a link in the bubble.This should replace the current tab.
+ views::LinkListener* listener = view;
+ listener->LinkClicked(view->advanced_link_, 0);
+
+ // View should no longer be showing and the current tab should be replaced.
+ content::RunAllPendingInMessageLoop();
EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
+ int tab_count = browser()->tab_strip_model()->count();
+ EXPECT_EQ(starting_tab_count, tab_count);
}
-// Disabled. See http://crbug.com/132348
IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
- DISABLED_AdvancedLink) {
- OneClickSigninBubbleView* view = ShowOneClickSigninBubble();
+ DialogAdvancedLink) {
+ int starting_tab_count = browser()->tab_strip_model()->count();
+
+ OneClickSigninBubbleView* view = ShowOneClickSigninBubble(
+ BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_MODAL_DIALOG);
// Simulate pressing a link in the bubble. This should open a new tab.
views::LinkListener* listener = view;
listener->LinkClicked(view->advanced_link_, 0);
// View should no longer be showing and a new tab should be opened.
- content::RunMessageLoop();
+ content::RunAllPendingInMessageLoop();
EXPECT_TRUE(on_start_sync_called_);
EXPECT_EQ(OneClickSigninSyncStarter::CONFIGURE_SYNC_FIRST, mode_);
EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
+ int tab_count = browser()->tab_strip_model()->count();
+ EXPECT_EQ(starting_tab_count, tab_count);
+}
+
+IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
+ BubbleLearnMoreLink) {
+ int starting_tab_count = browser()->tab_strip_model()->count();
+
+ OneClickSigninBubbleView* view = ShowOneClickSigninBubble(
+ BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_BUBBLE);
+
+ // View should no longer be showing and a new tab should be added.
+ views::LinkListener* listener = view;
+ listener->LinkClicked(view->learn_more_link_, 0);
+
+ content::RunAllPendingInMessageLoop();
+ EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
+ int tab_count = browser()->tab_strip_model()->count();
+ EXPECT_EQ(starting_tab_count + 1, tab_count);
+}
+
+IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
+ BubblePressEnterKey) {
+ OneClickSigninBubbleView* one_click_view = ShowOneClickSigninBubble(
+ BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_BUBBLE);
+
+ // Simulate pressing the Enter key.
+ views::View* view = one_click_view;
+ const ui::Accelerator accelerator(ui::VKEY_RETURN, 0);
+ view->AcceleratorPressed(accelerator);
+
+ // View should no longer be showing. The message loop will exit once the
+ // fade animation of the bubble is done.
+ content::RunAllPendingInMessageLoop();
+ EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
}
-// Disabled. See http://crbug.com/132348
IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
- DISABLED_PressEnterKey) {
- OneClickSigninBubbleView* one_click_view = ShowOneClickSigninBubble();
+ DialogPressEnterKey) {
+ OneClickSigninBubbleView* one_click_view = ShowOneClickSigninBubble(
+ BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_MODAL_DIALOG);
// Simulate pressing the Enter key.
views::View* view = one_click_view;
@@ -132,16 +223,32 @@ IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
// View should no longer be showing. The message loop will exit once the
// fade animation of the bubble is done.
- content::RunMessageLoop();
+ content::RunAllPendingInMessageLoop();
+ EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
EXPECT_TRUE(on_start_sync_called_);
EXPECT_EQ(OneClickSigninSyncStarter::SYNC_WITH_DEFAULT_SETTINGS, mode_);
+}
+
+IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
+ BubblePressEscapeKey) {
+ OneClickSigninBubbleView* one_click_view = ShowOneClickSigninBubble(
+ BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_BUBBLE);
+
+ // Simulate pressing the Escape key.
+ views::View* view = one_click_view;
+ const ui::Accelerator accelerator(ui::VKEY_ESCAPE, 0);
+ view->AcceleratorPressed(accelerator);
+
+ // View should no longer be showing. The message loop will exit once the
+ // fade animation of the bubble is done.
+ content::RunAllPendingInMessageLoop();
EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
}
-// Disabled. See http://crbug.com/132348
IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
- DISABLED_PressEscapeKey) {
- OneClickSigninBubbleView* one_click_view = ShowOneClickSigninBubble();
+ DialogPressEscapeKey) {
+ OneClickSigninBubbleView* one_click_view = ShowOneClickSigninBubble(
+ BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_MODAL_DIALOG);
// Simulate pressing the Escape key.
views::View* view = one_click_view;
@@ -150,7 +257,7 @@ IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
// View should no longer be showing. The message loop will exit once the
// fade animation of the bubble is done.
- content::RunMessageLoop();
- EXPECT_FALSE(on_start_sync_called_);
+ content::RunAllPendingInMessageLoop();
EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
+ EXPECT_FALSE(on_start_sync_called_);
}

Powered by Google App Engine
This is Rietveld 408576698