diff options
author | xiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-08 01:33:49 +0000 |
---|---|---|
committer | xiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-08 01:33:49 +0000 |
commit | 5390152f8594cf233f3c8ef2b850e49e0abfbef1 (patch) | |
tree | b56894b86b566413798ed6cf411f0d2c7a9eb432 | |
parent | 7ad72fb0ac7aac042bcf900c54e9b0d32de89a6b (diff) | |
download | chromium_src-5390152f8594cf233f3c8ef2b850e49e0abfbef1.zip chromium_src-5390152f8594cf233f3c8ef2b850e49e0abfbef1.tar.gz chromium_src-5390152f8594cf233f3c8ef2b850e49e0abfbef1.tar.bz2 |
cros: Fix KioskTest::WaitForAppLaunchSuccess crash.
BUG=316051
Review URL: https://codereview.chromium.org/60973003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233755 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/chromeos/login/kiosk_browsertest.cc | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/chrome/browser/chromeos/login/kiosk_browsertest.cc b/chrome/browser/chromeos/login/kiosk_browsertest.cc index 0e903d2..3c40630 100644 --- a/chrome/browser/chromeos/login/kiosk_browsertest.cc +++ b/chrome/browser/chromeos/login/kiosk_browsertest.cc @@ -380,20 +380,23 @@ class KioskTest : public InProcessBrowserTest { EXPECT_TRUE(app); // App should appear with its window. - apps::ShellWindow* window = ShellWindowObserver( - apps::ShellWindowRegistry::Get(app_profile), - kTestKioskApp).Wait(); + apps::ShellWindowRegistry* shell_window_registry = + apps::ShellWindowRegistry::Get(app_profile); + apps::ShellWindow* window = + ShellWindowObserver(shell_window_registry, kTestKioskApp).Wait(); EXPECT_TRUE(window); - // Login screen should be fading out. - EXPECT_EQ(0.0f, - LoginDisplayHostImpl::default_host() - ->GetNativeWindow() - ->layer() - ->GetTargetOpacity()); + // Login screen should be gone or fading out. + chromeos::LoginDisplayHost* login_display_host = + chromeos::LoginDisplayHostImpl::default_host(); + EXPECT_TRUE( + login_display_host == NULL || + login_display_host->GetNativeWindow()->layer()->GetTargetOpacity() == + 0.0f); - // Wait until the app terminates. - content::RunMessageLoop(); + // Wait until the app terminates if it is still running. + if (!shell_window_registry->GetShellWindowsForApp(kTestKioskApp).empty()) + content::RunMessageLoop(); // Check that the app had been informed that it is running in a kiosk // session. |