OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/command_line.h" | 6 #include "base/command_line.h" |
7 #include "base/prefs/pref_service.h" | 7 #include "base/prefs/pref_service.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "chrome/browser/password_manager/password_store_factory.h" | 9 #include "chrome/browser/password_manager/password_store_factory.h" |
10 #include "chrome/browser/profiles/profile_info_cache.h" | 10 #include "chrome/browser/profiles/profile_info_cache.h" |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 ProfileRemovalObserver observer; | 156 ProfileRemovalObserver observer; |
157 | 157 |
158 // We should start out with 1 profile. | 158 // We should start out with 1 profile. |
159 ASSERT_EQ(cache.GetNumberOfProfiles(), 1U); | 159 ASSERT_EQ(cache.GetNumberOfProfiles(), 1U); |
160 | 160 |
161 // Delete singleton profile. | 161 // Delete singleton profile. |
162 base::FilePath singleton_profile_path = cache.GetPathOfProfileAtIndex(0); | 162 base::FilePath singleton_profile_path = cache.GetPathOfProfileAtIndex(0); |
163 EXPECT_FALSE(singleton_profile_path.empty()); | 163 EXPECT_FALSE(singleton_profile_path.empty()); |
164 base::RunLoop run_loop; | 164 base::RunLoop run_loop; |
165 profile_manager->ScheduleProfileForDeletion( | 165 profile_manager->ScheduleProfileForDeletion( |
166 singleton_profile_path, | 166 singleton_profile_path, false /* suppress_profile_creation */, |
167 base::Bind(&OnUnblockOnProfileCreation, &run_loop)); | 167 base::Bind(&OnUnblockOnProfileCreation, &run_loop)); |
168 | 168 |
169 // Run the message loop until the profile is actually deleted (as indicated | 169 // Run the message loop until the profile is actually deleted (as indicated |
170 // by the callback above being called). | 170 // by the callback above being called). |
171 run_loop.Run(); | 171 run_loop.Run(); |
172 | 172 |
173 // Make sure a new profile was created automatically. | 173 // Make sure a new profile was created automatically. |
174 EXPECT_EQ(cache.GetNumberOfProfiles(), 1U); | 174 EXPECT_EQ(cache.GetNumberOfProfiles(), 1U); |
175 base::FilePath new_profile_path = cache.GetPathOfProfileAtIndex(0); | 175 base::FilePath new_profile_path = cache.GetPathOfProfileAtIndex(0); |
176 EXPECT_NE(new_profile_path.value(), singleton_profile_path.value()); | 176 EXPECT_NE(new_profile_path.value(), singleton_profile_path.value()); |
(...skipping 27 matching lines...) Expand all Loading... |
204 // terminated by OnUnblockOnProfileCreation when the profile is created. | 204 // terminated by OnUnblockOnProfileCreation when the profile is created. |
205 run_loop.Run(); | 205 run_loop.Run(); |
206 | 206 |
207 ASSERT_EQ(cache.GetNumberOfProfiles(), 2U); | 207 ASSERT_EQ(cache.GetNumberOfProfiles(), 2U); |
208 | 208 |
209 // Delete all profiles. | 209 // Delete all profiles. |
210 base::FilePath profile_path1 = cache.GetPathOfProfileAtIndex(0); | 210 base::FilePath profile_path1 = cache.GetPathOfProfileAtIndex(0); |
211 base::FilePath profile_path2 = cache.GetPathOfProfileAtIndex(1); | 211 base::FilePath profile_path2 = cache.GetPathOfProfileAtIndex(1); |
212 EXPECT_FALSE(profile_path1.empty()); | 212 EXPECT_FALSE(profile_path1.empty()); |
213 EXPECT_FALSE(profile_path2.empty()); | 213 EXPECT_FALSE(profile_path2.empty()); |
214 profile_manager->ScheduleProfileForDeletion(profile_path1, | 214 profile_manager->ScheduleProfileForDeletion( |
215 ProfileManager::CreateCallback()); | 215 profile_path1, false /* suppress_profile_creation */, |
216 profile_manager->ScheduleProfileForDeletion(profile_path2, | 216 ProfileManager::CreateCallback()); |
217 ProfileManager::CreateCallback()); | 217 profile_manager->ScheduleProfileForDeletion( |
| 218 profile_path2, false /* suppress_profile_creation */, |
| 219 ProfileManager::CreateCallback()); |
218 | 220 |
219 // Spin things so deletion can take place. | 221 // Spin things so deletion can take place. |
220 content::RunAllPendingInMessageLoop(); | 222 content::RunAllPendingInMessageLoop(); |
221 | 223 |
222 // Make sure a new profile was created automatically. | 224 // Make sure a new profile was created automatically. |
223 EXPECT_EQ(cache.GetNumberOfProfiles(), 1U); | 225 EXPECT_EQ(cache.GetNumberOfProfiles(), 1U); |
224 base::FilePath new_profile_path = cache.GetPathOfProfileAtIndex(0); | 226 base::FilePath new_profile_path = cache.GetPathOfProfileAtIndex(0); |
225 EXPECT_NE(new_profile_path, profile_path1); | 227 EXPECT_NE(new_profile_path, profile_path1); |
226 EXPECT_NE(new_profile_path, profile_path2); | 228 EXPECT_NE(new_profile_path, profile_path2); |
227 | 229 |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
448 | 450 |
449 password_store->AddLogin(form); | 451 password_store->AddLogin(form); |
450 PasswordStoreConsumerVerifier verify_add; | 452 PasswordStoreConsumerVerifier verify_add; |
451 password_store->GetAutofillableLogins(&verify_add); | 453 password_store->GetAutofillableLogins(&verify_add); |
452 verify_add.Wait(); | 454 verify_add.Wait(); |
453 EXPECT_EQ(1u, verify_add.GetPasswords().size()); | 455 EXPECT_EQ(1u, verify_add.GetPasswords().size()); |
454 | 456 |
455 ProfileManager* profile_manager = g_browser_process->profile_manager(); | 457 ProfileManager* profile_manager = g_browser_process->profile_manager(); |
456 base::RunLoop run_loop; | 458 base::RunLoop run_loop; |
457 profile_manager->ScheduleProfileForDeletion( | 459 profile_manager->ScheduleProfileForDeletion( |
458 profile->GetPath(), base::Bind(&OnUnblockOnProfileCreation, &run_loop)); | 460 profile->GetPath(), false /* suppress_profile_creation */, |
| 461 base::Bind(&OnUnblockOnProfileCreation, &run_loop)); |
459 run_loop.Run(); | 462 run_loop.Run(); |
460 | 463 |
461 PasswordStoreConsumerVerifier verify_delete; | 464 PasswordStoreConsumerVerifier verify_delete; |
462 password_store->GetAutofillableLogins(&verify_delete); | 465 password_store->GetAutofillableLogins(&verify_delete); |
463 verify_delete.Wait(); | 466 verify_delete.Wait(); |
464 EXPECT_EQ(0u, verify_delete.GetPasswords().size()); | 467 EXPECT_EQ(0u, verify_delete.GetPasswords().size()); |
465 } | 468 } |
466 #endif // !defined(OS_WIN) && !defined(OS_ANDROID) && !defined(OS_CHROMEOS) | 469 #endif // !defined(OS_WIN) && !defined(OS_ANDROID) && !defined(OS_CHROMEOS) |
OLD | NEW |