Commit 288f5a81 authored by Elly Fong-Jones's avatar Elly Fong-Jones Committed by Commit Bot

polychrome: fix ProfileChooserViewExtensionsTest suite

These tests just need to use a Cocoa profile chooser when in Cocoa mode
or they crash. This change also disables one test in polychrome:
NoProfileChooserOnOutsideUserDataDirProfiles, which is documented to be broken
on Mac. Three other tests fail with ViewsBrowserWindows enabled, which are the
three LockProfile tests. I don't yet know why.

Bug: 817408
Change-Id: I753fa8cdcbcfa6da254b835db4b9c801ed539131
Reviewed-on: https://chromium-review.googlesource.com/960441Reviewed-by: default avatarSarah Chan <spqchan@chromium.org>
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542868}
parent 4d87bcce
......@@ -31,6 +31,7 @@
#include "chrome/browser/ui/user_manager.h"
#include "chrome/browser/ui/views/profiles/profile_indicator_icon.h"
#include "chrome/browser/ui/views/profiles/user_manager_view.h"
#include "chrome/browser/ui/views_mode_controller.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/pref_names.h"
......@@ -186,14 +187,39 @@ class ProfileChooserViewExtensionsTest
protected:
void OpenProfileChooserView(Browser* browser) {
ProfileChooserView::close_on_deactivate_for_testing_ = false;
#if defined(OS_MACOSX) && !BUILDFLAG(MAC_VIEWS_BROWSER)
#if defined(OS_MACOSX) && BUILDFLAG(MAC_VIEWS_BROWSER)
if (views_mode_controller::IsViewsBrowserCocoa())
OpenProfileChooserCocoa(browser);
else
OpenProfileChooserViews(browser);
#elif defined(OS_MACOSX)
OpenProfileChooserCocoa(browser);
#else
OpenProfileChooserViews(browser);
#endif
base::RunLoop().RunUntilIdle();
EXPECT_TRUE(ProfileChooserView::IsShowing());
// Create this observer before lock is pressed to avoid a race condition.
window_close_observer_.reset(new content::WindowedNotificationObserver(
chrome::NOTIFICATION_BROWSER_CLOSED,
content::Source<Browser>(browser)));
}
#if defined(OS_MACOSX)
void OpenProfileChooserCocoa(Browser* browser) {
// Show the avatar bubble via API on macOS until |mac_views_browser| is
// enabled.
browser->window()->ShowAvatarBubbleFromAvatarButton(
BrowserWindow::AVATAR_BUBBLE_MODE_DEFAULT,
signin::ManageAccountsParams(),
signin_metrics::AccessPoint::ACCESS_POINT_UNKNOWN, true);
#else
}
#endif
#if !defined(OS_MACOSX) || BUILDFLAG(MAC_VIEWS_BROWSER)
void OpenProfileChooserViews(Browser* browser) {
BrowserView* browser_view = BrowserView::GetBrowserViewForBrowser(browser);
views::View* button = browser_view->frame()->GetNewAvatarMenuButton();
if (!button)
......@@ -202,16 +228,8 @@ class ProfileChooserViewExtensionsTest
ui::MouseEvent e(ui::ET_MOUSE_PRESSED, gfx::Point(), gfx::Point(),
ui::EventTimeForNow(), ui::EF_LEFT_MOUSE_BUTTON, 0);
button->OnMousePressed(e);
#endif // defined(OS_MACOSX) && !BUILDFLAG(MAC_VIEWS_BROWSER)
base::RunLoop().RunUntilIdle();
EXPECT_TRUE(ProfileChooserView::IsShowing());
// Create this observer before lock is pressed to avoid a race condition.
window_close_observer_.reset(new content::WindowedNotificationObserver(
chrome::NOTIFICATION_BROWSER_CLOSED,
content::Source<Browser>(browser)));
}
#endif
AvatarMenu* GetProfileChooserViewAvatarMenu() {
return ProfileChooserView::profile_bubble_->avatar_menu_.get();
......@@ -260,7 +278,7 @@ class ProfileChooserViewExtensionsTest
DISALLOW_COPY_AND_ASSIGN(ProfileChooserViewExtensionsTest);
};
#if !defined(OS_MACOSX) || BUILDFLAG(MAC_VIEWS_BROWSER)
#if !defined(OS_MACOSX)
#define MAYBE_NoProfileChooserOnOutsideUserDataDirProfiles \
NoProfileChooserOnOutsideUserDataDirProfiles
#else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment