summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorxiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-08 01:33:49 +0000
committerxiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-08 01:33:49 +0000
commit5390152f8594cf233f3c8ef2b850e49e0abfbef1 (patch)
treeb56894b86b566413798ed6cf411f0d2c7a9eb432
parent7ad72fb0ac7aac042bcf900c54e9b0d32de89a6b (diff)
downloadchromium_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.cc25
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.