OLD | NEW |
---|---|
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 "chrome/browser/ui/passwords/manage_passwords_ui_controller.h" | 5 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
10 #include "chrome/app/chrome_command_ids.h" | 10 #include "chrome/app/chrome_command_ids.h" |
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
256 bubble_status_ = NOT_SHOWN; | 256 bubble_status_ = NOT_SHOWN; |
257 if (GetState() == password_manager::ui::CONFIRMATION_STATE || | 257 if (GetState() == password_manager::ui::CONFIRMATION_STATE || |
258 GetState() == password_manager::ui::AUTO_SIGNIN_STATE) { | 258 GetState() == password_manager::ui::AUTO_SIGNIN_STATE) { |
259 passwords_data_.TransitionToState(password_manager::ui::MANAGE_STATE); | 259 passwords_data_.TransitionToState(password_manager::ui::MANAGE_STATE); |
260 update_icon = true; | 260 update_icon = true; |
261 } | 261 } |
262 if (update_icon) | 262 if (update_icon) |
263 UpdateBubbleAndIconVisibility(); | 263 UpdateBubbleAndIconVisibility(); |
264 } | 264 } |
265 | 265 |
266 void ManagePasswordsUIController::OnNoInteractionOnUpdate() { | 266 void ManagePasswordsUIController::OnNoInteraction() { |
267 if (GetState() != password_manager::ui::PENDING_PASSWORD_UPDATE_STATE) { | 267 if (GetState() != password_manager::ui::PENDING_PASSWORD_UPDATE_STATE && |
268 GetState() != password_manager::ui::PENDING_PASSWORD_STATE) { | |
268 // Do nothing if the state was changed. It can happen for example when the | 269 // Do nothing if the state was changed. It can happen for example when the |
269 // update bubble is active and a page navigation happens. | 270 // bubble is active and a page navigation happens. |
270 return; | 271 return; |
271 } | 272 } |
273 bool is_update = | |
274 GetState() == password_manager::ui::PENDING_PASSWORD_UPDATE_STATE; | |
272 password_manager::PasswordFormManager* form_manager = | 275 password_manager::PasswordFormManager* form_manager = |
273 passwords_data_.form_manager(); | 276 passwords_data_.form_manager(); |
274 DCHECK(form_manager); | 277 DCHECK(form_manager); |
275 form_manager->OnNoInteractionOnUpdate(); | 278 form_manager->OnNoInteraction(is_update); |
276 } | 279 } |
277 | 280 |
278 void ManagePasswordsUIController::OnNopeUpdateClicked() { | 281 void ManagePasswordsUIController::OnNopeUpdateClicked() { |
279 password_manager::PasswordFormManager* form_manager = | 282 password_manager::PasswordFormManager* form_manager = |
280 passwords_data_.form_manager(); | 283 passwords_data_.form_manager(); |
281 DCHECK(form_manager); | 284 DCHECK(form_manager); |
282 form_manager->OnNopeUpdateClicked(); | 285 form_manager->OnNopeUpdateClicked(); |
283 } | 286 } |
284 | 287 |
285 void ManagePasswordsUIController::NeverSavePassword() { | 288 void ManagePasswordsUIController::NeverSavePassword() { |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
375 const autofill::PasswordForm& password_form) { | 378 const autofill::PasswordForm& password_form) { |
376 password_manager::PasswordFormManager* form_manager = | 379 password_manager::PasswordFormManager* form_manager = |
377 passwords_data_.form_manager(); | 380 passwords_data_.form_manager(); |
378 form_manager->Update(password_form); | 381 form_manager->Update(password_form); |
379 } | 382 } |
380 | 383 |
381 void ManagePasswordsUIController::NeverSavePasswordInternal() { | 384 void ManagePasswordsUIController::NeverSavePasswordInternal() { |
382 password_manager::PasswordFormManager* form_manager = | 385 password_manager::PasswordFormManager* form_manager = |
383 passwords_data_.form_manager(); | 386 passwords_data_.form_manager(); |
384 DCHECK(form_manager); | 387 DCHECK(form_manager); |
388 form_manager->OnNeverClicked(); | |
vasilii
2016/12/08 16:58:14
Why can't PermanentlyBlacklist() call OnNeverClick
kolos1
2016/12/09 12:16:07
Done.
| |
385 form_manager->PermanentlyBlacklist(); | 389 form_manager->PermanentlyBlacklist(); |
386 } | 390 } |
387 | 391 |
388 void ManagePasswordsUIController::UpdateBubbleAndIconVisibility() { | 392 void ManagePasswordsUIController::UpdateBubbleAndIconVisibility() { |
389 // If we're not on a "webby" URL (e.g. "chrome://sign-in"), we shouldn't | 393 // If we're not on a "webby" URL (e.g. "chrome://sign-in"), we shouldn't |
390 // display either the bubble or the icon. | 394 // display either the bubble or the icon. |
391 if (!BrowsingDataHelper::IsWebScheme( | 395 if (!BrowsingDataHelper::IsWebScheme( |
392 web_contents()->GetLastCommittedURL().scheme())) { | 396 web_contents()->GetLastCommittedURL().scheme())) { |
393 passwords_data_.OnInactive(); | 397 passwords_data_.OnInactive(); |
394 } | 398 } |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
453 passwords_data_.TransitionToState(password_manager::ui::MANAGE_STATE); | 457 passwords_data_.TransitionToState(password_manager::ui::MANAGE_STATE); |
454 } | 458 } |
455 } | 459 } |
456 | 460 |
457 void ManagePasswordsUIController::WebContentsDestroyed() { | 461 void ManagePasswordsUIController::WebContentsDestroyed() { |
458 password_manager::PasswordStore* password_store = | 462 password_manager::PasswordStore* password_store = |
459 GetPasswordStore(web_contents()); | 463 GetPasswordStore(web_contents()); |
460 if (password_store) | 464 if (password_store) |
461 password_store->RemoveObserver(this); | 465 password_store->RemoveObserver(this); |
462 } | 466 } |
OLD | NEW |