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

Side by Side Diff: chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc

Issue 1865213004: Convert //chrome/browser/ui from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <memory>
5 #include <utility> 6 #include <utility>
6 #include <vector> 7 #include <vector>
7 8
8 #include "base/bind.h" 9 #include "base/bind.h"
9 #include "base/macros.h" 10 #include "base/macros.h"
10 #include "base/memory/scoped_ptr.h" 11 #include "base/memory/ptr_util.h"
11 #include "base/strings/string_number_conversions.h" 12 #include "base/strings/string_number_conversions.h"
12 #include "base/strings/utf_string_conversions.h" 13 #include "base/strings/utf_string_conversions.h"
13 #include "build/build_config.h" 14 #include "build/build_config.h"
14 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" 15 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h"
15 #include "chrome/browser/ui/passwords/manage_passwords_icon_view.h" 16 #include "chrome/browser/ui/passwords/manage_passwords_icon_view.h"
16 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller_mock.h" 17 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller_mock.h"
17 #include "chrome/browser/ui/passwords/password_dialog_controller.h" 18 #include "chrome/browser/ui/passwords/password_dialog_controller.h"
18 #include "chrome/browser/ui/passwords/password_dialog_prompts.h" 19 #include "chrome/browser/ui/passwords/password_dialog_prompts.h"
19 #include "chrome/test/base/chrome_render_view_host_test_harness.h" 20 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
20 #include "chrome/test/base/testing_profile.h" 21 #include "chrome/test/base/testing_profile.h"
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 DialogPromptMock& dialog_prompt() { return dialog_prompt_; } 159 DialogPromptMock& dialog_prompt() { return dialog_prompt_; }
159 160
160 TestManagePasswordsUIController* controller() { 161 TestManagePasswordsUIController* controller() {
161 return static_cast<TestManagePasswordsUIController*>( 162 return static_cast<TestManagePasswordsUIController*>(
162 ManagePasswordsUIController::FromWebContents(web_contents())); 163 ManagePasswordsUIController::FromWebContents(web_contents()));
163 } 164 }
164 165
165 void ExpectIconStateIs(password_manager::ui::State state); 166 void ExpectIconStateIs(password_manager::ui::State state);
166 void ExpectIconAndControllerStateIs(password_manager::ui::State state); 167 void ExpectIconAndControllerStateIs(password_manager::ui::State state);
167 168
168 scoped_ptr<password_manager::PasswordFormManager> 169 std::unique_ptr<password_manager::PasswordFormManager>
169 CreateFormManagerWithBestMatches( 170 CreateFormManagerWithBestMatches(
170 const autofill::PasswordForm& observed_form, 171 const autofill::PasswordForm& observed_form,
171 ScopedVector<autofill::PasswordForm> best_matches); 172 ScopedVector<autofill::PasswordForm> best_matches);
172 173
173 scoped_ptr<password_manager::PasswordFormManager> CreateFormManager(); 174 std::unique_ptr<password_manager::PasswordFormManager> CreateFormManager();
174 175
175 // Tests that the state is not changed when the password is autofilled. 176 // Tests that the state is not changed when the password is autofilled.
176 void TestNotChangingStateOnAutofill( 177 void TestNotChangingStateOnAutofill(
177 password_manager::ui::State state); 178 password_manager::ui::State state);
178 179
179 MOCK_METHOD1(CredentialCallback, void(const autofill::PasswordForm*)); 180 MOCK_METHOD1(CredentialCallback, void(const autofill::PasswordForm*));
180 181
181 private: 182 private:
182 password_manager::StubPasswordManagerClient client_; 183 password_manager::StubPasswordManagerClient client_;
183 password_manager::StubPasswordManagerDriver driver_; 184 password_manager::StubPasswordManagerDriver driver_;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 controller()->UpdateIconAndBubbleState(&view); 218 controller()->UpdateIconAndBubbleState(&view);
218 EXPECT_EQ(state, view.state()); 219 EXPECT_EQ(state, view.state());
219 } 220 }
220 221
221 void ManagePasswordsUIControllerTest::ExpectIconAndControllerStateIs( 222 void ManagePasswordsUIControllerTest::ExpectIconAndControllerStateIs(
222 password_manager::ui::State state) { 223 password_manager::ui::State state) {
223 ExpectIconStateIs(state); 224 ExpectIconStateIs(state);
224 EXPECT_EQ(state, controller()->GetState()); 225 EXPECT_EQ(state, controller()->GetState());
225 } 226 }
226 227
227 scoped_ptr<password_manager::PasswordFormManager> 228 std::unique_ptr<password_manager::PasswordFormManager>
228 ManagePasswordsUIControllerTest::CreateFormManagerWithBestMatches( 229 ManagePasswordsUIControllerTest::CreateFormManagerWithBestMatches(
229 const autofill::PasswordForm& observed_form, 230 const autofill::PasswordForm& observed_form,
230 ScopedVector<autofill::PasswordForm> best_matches) { 231 ScopedVector<autofill::PasswordForm> best_matches) {
231 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( 232 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
232 new password_manager::PasswordFormManager(&password_manager_, &client_, 233 new password_manager::PasswordFormManager(&password_manager_, &client_,
233 driver_.AsWeakPtr(), 234 driver_.AsWeakPtr(),
234 observed_form, true)); 235 observed_form, true));
235 test_form_manager->SimulateFetchMatchingLoginsFromPasswordStore(); 236 test_form_manager->SimulateFetchMatchingLoginsFromPasswordStore();
236 test_form_manager->OnGetPasswordStoreResults(std::move(best_matches)); 237 test_form_manager->OnGetPasswordStoreResults(std::move(best_matches));
237 return test_form_manager; 238 return test_form_manager;
238 } 239 }
239 240
240 scoped_ptr<password_manager::PasswordFormManager> 241 std::unique_ptr<password_manager::PasswordFormManager>
241 ManagePasswordsUIControllerTest::CreateFormManager() { 242 ManagePasswordsUIControllerTest::CreateFormManager() {
242 ScopedVector<autofill::PasswordForm> stored_forms; 243 ScopedVector<autofill::PasswordForm> stored_forms;
243 stored_forms.push_back(new autofill::PasswordForm(test_local_form())); 244 stored_forms.push_back(new autofill::PasswordForm(test_local_form()));
244 return CreateFormManagerWithBestMatches(test_local_form(), 245 return CreateFormManagerWithBestMatches(test_local_form(),
245 std::move(stored_forms)); 246 std::move(stored_forms));
246 } 247 }
247 248
248 void ManagePasswordsUIControllerTest::TestNotChangingStateOnAutofill( 249 void ManagePasswordsUIControllerTest::TestNotChangingStateOnAutofill(
249 password_manager::ui::State state) { 250 password_manager::ui::State state) {
250 DCHECK(state == password_manager::ui::PENDING_PASSWORD_STATE || 251 DCHECK(state == password_manager::ui::PENDING_PASSWORD_STATE ||
251 state == password_manager::ui::PENDING_PASSWORD_UPDATE_STATE || 252 state == password_manager::ui::PENDING_PASSWORD_UPDATE_STATE ||
252 state == password_manager::ui::CONFIRMATION_STATE); 253 state == password_manager::ui::CONFIRMATION_STATE);
253 254
254 // Set the bubble state to |state|. 255 // Set the bubble state to |state|.
255 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( 256 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
256 CreateFormManager()); 257 CreateFormManager());
257 test_form_manager->ProvisionallySave( 258 test_form_manager->ProvisionallySave(
258 test_local_form(), 259 test_local_form(),
259 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); 260 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
260 if (state == password_manager::ui::PENDING_PASSWORD_STATE) 261 if (state == password_manager::ui::PENDING_PASSWORD_STATE)
261 controller()->OnPasswordSubmitted(std::move(test_form_manager)); 262 controller()->OnPasswordSubmitted(std::move(test_form_manager));
262 else if (state == password_manager::ui::PENDING_PASSWORD_UPDATE_STATE) 263 else if (state == password_manager::ui::PENDING_PASSWORD_UPDATE_STATE)
263 controller()->OnUpdatePasswordSubmitted(std::move(test_form_manager)); 264 controller()->OnUpdatePasswordSubmitted(std::move(test_form_manager));
264 else // password_manager::ui::CONFIRMATION_STATE 265 else // password_manager::ui::CONFIRMATION_STATE
265 controller()->OnAutomaticPasswordSave(std::move(test_form_manager)); 266 controller()->OnAutomaticPasswordSave(std::move(test_form_manager));
266 ASSERT_EQ(state, controller()->GetState()); 267 ASSERT_EQ(state, controller()->GetState());
267 268
268 // Autofill happens. 269 // Autofill happens.
269 scoped_ptr<autofill::PasswordForm> test_form( 270 std::unique_ptr<autofill::PasswordForm> test_form(
270 new autofill::PasswordForm(test_local_form())); 271 new autofill::PasswordForm(test_local_form()));
271 autofill::PasswordFormMap map; 272 autofill::PasswordFormMap map;
272 map.insert( 273 map.insert(
273 std::make_pair(test_local_form().username_value, std::move(test_form))); 274 std::make_pair(test_local_form().username_value, std::move(test_form)));
274 controller()->OnPasswordAutofilled(map, map.begin()->second->origin, nullptr); 275 controller()->OnPasswordAutofilled(map, map.begin()->second->origin, nullptr);
275 276
276 // State shouldn't changed. 277 // State shouldn't changed.
277 EXPECT_EQ(state, controller()->GetState()); 278 EXPECT_EQ(state, controller()->GetState());
278 ExpectIconStateIs(state); 279 ExpectIconStateIs(state);
279 } 280 }
280 281
281 TEST_F(ManagePasswordsUIControllerTest, DefaultState) { 282 TEST_F(ManagePasswordsUIControllerTest, DefaultState) {
282 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState()); 283 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState());
283 EXPECT_EQ(GURL::EmptyGURL(), controller()->GetOrigin()); 284 EXPECT_EQ(GURL::EmptyGURL(), controller()->GetOrigin());
284 285
285 ExpectIconStateIs(password_manager::ui::INACTIVE_STATE); 286 ExpectIconStateIs(password_manager::ui::INACTIVE_STATE);
286 } 287 }
287 288
288 TEST_F(ManagePasswordsUIControllerTest, PasswordAutofilled) { 289 TEST_F(ManagePasswordsUIControllerTest, PasswordAutofilled) {
289 scoped_ptr<autofill::PasswordForm> test_form( 290 std::unique_ptr<autofill::PasswordForm> test_form(
290 new autofill::PasswordForm(test_local_form())); 291 new autofill::PasswordForm(test_local_form()));
291 autofill::PasswordForm* test_form_ptr = test_form.get(); 292 autofill::PasswordForm* test_form_ptr = test_form.get();
292 base::string16 kTestUsername = test_form->username_value; 293 base::string16 kTestUsername = test_form->username_value;
293 autofill::PasswordFormMap map; 294 autofill::PasswordFormMap map;
294 map.insert(std::make_pair(kTestUsername, std::move(test_form))); 295 map.insert(std::make_pair(kTestUsername, std::move(test_form)));
295 controller()->OnPasswordAutofilled(map, map.begin()->second->origin, nullptr); 296 controller()->OnPasswordAutofilled(map, map.begin()->second->origin, nullptr);
296 297
297 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState()); 298 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState());
298 EXPECT_EQ(test_form_ptr->origin, controller()->GetOrigin()); 299 EXPECT_EQ(test_form_ptr->origin, controller()->GetOrigin());
299 ASSERT_EQ(1u, controller()->GetCurrentForms().size()); 300 ASSERT_EQ(1u, controller()->GetCurrentForms().size());
300 EXPECT_EQ(kTestUsername, controller()->GetCurrentForms()[0]->username_value); 301 EXPECT_EQ(kTestUsername, controller()->GetCurrentForms()[0]->username_value);
301 302
302 // Controller should store a separate copy of the form as it doesn't own it. 303 // Controller should store a separate copy of the form as it doesn't own it.
303 EXPECT_NE(test_form_ptr, controller()->GetCurrentForms()[0]); 304 EXPECT_NE(test_form_ptr, controller()->GetCurrentForms()[0]);
304 305
305 ExpectIconStateIs(password_manager::ui::MANAGE_STATE); 306 ExpectIconStateIs(password_manager::ui::MANAGE_STATE);
306 } 307 }
307 308
308 TEST_F(ManagePasswordsUIControllerTest, PasswordSubmitted) { 309 TEST_F(ManagePasswordsUIControllerTest, PasswordSubmitted) {
309 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( 310 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
310 CreateFormManager()); 311 CreateFormManager());
311 test_form_manager->ProvisionallySave( 312 test_form_manager->ProvisionallySave(
312 test_local_form(), 313 test_local_form(),
313 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); 314 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
314 controller()->OnPasswordSubmitted(std::move(test_form_manager)); 315 controller()->OnPasswordSubmitted(std::move(test_form_manager));
315 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, 316 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE,
316 controller()->GetState()); 317 controller()->GetState());
317 EXPECT_TRUE(controller()->opened_bubble()); 318 EXPECT_TRUE(controller()->opened_bubble());
318 EXPECT_EQ(test_local_form().origin, controller()->GetOrigin()); 319 EXPECT_EQ(test_local_form().origin, controller()->GetOrigin());
319 320
320 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE); 321 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE);
321 } 322 }
322 323
323 TEST_F(ManagePasswordsUIControllerTest, BlacklistedFormPasswordSubmitted) { 324 TEST_F(ManagePasswordsUIControllerTest, BlacklistedFormPasswordSubmitted) {
324 autofill::PasswordForm blacklisted; 325 autofill::PasswordForm blacklisted;
325 blacklisted.origin = test_local_form().origin; 326 blacklisted.origin = test_local_form().origin;
326 blacklisted.signon_realm = blacklisted.origin.spec(); 327 blacklisted.signon_realm = blacklisted.origin.spec();
327 blacklisted.blacklisted_by_user = true; 328 blacklisted.blacklisted_by_user = true;
328 ScopedVector<autofill::PasswordForm> stored_forms; 329 ScopedVector<autofill::PasswordForm> stored_forms;
329 stored_forms.push_back(new autofill::PasswordForm(blacklisted)); 330 stored_forms.push_back(new autofill::PasswordForm(blacklisted));
330 scoped_ptr<password_manager::PasswordFormManager> test_form_manager = 331 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager =
331 CreateFormManagerWithBestMatches(test_local_form(), 332 CreateFormManagerWithBestMatches(test_local_form(),
332 std::move(stored_forms)); 333 std::move(stored_forms));
333 334
334 controller()->OnPasswordSubmitted(std::move(test_form_manager)); 335 controller()->OnPasswordSubmitted(std::move(test_form_manager));
335 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, 336 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE,
336 controller()->GetState()); 337 controller()->GetState());
337 EXPECT_FALSE(controller()->opened_bubble()); 338 EXPECT_FALSE(controller()->opened_bubble());
338 339
339 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE); 340 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE);
340 } 341 }
341 342
342 TEST_F(ManagePasswordsUIControllerTest, PasswordSubmittedBubbleSuppressed) { 343 TEST_F(ManagePasswordsUIControllerTest, PasswordSubmittedBubbleSuppressed) {
343 CreateSmartBubbleFieldTrial(); 344 CreateSmartBubbleFieldTrial();
344 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( 345 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
345 CreateFormManager()); 346 CreateFormManager());
346 password_manager::InteractionsStats stats; 347 password_manager::InteractionsStats stats;
347 stats.origin_domain = test_local_form().origin.GetOrigin(); 348 stats.origin_domain = test_local_form().origin.GetOrigin();
348 stats.username_value = test_local_form().username_value; 349 stats.username_value = test_local_form().username_value;
349 stats.dismissal_count = kGreatDissmisalCount; 350 stats.dismissal_count = kGreatDissmisalCount;
350 auto interactions(make_scoped_ptr( 351 auto interactions(base::WrapUnique(
351 new std::vector<scoped_ptr<password_manager::InteractionsStats>>)); 352 new std::vector<std::unique_ptr<password_manager::InteractionsStats>>));
352 interactions->push_back( 353 interactions->push_back(
353 make_scoped_ptr(new password_manager::InteractionsStats(stats))); 354 base::WrapUnique(new password_manager::InteractionsStats(stats)));
354 test_form_manager->OnGetSiteStatistics(std::move(interactions)); 355 test_form_manager->OnGetSiteStatistics(std::move(interactions));
355 test_form_manager->ProvisionallySave( 356 test_form_manager->ProvisionallySave(
356 test_local_form(), 357 test_local_form(),
357 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); 358 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
358 controller()->OnPasswordSubmitted(std::move(test_form_manager)); 359 controller()->OnPasswordSubmitted(std::move(test_form_manager));
359 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, 360 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE,
360 controller()->GetState()); 361 controller()->GetState());
361 EXPECT_FALSE(controller()->opened_bubble()); 362 EXPECT_FALSE(controller()->opened_bubble());
362 ASSERT_TRUE(controller()->GetCurrentInteractionStats()); 363 ASSERT_TRUE(controller()->GetCurrentInteractionStats());
363 EXPECT_EQ(stats, *controller()->GetCurrentInteractionStats()); 364 EXPECT_EQ(stats, *controller()->GetCurrentInteractionStats());
364 365
365 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE); 366 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE);
366 variations::testing::ClearAllVariationParams(); 367 variations::testing::ClearAllVariationParams();
367 } 368 }
368 369
369 TEST_F(ManagePasswordsUIControllerTest, PasswordSubmittedBubbleNotSuppressed) { 370 TEST_F(ManagePasswordsUIControllerTest, PasswordSubmittedBubbleNotSuppressed) {
370 CreateSmartBubbleFieldTrial(); 371 CreateSmartBubbleFieldTrial();
371 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( 372 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
372 CreateFormManager()); 373 CreateFormManager());
373 password_manager::InteractionsStats stats; 374 password_manager::InteractionsStats stats;
374 stats.origin_domain = test_local_form().origin.GetOrigin(); 375 stats.origin_domain = test_local_form().origin.GetOrigin();
375 stats.username_value = base::ASCIIToUTF16("not my username"); 376 stats.username_value = base::ASCIIToUTF16("not my username");
376 stats.dismissal_count = kGreatDissmisalCount; 377 stats.dismissal_count = kGreatDissmisalCount;
377 auto interactions(make_scoped_ptr( 378 auto interactions(base::WrapUnique(
378 new std::vector<scoped_ptr<password_manager::InteractionsStats>>)); 379 new std::vector<std::unique_ptr<password_manager::InteractionsStats>>));
379 interactions->push_back( 380 interactions->push_back(
380 make_scoped_ptr(new password_manager::InteractionsStats(stats))); 381 base::WrapUnique(new password_manager::InteractionsStats(stats)));
381 test_form_manager->OnGetSiteStatistics(std::move(interactions)); 382 test_form_manager->OnGetSiteStatistics(std::move(interactions));
382 test_form_manager->ProvisionallySave( 383 test_form_manager->ProvisionallySave(
383 test_local_form(), 384 test_local_form(),
384 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); 385 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
385 controller()->OnPasswordSubmitted(std::move(test_form_manager)); 386 controller()->OnPasswordSubmitted(std::move(test_form_manager));
386 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, 387 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE,
387 controller()->GetState()); 388 controller()->GetState());
388 EXPECT_TRUE(controller()->opened_bubble()); 389 EXPECT_TRUE(controller()->opened_bubble());
389 EXPECT_FALSE(controller()->GetCurrentInteractionStats()); 390 EXPECT_FALSE(controller()->GetCurrentInteractionStats());
390 391
391 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE); 392 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE);
392 variations::testing::ClearAllVariationParams(); 393 variations::testing::ClearAllVariationParams();
393 } 394 }
394 395
395 TEST_F(ManagePasswordsUIControllerTest, PasswordSaved) { 396 TEST_F(ManagePasswordsUIControllerTest, PasswordSaved) {
396 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( 397 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
397 CreateFormManager()); 398 CreateFormManager());
398 test_form_manager->ProvisionallySave( 399 test_form_manager->ProvisionallySave(
399 test_local_form(), 400 test_local_form(),
400 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); 401 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
401 controller()->OnPasswordSubmitted(std::move(test_form_manager)); 402 controller()->OnPasswordSubmitted(std::move(test_form_manager));
402 403
403 controller()->SavePassword(); 404 controller()->SavePassword();
404 ExpectIconStateIs(password_manager::ui::MANAGE_STATE); 405 ExpectIconStateIs(password_manager::ui::MANAGE_STATE);
405 } 406 }
406 407
407 TEST_F(ManagePasswordsUIControllerTest, PasswordBlacklisted) { 408 TEST_F(ManagePasswordsUIControllerTest, PasswordBlacklisted) {
408 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( 409 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
409 CreateFormManager()); 410 CreateFormManager());
410 test_form_manager->ProvisionallySave( 411 test_form_manager->ProvisionallySave(
411 test_local_form(), 412 test_local_form(),
412 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); 413 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
413 controller()->OnPasswordSubmitted(std::move(test_form_manager)); 414 controller()->OnPasswordSubmitted(std::move(test_form_manager));
414 415
415 controller()->NeverSavePassword(); 416 controller()->NeverSavePassword();
416 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE); 417 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE);
417 } 418 }
418 419
419 TEST_F(ManagePasswordsUIControllerTest, NormalNavigations) { 420 TEST_F(ManagePasswordsUIControllerTest, NormalNavigations) {
420 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( 421 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
421 CreateFormManager()); 422 CreateFormManager());
422 controller()->OnPasswordSubmitted(std::move(test_form_manager)); 423 controller()->OnPasswordSubmitted(std::move(test_form_manager));
423 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE); 424 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE);
424 425
425 // Fake-navigate. We expect the bubble's state to persist so a user reasonably 426 // Fake-navigate. We expect the bubble's state to persist so a user reasonably
426 // has been able to interact with the bubble. This happens on 427 // has been able to interact with the bubble. This happens on
427 // `accounts.google.com`, for instance. 428 // `accounts.google.com`, for instance.
428 controller()->DidNavigateMainFrame(content::LoadCommittedDetails(), 429 controller()->DidNavigateMainFrame(content::LoadCommittedDetails(),
429 content::FrameNavigateParams()); 430 content::FrameNavigateParams());
430 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, 431 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE,
431 controller()->GetState()); 432 controller()->GetState());
432 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE); 433 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE);
433 } 434 }
434 435
435 TEST_F(ManagePasswordsUIControllerTest, NormalNavigationsClosedBubble) { 436 TEST_F(ManagePasswordsUIControllerTest, NormalNavigationsClosedBubble) {
436 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( 437 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
437 CreateFormManager()); 438 CreateFormManager());
438 controller()->OnPasswordSubmitted(std::move(test_form_manager)); 439 controller()->OnPasswordSubmitted(std::move(test_form_manager));
439 controller()->SavePassword(); 440 controller()->SavePassword();
440 controller()->OnBubbleHidden(); 441 controller()->OnBubbleHidden();
441 ExpectIconStateIs(password_manager::ui::MANAGE_STATE); 442 ExpectIconStateIs(password_manager::ui::MANAGE_STATE);
442 443
443 // Fake-navigate. There is no bubble, reset the state. 444 // Fake-navigate. There is no bubble, reset the state.
444 controller()->DidNavigateMainFrame(content::LoadCommittedDetails(), 445 controller()->DidNavigateMainFrame(content::LoadCommittedDetails(),
445 content::FrameNavigateParams()); 446 content::FrameNavigateParams());
446 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState()); 447 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState());
447 ExpectIconStateIs(password_manager::ui::INACTIVE_STATE); 448 ExpectIconStateIs(password_manager::ui::INACTIVE_STATE);
448 } 449 }
449 450
450 TEST_F(ManagePasswordsUIControllerTest, PasswordSubmittedToNonWebbyURL) { 451 TEST_F(ManagePasswordsUIControllerTest, PasswordSubmittedToNonWebbyURL) {
451 // Navigate to a non-webby URL, then see what happens! 452 // Navigate to a non-webby URL, then see what happens!
452 content::WebContentsTester::For(web_contents()) 453 content::WebContentsTester::For(web_contents())
453 ->NavigateAndCommit(GURL("chrome://sign-in")); 454 ->NavigateAndCommit(GURL("chrome://sign-in"));
454 455
455 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( 456 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
456 CreateFormManager()); 457 CreateFormManager());
457 test_form_manager->ProvisionallySave( 458 test_form_manager->ProvisionallySave(
458 test_local_form(), 459 test_local_form(),
459 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); 460 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
460 controller()->OnPasswordSubmitted(std::move(test_form_manager)); 461 controller()->OnPasswordSubmitted(std::move(test_form_manager));
461 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState()); 462 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState());
462 EXPECT_EQ(GURL::EmptyGURL(), controller()->GetOrigin()); 463 EXPECT_EQ(GURL::EmptyGURL(), controller()->GetOrigin());
463 464
464 ExpectIconStateIs(password_manager::ui::INACTIVE_STATE); 465 ExpectIconStateIs(password_manager::ui::INACTIVE_STATE);
465 } 466 }
466 467
467 TEST_F(ManagePasswordsUIControllerTest, BlacklistedElsewhere) { 468 TEST_F(ManagePasswordsUIControllerTest, BlacklistedElsewhere) {
468 base::string16 kTestUsername = base::ASCIIToUTF16("test_username"); 469 base::string16 kTestUsername = base::ASCIIToUTF16("test_username");
469 autofill::PasswordFormMap map; 470 autofill::PasswordFormMap map;
470 map.insert(std::make_pair( 471 map.insert(std::make_pair(
471 kTestUsername, 472 kTestUsername,
472 make_scoped_ptr(new autofill::PasswordForm(test_local_form())))); 473 base::WrapUnique(new autofill::PasswordForm(test_local_form()))));
473 controller()->OnPasswordAutofilled(map, map.begin()->second->origin, nullptr); 474 controller()->OnPasswordAutofilled(map, map.begin()->second->origin, nullptr);
474 475
475 test_local_form().blacklisted_by_user = true; 476 test_local_form().blacklisted_by_user = true;
476 password_manager::PasswordStoreChange change( 477 password_manager::PasswordStoreChange change(
477 password_manager::PasswordStoreChange::ADD, test_local_form()); 478 password_manager::PasswordStoreChange::ADD, test_local_form());
478 password_manager::PasswordStoreChangeList list(1, change); 479 password_manager::PasswordStoreChangeList list(1, change);
479 controller()->OnLoginsChanged(list); 480 controller()->OnLoginsChanged(list);
480 481
481 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState()); 482 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState());
482 EXPECT_EQ(test_local_form().origin, controller()->GetOrigin()); 483 EXPECT_EQ(test_local_form().origin, controller()->GetOrigin());
483 484
484 ExpectIconStateIs(password_manager::ui::MANAGE_STATE); 485 ExpectIconStateIs(password_manager::ui::MANAGE_STATE);
485 } 486 }
486 487
487 TEST_F(ManagePasswordsUIControllerTest, AutomaticPasswordSave) { 488 TEST_F(ManagePasswordsUIControllerTest, AutomaticPasswordSave) {
488 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( 489 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
489 CreateFormManager()); 490 CreateFormManager());
490 491
491 controller()->OnAutomaticPasswordSave(std::move(test_form_manager)); 492 controller()->OnAutomaticPasswordSave(std::move(test_form_manager));
492 EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, controller()->GetState()); 493 EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, controller()->GetState());
493 494
494 controller()->OnBubbleHidden(); 495 controller()->OnBubbleHidden();
495 ExpectIconStateIs(password_manager::ui::MANAGE_STATE); 496 ExpectIconStateIs(password_manager::ui::MANAGE_STATE);
496 } 497 }
497 498
498 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocal) { 499 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocal) {
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
600 Return(&dialog_prompt())); 601 Return(&dialog_prompt()));
601 EXPECT_CALL(dialog_prompt(), ShowAutoSigninPrompt()); 602 EXPECT_CALL(dialog_prompt(), ShowAutoSigninPrompt());
602 controller()->OnPromptEnableAutoSignin(); 603 controller()->OnPromptEnableAutoSignin();
603 604
604 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState()); 605 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState());
605 EXPECT_CALL(dialog_prompt(), ControllerGone()); 606 EXPECT_CALL(dialog_prompt(), ControllerGone());
606 } 607 }
607 608
608 TEST_F(ManagePasswordsUIControllerTest, AutoSigninFirstRunAfterAutofill) { 609 TEST_F(ManagePasswordsUIControllerTest, AutoSigninFirstRunAfterAutofill) {
609 // Setup the managed state first. 610 // Setup the managed state first.
610 scoped_ptr<autofill::PasswordForm> test_form( 611 std::unique_ptr<autofill::PasswordForm> test_form(
611 new autofill::PasswordForm(test_local_form())); 612 new autofill::PasswordForm(test_local_form()));
612 autofill::PasswordForm* test_form_ptr = test_form.get(); 613 autofill::PasswordForm* test_form_ptr = test_form.get();
613 const base::string16 kTestUsername = test_form->username_value; 614 const base::string16 kTestUsername = test_form->username_value;
614 autofill::PasswordFormMap map; 615 autofill::PasswordFormMap map;
615 map.insert(std::make_pair(kTestUsername, std::move(test_form))); 616 map.insert(std::make_pair(kTestUsername, std::move(test_form)));
616 controller()->OnPasswordAutofilled(map, test_form_ptr->origin, nullptr); 617 controller()->OnPasswordAutofilled(map, test_form_ptr->origin, nullptr);
617 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState()); 618 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState());
618 619
619 // Pop up the autosignin promo. The state should stay intact. 620 // Pop up the autosignin promo. The state should stay intact.
620 EXPECT_CALL(*controller(), CreateAutoSigninPrompt(_)).WillOnce( 621 EXPECT_CALL(*controller(), CreateAutoSigninPrompt(_)).WillOnce(
(...skipping 23 matching lines...) Expand all
644 ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&dialog_prompt())); 645 ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&dialog_prompt()));
645 EXPECT_CALL(dialog_prompt(), ControllerGone()); 646 EXPECT_CALL(dialog_prompt(), ControllerGone());
646 } 647 }
647 648
648 TEST_F(ManagePasswordsUIControllerTest, AutofillDuringAutoSignin) { 649 TEST_F(ManagePasswordsUIControllerTest, AutofillDuringAutoSignin) {
649 ScopedVector<autofill::PasswordForm> local_credentials; 650 ScopedVector<autofill::PasswordForm> local_credentials;
650 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); 651 local_credentials.push_back(new autofill::PasswordForm(test_local_form()));
651 controller()->OnAutoSignin(std::move(local_credentials), 652 controller()->OnAutoSignin(std::move(local_credentials),
652 test_local_form().origin); 653 test_local_form().origin);
653 ExpectIconAndControllerStateIs(password_manager::ui::AUTO_SIGNIN_STATE); 654 ExpectIconAndControllerStateIs(password_manager::ui::AUTO_SIGNIN_STATE);
654 scoped_ptr<autofill::PasswordForm> test_form( 655 std::unique_ptr<autofill::PasswordForm> test_form(
655 new autofill::PasswordForm(test_local_form())); 656 new autofill::PasswordForm(test_local_form()));
656 autofill::PasswordFormMap map; 657 autofill::PasswordFormMap map;
657 base::string16 kTestUsername = test_form->username_value; 658 base::string16 kTestUsername = test_form->username_value;
658 map.insert(std::make_pair(kTestUsername, std::move(test_form))); 659 map.insert(std::make_pair(kTestUsername, std::move(test_form)));
659 controller()->OnPasswordAutofilled(map, map.begin()->second->origin, nullptr); 660 controller()->OnPasswordAutofilled(map, map.begin()->second->origin, nullptr);
660 661
661 ExpectIconAndControllerStateIs(password_manager::ui::AUTO_SIGNIN_STATE); 662 ExpectIconAndControllerStateIs(password_manager::ui::AUTO_SIGNIN_STATE);
662 } 663 }
663 664
664 TEST_F(ManagePasswordsUIControllerTest, InactiveOnPSLMatched) { 665 TEST_F(ManagePasswordsUIControllerTest, InactiveOnPSLMatched) {
665 base::string16 kTestUsername = base::ASCIIToUTF16("test_username"); 666 base::string16 kTestUsername = base::ASCIIToUTF16("test_username");
666 autofill::PasswordFormMap map; 667 autofill::PasswordFormMap map;
667 scoped_ptr<autofill::PasswordForm> psl_matched_test_form( 668 std::unique_ptr<autofill::PasswordForm> psl_matched_test_form(
668 new autofill::PasswordForm(test_local_form())); 669 new autofill::PasswordForm(test_local_form()));
669 psl_matched_test_form->is_public_suffix_match = true; 670 psl_matched_test_form->is_public_suffix_match = true;
670 map.insert(std::make_pair(kTestUsername, std::move(psl_matched_test_form))); 671 map.insert(std::make_pair(kTestUsername, std::move(psl_matched_test_form)));
671 controller()->OnPasswordAutofilled(map, map.begin()->second->origin, nullptr); 672 controller()->OnPasswordAutofilled(map, map.begin()->second->origin, nullptr);
672 673
673 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState()); 674 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState());
674 } 675 }
675 676
676 TEST_F(ManagePasswordsUIControllerTest, UpdatePasswordSubmitted) { 677 TEST_F(ManagePasswordsUIControllerTest, UpdatePasswordSubmitted) {
677 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( 678 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
678 CreateFormManager()); 679 CreateFormManager());
679 controller()->OnUpdatePasswordSubmitted(std::move(test_form_manager)); 680 controller()->OnUpdatePasswordSubmitted(std::move(test_form_manager));
680 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE, 681 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE,
681 controller()->GetState()); 682 controller()->GetState());
682 683
683 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE); 684 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE);
684 } 685 }
685 686
686 TEST_F(ManagePasswordsUIControllerTest, PasswordUpdated) { 687 TEST_F(ManagePasswordsUIControllerTest, PasswordUpdated) {
687 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( 688 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
688 CreateFormManager()); 689 CreateFormManager());
689 test_form_manager->ProvisionallySave( 690 test_form_manager->ProvisionallySave(
690 test_local_form(), 691 test_local_form(),
691 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); 692 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
692 controller()->OnUpdatePasswordSubmitted(std::move(test_form_manager)); 693 controller()->OnUpdatePasswordSubmitted(std::move(test_form_manager));
693 694
694 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE); 695 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE);
695 controller()->UpdatePassword(autofill::PasswordForm()); 696 controller()->UpdatePassword(autofill::PasswordForm());
696 ExpectIconStateIs(password_manager::ui::MANAGE_STATE); 697 ExpectIconStateIs(password_manager::ui::MANAGE_STATE);
697 } 698 }
698 699
699 TEST_F(ManagePasswordsUIControllerTest, SavePendingStatePasswordAutofilled) { 700 TEST_F(ManagePasswordsUIControllerTest, SavePendingStatePasswordAutofilled) {
700 TestNotChangingStateOnAutofill(password_manager::ui::PENDING_PASSWORD_STATE); 701 TestNotChangingStateOnAutofill(password_manager::ui::PENDING_PASSWORD_STATE);
701 } 702 }
702 703
703 TEST_F(ManagePasswordsUIControllerTest, UpdatePendingStatePasswordAutofilled) { 704 TEST_F(ManagePasswordsUIControllerTest, UpdatePendingStatePasswordAutofilled) {
704 TestNotChangingStateOnAutofill( 705 TestNotChangingStateOnAutofill(
705 password_manager::ui::PENDING_PASSWORD_UPDATE_STATE); 706 password_manager::ui::PENDING_PASSWORD_UPDATE_STATE);
706 } 707 }
707 708
708 TEST_F(ManagePasswordsUIControllerTest, ConfirmationStatePasswordAutofilled) { 709 TEST_F(ManagePasswordsUIControllerTest, ConfirmationStatePasswordAutofilled) {
709 TestNotChangingStateOnAutofill(password_manager::ui::CONFIRMATION_STATE); 710 TestNotChangingStateOnAutofill(password_manager::ui::CONFIRMATION_STATE);
710 } 711 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698