Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(361)

Unified Diff: chrome/browser/ui/app_list/app_list_service_interactive_uitest.cc

Issue 492163002: Fix Profile* lifetime issues in Chrome's AppListViewDelegate (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: update unit test, cl format Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
+}

Powered by Google App Engine
This is Rietveld 408576698