Commit eba5a3dc authored by alemate@chromium.org's avatar alemate@chromium.org

Add debug to WallpaperManagerBrowserTest.DisplayChange test

to diagnose failures.

BUG=362847

Review URL: https://codereview.chromium.org/239703014

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267040 0039d316-1c4b-4281-b951-d872f2087c98
parent 8e395291
......@@ -825,6 +825,26 @@ WallpaperManager::GetAppropriateResolution() {
: WALLPAPER_RESOLUTION_SMALL;
}
WallpaperManager::WallpaperResolution
WallpaperManager::GetAppropriateResolutionForTesting() {
gfx::Size size =
ash::DesktopBackgroundController::GetMaxDisplaySizeInNative();
const WallpaperResolution result = (size.width() > kSmallWallpaperMaxWidth ||
size.height() > kSmallWallpaperMaxHeight)
? WALLPAPER_RESOLUTION_LARGE
: WALLPAPER_RESOLUTION_SMALL;
LOG(ERROR) << "WallpaperManager::GetAppropriateResolution(): width()="
<< size.width()
<< " vs kSmallWallpaperMaxWidth=" << kSmallWallpaperMaxWidth
<< ", height()=" << size.height()
<< " vs kSmallWallpaperMaxHeight=" << kSmallWallpaperMaxHeight
<< ", result = " << (result == WALLPAPER_RESOLUTION_LARGE
? "WALLPAPER_RESOLUTION_LARGE"
: "WALLPAPER_RESOLUTION_SMALL");
return result;
}
void WallpaperManager::SetPolicyControlledWallpaper(
const std::string& user_id,
const UserImage& user_image) {
......
......@@ -221,6 +221,9 @@ class WallpaperManager: public content::NotificationObserver {
// Returns the appropriate wallpaper resolution for all root windows.
static WallpaperResolution GetAppropriateResolution();
// This is a temporary variant of the previous method to investigate
// a problem with WallpaperManagetBrowserTest.
static WallpaperResolution GetAppropriateResolutionForTesting();
void SetCommandLineForTesting(base::CommandLine* command_line);
......
......@@ -95,6 +95,9 @@ class WallpaperManagerBrowserTest : public InProcessBrowserTest,
ash::test::DisplayManagerTestApi display_manager_test_api(
ash::Shell::GetInstance()->display_manager());
display_manager_test_api.UpdateDisplay(display_specs);
LOG(ERROR) << "UpdateDisplay(display_specs='" << display_specs
<< "') done.";
WallpaperManager::GetAppropriateResolutionForTesting();
}
void WaitAsyncWallpaperLoadStarted() {
......@@ -766,8 +769,7 @@ class TestObserver : public WallpaperManager::Observer {
DISALLOW_COPY_AND_ASSIGN(TestObserver);
};
// Disabled due to flaky failures. crbug.com/362847
IN_PROC_BROWSER_TEST_P(WallpaperManagerBrowserTest, DISABLED_DisplayChange) {
IN_PROC_BROWSER_TEST_P(WallpaperManagerBrowserTest, DisplayChange) {
// TODO(derat|oshima|bshe): Host windows can't be resized on Win8.
if (!ash::test::AshTestHelper::SupportsHostWindowResize())
return;
......@@ -784,18 +786,21 @@ IN_PROC_BROWSER_TEST_P(WallpaperManagerBrowserTest, DISABLED_DisplayChange) {
// multiple displays are connected.
UpdateDisplay("800x600");
WaitAsyncWallpaperLoadFinished();
WallpaperManager::GetAppropriateResolutionForTesting();
EXPECT_EQ(WallpaperManager::WALLPAPER_RESOLUTION_SMALL,
WallpaperManager::Get()->GetAppropriateResolution());
EXPECT_EQ(0, observer.GetUpdateWallpaperCountAndReset());
UpdateDisplay("800x600,800x600");
WaitAsyncWallpaperLoadFinished();
WallpaperManager::GetAppropriateResolutionForTesting();
EXPECT_EQ(WallpaperManager::WALLPAPER_RESOLUTION_SMALL,
WallpaperManager::Get()->GetAppropriateResolution());
EXPECT_EQ(0, observer.GetUpdateWallpaperCountAndReset());
UpdateDisplay("1366x800");
WaitAsyncWallpaperLoadFinished();
WallpaperManager::GetAppropriateResolutionForTesting();
EXPECT_EQ(WallpaperManager::WALLPAPER_RESOLUTION_SMALL,
WallpaperManager::Get()->GetAppropriateResolution());
EXPECT_EQ(1, observer.GetUpdateWallpaperCountAndReset());
......@@ -803,18 +808,21 @@ IN_PROC_BROWSER_TEST_P(WallpaperManagerBrowserTest, DISABLED_DisplayChange) {
// At larger sizes, large wallpapers should be used.
UpdateDisplay("1367x800");
WaitAsyncWallpaperLoadFinished();
WallpaperManager::GetAppropriateResolutionForTesting();
EXPECT_EQ(WallpaperManager::WALLPAPER_RESOLUTION_LARGE,
WallpaperManager::Get()->GetAppropriateResolution());
EXPECT_EQ(1, observer.GetUpdateWallpaperCountAndReset());
UpdateDisplay("1367x801");
WaitAsyncWallpaperLoadFinished();
WallpaperManager::GetAppropriateResolutionForTesting();
EXPECT_EQ(WallpaperManager::WALLPAPER_RESOLUTION_LARGE,
WallpaperManager::Get()->GetAppropriateResolution());
EXPECT_EQ(1, observer.GetUpdateWallpaperCountAndReset());
UpdateDisplay("2560x1700");
WaitAsyncWallpaperLoadFinished();
WallpaperManager::GetAppropriateResolutionForTesting();
EXPECT_EQ(WallpaperManager::WALLPAPER_RESOLUTION_LARGE,
WallpaperManager::Get()->GetAppropriateResolution());
EXPECT_EQ(1, observer.GetUpdateWallpaperCountAndReset());
......@@ -822,16 +830,19 @@ IN_PROC_BROWSER_TEST_P(WallpaperManagerBrowserTest, DISABLED_DisplayChange) {
// Rotated smaller screen may use larger image.
UpdateDisplay("800x600/r");
WaitAsyncWallpaperLoadFinished();
WallpaperManager::GetAppropriateResolutionForTesting();
EXPECT_EQ(WallpaperManager::WALLPAPER_RESOLUTION_SMALL,
WallpaperManager::Get()->GetAppropriateResolution());
EXPECT_EQ(1, observer.GetUpdateWallpaperCountAndReset());
UpdateDisplay("800x600/r,800x600");
WaitAsyncWallpaperLoadFinished();
WallpaperManager::GetAppropriateResolutionForTesting();
EXPECT_EQ(WallpaperManager::WALLPAPER_RESOLUTION_SMALL,
WallpaperManager::Get()->GetAppropriateResolution());
EXPECT_EQ(1, observer.GetUpdateWallpaperCountAndReset());
UpdateDisplay("1366x800/r");
WallpaperManager::GetAppropriateResolutionForTesting();
WaitAsyncWallpaperLoadFinished();
EXPECT_EQ(WallpaperManager::WALLPAPER_RESOLUTION_LARGE,
WallpaperManager::Get()->GetAppropriateResolution());
......@@ -839,6 +850,7 @@ IN_PROC_BROWSER_TEST_P(WallpaperManagerBrowserTest, DISABLED_DisplayChange) {
// Max display size didn't chagne.
UpdateDisplay("900x800/r,400x1366");
WallpaperManager::GetAppropriateResolutionForTesting();
WaitAsyncWallpaperLoadFinished();
EXPECT_EQ(0, observer.GetUpdateWallpaperCountAndReset());
}
......
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