| Index: chrome/browser/ui/views/bookmarks/bookmark_bubble_sign_in_delegate_browsertest.cc
|
| diff --git a/chrome/browser/ui/bookmarks/bookmark_bubble_sign_in_delegate_browsertest.cc b/chrome/browser/ui/views/bookmarks/bookmark_bubble_sign_in_delegate_browsertest.cc
|
| similarity index 73%
|
| rename from chrome/browser/ui/bookmarks/bookmark_bubble_sign_in_delegate_browsertest.cc
|
| rename to chrome/browser/ui/views/bookmarks/bookmark_bubble_sign_in_delegate_browsertest.cc
|
| index 536c1eafb699cfc3328e1b5d552f8087ae1f84b1..f19c3d0c2f8f310db8fb3d70ea485753a2c6f6d4 100644
|
| --- a/chrome/browser/ui/bookmarks/bookmark_bubble_sign_in_delegate_browsertest.cc
|
| +++ b/chrome/browser/ui/views/bookmarks/bookmark_bubble_sign_in_delegate_browsertest.cc
|
| @@ -15,6 +15,7 @@
|
| #include "chrome/browser/ui/browser_list.h"
|
| #include "chrome/browser/ui/singleton_tabs.h"
|
| #include "chrome/browser/ui/tabs/tab_strip_model.h"
|
| +#include "chrome/browser/ui/views/profiles/profile_chooser_view.h"
|
| #include "chrome/common/chrome_switches.h"
|
| #include "chrome/test/base/in_process_browser_test.h"
|
| #include "chrome/test/base/testing_profile.h"
|
| @@ -23,6 +24,7 @@
|
| #include "ui/events/event_constants.h"
|
| #include "ui/gfx/range/range.h"
|
|
|
| +
|
| class BookmarkBubbleSignInDelegateTest : public InProcessBrowserTest {
|
| public:
|
| BookmarkBubbleSignInDelegateTest() {}
|
| @@ -31,6 +33,8 @@ class BookmarkBubbleSignInDelegateTest : public InProcessBrowserTest {
|
|
|
| void ReplaceBlank(Browser* browser);
|
|
|
| + void ExpectProfileChooserShows(bool shows);
|
| +
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(BookmarkBubbleSignInDelegateTest);
|
| };
|
| @@ -46,6 +50,15 @@ void BookmarkBubbleSignInDelegateTest::ReplaceBlank(Browser* browser) {
|
| chrome::ShowSingletonTabOverwritingNTP(browser, params);
|
| }
|
|
|
| +void BookmarkBubbleSignInDelegateTest::ExpectProfileChooserShows(bool shows) {
|
| + base::MessageLoop::current()->RunUntilIdle();
|
| + // There's no good way, across platforms, to determine if the User Menu shows.
|
| + // Verify for Views, and otherwise we just check nothing crashed.
|
| +#if defined(TOOLKIT_VIEWS)
|
| + EXPECT_EQ(shows, ProfileChooserView::IsShowing());
|
| +#endif
|
| +}
|
| +
|
| IN_PROC_BROWSER_TEST_F(BookmarkBubbleSignInDelegateTest, OnSignInLinkClicked) {
|
| ReplaceBlank(browser());
|
| int starting_tab_count = browser()->tab_strip_model()->count();
|
| @@ -55,8 +68,14 @@ IN_PROC_BROWSER_TEST_F(BookmarkBubbleSignInDelegateTest, OnSignInLinkClicked) {
|
|
|
| delegate->OnSignInLinkClicked();
|
|
|
| - // A new tab should have been opened and the browser should be visible.
|
| +#if defined(OS_CHROMEOS)
|
| + // ChromeOS has no Profile Chooser; signin happens in a full tab.
|
| EXPECT_EQ(starting_tab_count + 1, browser()->tab_strip_model()->count());
|
| +#else
|
| + // The browser remains visible and the Profile Chooser shows.
|
| + ExpectProfileChooserShows(true);
|
| + EXPECT_EQ(starting_tab_count, browser()->tab_strip_model()->count());
|
| +#endif
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(BookmarkBubbleSignInDelegateTest,
|
| @@ -68,8 +87,14 @@ IN_PROC_BROWSER_TEST_F(BookmarkBubbleSignInDelegateTest,
|
|
|
| delegate->OnSignInLinkClicked();
|
|
|
| - // A new tab should have been opened and the browser should be visible.
|
| +#if defined(OS_CHROMEOS)
|
| + // ChromeOS has no Profile Chooser; signin happens in a full tab.
|
| + EXPECT_EQ(starting_tab_count, browser()->tab_strip_model()->count());
|
| +#else
|
| + // The browser remains visible and the Profile Chooser shows.
|
| + ExpectProfileChooserShows(true);
|
| EXPECT_EQ(starting_tab_count, browser()->tab_strip_model()->count());
|
| +#endif
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(BookmarkBubbleSignInDelegateTest,
|
| @@ -77,7 +102,9 @@ IN_PROC_BROWSER_TEST_F(BookmarkBubbleSignInDelegateTest,
|
| ReplaceBlank(browser());
|
| Browser* incognito_browser = CreateIncognitoBrowser();
|
|
|
| +#if defined(OS_CHROMEOS)
|
| int starting_tab_count_normal = browser()->tab_strip_model()->count();
|
| +#endif
|
| int starting_tab_count_incognito =
|
| incognito_browser->tab_strip_model()->count();
|
|
|
| @@ -86,6 +113,9 @@ IN_PROC_BROWSER_TEST_F(BookmarkBubbleSignInDelegateTest,
|
|
|
| delegate->OnSignInLinkClicked();
|
|
|
| +
|
| +#if defined(OS_CHROMEOS)
|
| + // ChromeOS has no Profile Chooser; signin happens in a full tab.
|
| // A new tab should have been opened in the normal browser, which should be
|
| // visible.
|
| int tab_count_normal = browser()->tab_strip_model()->count();
|
| @@ -94,8 +124,15 @@ IN_PROC_BROWSER_TEST_F(BookmarkBubbleSignInDelegateTest,
|
| // No effect is expected on the incognito browser.
|
| int tab_count_incognito = incognito_browser->tab_strip_model()->count();
|
| EXPECT_EQ(starting_tab_count_incognito, tab_count_incognito);
|
| -}
|
| +#else
|
| + // ProfileChooser doesn't show in an incognito window.
|
| + ExpectProfileChooserShows(false);
|
|
|
| + // No effect is expected on the incognito browser.
|
| + int tab_count_incognito = incognito_browser->tab_strip_model()->count();
|
| + EXPECT_EQ(starting_tab_count_incognito, tab_count_incognito);
|
| +#endif
|
| +}
|
| // Verifies that the sign in page can be loaded in a different browser
|
| // if the provided browser is invalidated.
|
| IN_PROC_BROWSER_TEST_F(BookmarkBubbleSignInDelegateTest, BrowserRemoved) {
|
| @@ -103,7 +140,9 @@ IN_PROC_BROWSER_TEST_F(BookmarkBubbleSignInDelegateTest, BrowserRemoved) {
|
| Browser* extra_browser = CreateBrowser(profile());
|
| ReplaceBlank(extra_browser);
|
|
|
| +#if defined(OS_CHROMEOS)
|
| int starting_tab_count = extra_browser->tab_strip_model()->count();
|
| +#endif
|
|
|
| scoped_ptr<BookmarkBubbleDelegate> delegate;
|
| delegate.reset(new BookmarkBubbleSignInDelegate(browser()));
|
| @@ -117,8 +156,14 @@ IN_PROC_BROWSER_TEST_F(BookmarkBubbleSignInDelegateTest, BrowserRemoved) {
|
|
|
| delegate->OnSignInLinkClicked();
|
|
|
| +#if defined(OS_CHROMEOS)
|
| + // ChromeOS has no Profile Chooser; signin happens in a full tab.
|
| // A new tab should have been opened in the extra browser, which should be
|
| // visible.
|
| int tab_count = extra_browser->tab_strip_model()->count();
|
| EXPECT_EQ(starting_tab_count + 1, tab_count);
|
| +#else
|
| + // The Profile Chooser shows in a browser.
|
| + ExpectProfileChooserShows(true);
|
| +#endif
|
| }
|
|
|