From 194ccb04c7d7323f5a74b85cd248c159888929c3 Mon Sep 17 00:00:00 2001 From: "xiyuan@chromium.org" Date: Fri, 13 Sep 2013 16:55:49 +0000 Subject: [PATCH] Reset auto launch app if the app is removed. BUG=289556 R=tengs@chromium.org Review URL: https://codereview.chromium.org/23447023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223063 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/chromeos/app_mode/kiosk_app_manager.cc | 4 ++++ chrome/browser/chromeos/app_mode/kiosk_app_manager_browsertest.cc | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/chrome/browser/chromeos/app_mode/kiosk_app_manager.cc b/chrome/browser/chromeos/app_mode/kiosk_app_manager.cc index 3095722a2c71..c9e4ef8c9a2a 100644 --- a/chrome/browser/chromeos/app_mode/kiosk_app_manager.cc +++ b/chrome/browser/chromeos/app_mode/kiosk_app_manager.cc @@ -247,6 +247,10 @@ void KioskAppManager::AddApp(const std::string& app_id) { } void KioskAppManager::RemoveApp(const std::string& app_id) { + // Resets auto launch app if it is the removed app. + if (auto_launch_app_id_ == app_id) + SetAutoLaunchApp(std::string()); + std::vector device_local_accounts = policy::GetDeviceLocalAccounts(CrosSettings::Get()); if (device_local_accounts.empty()) diff --git a/chrome/browser/chromeos/app_mode/kiosk_app_manager_browsertest.cc b/chrome/browser/chromeos/app_mode/kiosk_app_manager_browsertest.cc index a13afa92be06..0f2bd7b7fe4a 100644 --- a/chrome/browser/chromeos/app_mode/kiosk_app_manager_browsertest.cc +++ b/chrome/browser/chromeos/app_mode/kiosk_app_manager_browsertest.cc @@ -228,6 +228,13 @@ IN_PROC_BROWSER_TEST_F(KioskAppManagerTest, Basic) { EXPECT_EQ("fake_app_1", GetAppIds()); EXPECT_EQ("", manager()->GetAutoLaunchApp()); + // Add the just removed auto launch app again and it should no longer be + // the auto launch app. + manager()->AddApp("fake_app_2"); + EXPECT_EQ("", manager()->GetAutoLaunchApp()); + manager()->RemoveApp("fake_app_2"); + EXPECT_EQ("fake_app_1", GetAppIds()); + // Set a none exist app as auto launch. manager()->SetAutoLaunchApp("none_exist_app"); EXPECT_EQ("", manager()->GetAutoLaunchApp()); -- 2.11.4.GIT