Index: chrome/browser/ui/app_list/app_list_service_interactive_uitest.cc |
diff --git a/chrome/browser/ui/app_list/app_list_service_interactive_uitest.cc b/chrome/browser/ui/app_list/app_list_service_interactive_uitest.cc |
index a7ec4610b908870451ae0826a512b49ef05a10c8..51ca08f9336fb09333b39bb9fc982f029ac6ca72 100644 |
--- a/chrome/browser/ui/app_list/app_list_service_interactive_uitest.cc |
+++ b/chrome/browser/ui/app_list/app_list_service_interactive_uitest.cc |
@@ -70,12 +70,14 @@ class AppListServiceInteractiveTest : public InProcessBrowserTest { |
DISABLED_SwitchAppListProfilesDuringSearch |
#define MAYBE_ShowAppListNonDefaultProfile \ |
DISABLED_ShowAppListNonDefaultProfile |
+#define MAYBE_DeleteShowingAppList DISABLED_DeleteShowingAppList |
#else |
#define MAYBE_ShowAndDismiss ShowAndDismiss |
#define MAYBE_SwitchAppListProfiles SwitchAppListProfiles |
#define MAYBE_SwitchAppListProfilesDuringSearch \ |
SwitchAppListProfilesDuringSearch |
#define MAYBE_ShowAppListNonDefaultProfile ShowAppListNonDefaultProfile |
+#define MAYBE_DeleteShowingAppList DeleteShowingAppList |
#endif |
// Show the app list, then dismiss it. |
@@ -260,3 +262,26 @@ IN_PROC_BROWSER_TEST_F(ShowAppListNonDefaultInteractiveTest, |
service->DismissAppList(); |
} |
+ |
+// Test showing the app list for a profile then deleting that profile while the |
+// app list is visible. |
+IN_PROC_BROWSER_TEST_F(ShowAppListNonDefaultInteractiveTest, |
+ MAYBE_DeleteShowingAppList) { |
+ AppListService* service = test::GetAppListService(); |
+ EXPECT_TRUE(service->IsAppListVisible()); |
+ EXPECT_EQ(second_profile_name_.value(), |
+ service->GetCurrentAppListProfile()->GetPath().BaseName().value()); |
+ |
+ ProfileManager* profile_manager = g_browser_process->profile_manager(); |
+ |
+ // Create a browser for the Default profile. |
+ CreateBrowser(profile_manager->GetLastUsedProfile()); |
+ |
+ // Delete the profile being used by the app list. |
+ profile_manager->ScheduleProfileForDeletion( |
+ service->GetCurrentAppListProfile()->GetPath(), |
+ ProfileManager::CreateCallback()); |
+ |
+ // App Launcher should get closed immediately and nothing should explode. |
+ EXPECT_FALSE(service->IsAppListVisible()); |
Matt Giuca
2014/08/25 04:48:46
Q: Does this happen on the *scheduling* of the pro
tapted
2014/08/25 06:17:00
Yep - it happens straight away. The "scheduling" r
|
+} |