OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/views/passwords/manage_passwords_bubble_view.h" | 5 #include "chrome/browser/ui/views/passwords/manage_passwords_bubble_view.h" |
6 | 6 |
7 #include "base/timer/timer.h" | 7 #include "base/timer/timer.h" |
8 #include "chrome/browser/profiles/profile.h" | 8 #include "chrome/browser/profiles/profile.h" |
9 #include "chrome/browser/ui/browser.h" | 9 #include "chrome/browser/ui/browser.h" |
10 #include "chrome/browser/ui/browser_finder.h" | 10 #include "chrome/browser/ui/browser_finder.h" |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
229 public views::StyledLabelListener { | 229 public views::StyledLabelListener { |
230 public: | 230 public: |
231 explicit AccountChooserView(ManagePasswordsBubbleView* parent); | 231 explicit AccountChooserView(ManagePasswordsBubbleView* parent); |
232 ~AccountChooserView() override; | 232 ~AccountChooserView() override; |
233 | 233 |
234 private: | 234 private: |
235 // views::ButtonListener: | 235 // views::ButtonListener: |
236 void ButtonPressed(views::Button* sender, const ui::Event& event) override; | 236 void ButtonPressed(views::Button* sender, const ui::Event& event) override; |
237 | 237 |
238 // views::StyledLabelListener: | 238 // views::StyledLabelListener: |
239 void StyledLabelLinkClicked(const gfx::Range& range, | 239 void StyledLabelLinkClicked(views::StyledLabel* label, |
| 240 const gfx::Range& range, |
240 int event_flags) override; | 241 int event_flags) override; |
241 | 242 |
242 // Adds |password_forms| to the layout remembering their |type|. | 243 // Adds |password_forms| to the layout remembering their |type|. |
243 void AddCredentialItemsWithType( | 244 void AddCredentialItemsWithType( |
244 views::GridLayout* layout, | 245 views::GridLayout* layout, |
245 const ScopedVector<const autofill::PasswordForm>& password_forms, | 246 const ScopedVector<const autofill::PasswordForm>& password_forms, |
246 password_manager::CredentialType type); | 247 password_manager::CredentialType type); |
247 | 248 |
248 ManagePasswordsBubbleView* parent_; | 249 ManagePasswordsBubbleView* parent_; |
249 views::LabelButton* cancel_button_; | 250 views::LabelButton* cancel_button_; |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
316 CredentialsItemView* view = static_cast<CredentialsItemView*>(sender); | 317 CredentialsItemView* view = static_cast<CredentialsItemView*>(sender); |
317 parent_->model()->OnChooseCredentials(*view->form(), | 318 parent_->model()->OnChooseCredentials(*view->form(), |
318 view->credential_type()); | 319 view->credential_type()); |
319 } else { | 320 } else { |
320 parent_->model()->OnCancelClicked(); | 321 parent_->model()->OnCancelClicked(); |
321 } | 322 } |
322 parent_->Close(); | 323 parent_->Close(); |
323 } | 324 } |
324 | 325 |
325 void ManagePasswordsBubbleView::AccountChooserView::StyledLabelLinkClicked( | 326 void ManagePasswordsBubbleView::AccountChooserView::StyledLabelLinkClicked( |
| 327 views::StyledLabel* label, |
326 const gfx::Range& range, | 328 const gfx::Range& range, |
327 int event_flags) { | 329 int event_flags) { |
328 DCHECK_EQ(range, parent_->model()->title_brand_link_range()); | 330 DCHECK_EQ(range, parent_->model()->title_brand_link_range()); |
329 parent_->model()->OnBrandLinkClicked(); | 331 parent_->model()->OnBrandLinkClicked(); |
330 } | 332 } |
331 | 333 |
332 // ManagePasswordsBubbleView::AutoSigninView ---------------------------------- | 334 // ManagePasswordsBubbleView::AutoSigninView ---------------------------------- |
333 | 335 |
334 // A view containing just one credential that was used for for automatic signing | 336 // A view containing just one credential that was used for for automatic signing |
335 // in. | 337 // in. |
336 class ManagePasswordsBubbleView::AutoSigninView | 338 class ManagePasswordsBubbleView::AutoSigninView |
337 : public views::View, | 339 : public views::View, |
338 public views::ButtonListener, | 340 public views::ButtonListener, |
339 public views::StyledLabelListener, | 341 public views::StyledLabelListener, |
340 public views::WidgetObserver { | 342 public views::WidgetObserver { |
341 public: | 343 public: |
342 explicit AutoSigninView(ManagePasswordsBubbleView* parent); | 344 explicit AutoSigninView(ManagePasswordsBubbleView* parent); |
343 | 345 |
344 private: | 346 private: |
345 // views::ButtonListener: | 347 // views::ButtonListener: |
346 void ButtonPressed(views::Button* sender, const ui::Event& event) override; | 348 void ButtonPressed(views::Button* sender, const ui::Event& event) override; |
347 | 349 |
348 // views::StyledLabelListener: | 350 // views::StyledLabelListener: |
349 void StyledLabelLinkClicked(const gfx::Range& range, | 351 void StyledLabelLinkClicked(views::StyledLabel* label, |
| 352 const gfx::Range& range, |
350 int event_flags) override; | 353 int event_flags) override; |
351 | 354 |
352 // views::WidgetObserver: | 355 // views::WidgetObserver: |
353 // Tracks the state of the browser window. | 356 // Tracks the state of the browser window. |
354 void OnWidgetActivationChanged(views::Widget* widget, bool active) override; | 357 void OnWidgetActivationChanged(views::Widget* widget, bool active) override; |
355 void OnWidgetClosing(views::Widget* widget) override; | 358 void OnWidgetClosing(views::Widget* widget) override; |
356 | 359 |
357 void OnTimer(); | 360 void OnTimer(); |
358 static base::TimeDelta GetTimeout() { | 361 static base::TimeDelta GetTimeout() { |
359 return base::TimeDelta::FromSeconds( | 362 return base::TimeDelta::FromSeconds( |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
436 } | 439 } |
437 | 440 |
438 void ManagePasswordsBubbleView::AutoSigninView::ButtonPressed( | 441 void ManagePasswordsBubbleView::AutoSigninView::ButtonPressed( |
439 views::Button* sender, const ui::Event& event) { | 442 views::Button* sender, const ui::Event& event) { |
440 DCHECK_EQ(ok_button_, sender); | 443 DCHECK_EQ(ok_button_, sender); |
441 parent_->model()->OnAutoSignOKClicked(); | 444 parent_->model()->OnAutoSignOKClicked(); |
442 parent_->Close(); | 445 parent_->Close(); |
443 } | 446 } |
444 | 447 |
445 void ManagePasswordsBubbleView::AutoSigninView::StyledLabelLinkClicked( | 448 void ManagePasswordsBubbleView::AutoSigninView::StyledLabelLinkClicked( |
446 const gfx::Range& range, int event_flags) { | 449 views::StyledLabel* label, |
| 450 const gfx::Range& range, |
| 451 int event_flags) { |
447 DCHECK_EQ(range, parent_->model()->autosignin_welcome_link_range()); | 452 DCHECK_EQ(range, parent_->model()->autosignin_welcome_link_range()); |
448 parent_->model()->OnBrandLinkClicked(); | 453 parent_->model()->OnBrandLinkClicked(); |
449 } | 454 } |
450 | 455 |
451 void ManagePasswordsBubbleView::AutoSigninView::OnWidgetActivationChanged( | 456 void ManagePasswordsBubbleView::AutoSigninView::OnWidgetActivationChanged( |
452 views::Widget* widget, bool active) { | 457 views::Widget* widget, bool active) { |
453 if (active && !timer_.IsRunning()) | 458 if (active && !timer_.IsRunning()) |
454 timer_.Start(FROM_HERE, GetTimeout(), this, &AutoSigninView::OnTimer); | 459 timer_.Start(FROM_HERE, GetTimeout(), this, &AutoSigninView::OnTimer); |
455 } | 460 } |
456 | 461 |
(...skipping 18 matching lines...) Expand all Loading... |
475 public views::StyledLabelListener { | 480 public views::StyledLabelListener { |
476 public: | 481 public: |
477 explicit PendingView(ManagePasswordsBubbleView* parent); | 482 explicit PendingView(ManagePasswordsBubbleView* parent); |
478 ~PendingView() override; | 483 ~PendingView() override; |
479 | 484 |
480 private: | 485 private: |
481 // views::ButtonListener: | 486 // views::ButtonListener: |
482 void ButtonPressed(views::Button* sender, const ui::Event& event) override; | 487 void ButtonPressed(views::Button* sender, const ui::Event& event) override; |
483 | 488 |
484 // views::StyledLabelListener: | 489 // views::StyledLabelListener: |
485 void StyledLabelLinkClicked(const gfx::Range& range, | 490 void StyledLabelLinkClicked(views::StyledLabel* label, |
| 491 const gfx::Range& range, |
486 int event_flags) override; | 492 int event_flags) override; |
487 | 493 |
488 ManagePasswordsBubbleView* parent_; | 494 ManagePasswordsBubbleView* parent_; |
489 | 495 |
490 views::BlueButton* save_button_; | 496 views::BlueButton* save_button_; |
491 views::LabelButton* never_button_; | 497 views::LabelButton* never_button_; |
492 | 498 |
493 DISALLOW_COPY_AND_ASSIGN(PendingView); | 499 DISALLOW_COPY_AND_ASSIGN(PendingView); |
494 }; | 500 }; |
495 | 501 |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
561 parent_->model()->OnSaveClicked(); | 567 parent_->model()->OnSaveClicked(); |
562 else if (sender == never_button_) | 568 else if (sender == never_button_) |
563 parent_->model()->OnNeverForThisSiteClicked(); | 569 parent_->model()->OnNeverForThisSiteClicked(); |
564 else | 570 else |
565 NOTREACHED(); | 571 NOTREACHED(); |
566 | 572 |
567 parent_->Close(); | 573 parent_->Close(); |
568 } | 574 } |
569 | 575 |
570 void ManagePasswordsBubbleView::PendingView::StyledLabelLinkClicked( | 576 void ManagePasswordsBubbleView::PendingView::StyledLabelLinkClicked( |
| 577 views::StyledLabel* label, |
571 const gfx::Range& range, | 578 const gfx::Range& range, |
572 int event_flags) { | 579 int event_flags) { |
573 DCHECK_EQ(range, parent_->model()->title_brand_link_range()); | 580 DCHECK_EQ(range, parent_->model()->title_brand_link_range()); |
574 parent_->model()->OnBrandLinkClicked(); | 581 parent_->model()->OnBrandLinkClicked(); |
575 } | 582 } |
576 | 583 |
577 // ManagePasswordsBubbleView::ManageView -------------------------------------- | 584 // ManagePasswordsBubbleView::ManageView -------------------------------------- |
578 | 585 |
579 // A view offering the user a list of her currently saved credentials | 586 // A view offering the user a list of her currently saved credentials |
580 // for the current page, along with a "Manage passwords" link and a | 587 // for the current page, along with a "Manage passwords" link and a |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
683 public views::StyledLabelListener { | 690 public views::StyledLabelListener { |
684 public: | 691 public: |
685 explicit SaveConfirmationView(ManagePasswordsBubbleView* parent); | 692 explicit SaveConfirmationView(ManagePasswordsBubbleView* parent); |
686 ~SaveConfirmationView() override; | 693 ~SaveConfirmationView() override; |
687 | 694 |
688 private: | 695 private: |
689 // views::ButtonListener: | 696 // views::ButtonListener: |
690 void ButtonPressed(views::Button* sender, const ui::Event& event) override; | 697 void ButtonPressed(views::Button* sender, const ui::Event& event) override; |
691 | 698 |
692 // views::StyledLabelListener implementation | 699 // views::StyledLabelListener implementation |
693 void StyledLabelLinkClicked(const gfx::Range& range, | 700 void StyledLabelLinkClicked(views::StyledLabel* label, |
| 701 const gfx::Range& range, |
694 int event_flags) override; | 702 int event_flags) override; |
695 | 703 |
696 ManagePasswordsBubbleView* parent_; | 704 ManagePasswordsBubbleView* parent_; |
697 views::LabelButton* ok_button_; | 705 views::LabelButton* ok_button_; |
698 | 706 |
699 DISALLOW_COPY_AND_ASSIGN(SaveConfirmationView); | 707 DISALLOW_COPY_AND_ASSIGN(SaveConfirmationView); |
700 }; | 708 }; |
701 | 709 |
702 ManagePasswordsBubbleView::SaveConfirmationView::SaveConfirmationView( | 710 ManagePasswordsBubbleView::SaveConfirmationView::SaveConfirmationView( |
703 ManagePasswordsBubbleView* parent) | 711 ManagePasswordsBubbleView* parent) |
(...skipping 24 matching lines...) Expand all Loading... |
728 0, SINGLE_BUTTON_COLUMN_SET, 0, views::kRelatedControlVerticalSpacing); | 736 0, SINGLE_BUTTON_COLUMN_SET, 0, views::kRelatedControlVerticalSpacing); |
729 layout->AddView(ok_button_); | 737 layout->AddView(ok_button_); |
730 | 738 |
731 parent_->set_initially_focused_view(ok_button_); | 739 parent_->set_initially_focused_view(ok_button_); |
732 } | 740 } |
733 | 741 |
734 ManagePasswordsBubbleView::SaveConfirmationView::~SaveConfirmationView() { | 742 ManagePasswordsBubbleView::SaveConfirmationView::~SaveConfirmationView() { |
735 } | 743 } |
736 | 744 |
737 void ManagePasswordsBubbleView::SaveConfirmationView::StyledLabelLinkClicked( | 745 void ManagePasswordsBubbleView::SaveConfirmationView::StyledLabelLinkClicked( |
738 const gfx::Range& range, int event_flags) { | 746 views::StyledLabel* label, |
| 747 const gfx::Range& range, |
| 748 int event_flags) { |
739 DCHECK_EQ(range, parent_->model()->save_confirmation_link_range()); | 749 DCHECK_EQ(range, parent_->model()->save_confirmation_link_range()); |
740 parent_->model()->OnManageLinkClicked(); | 750 parent_->model()->OnManageLinkClicked(); |
741 parent_->Close(); | 751 parent_->Close(); |
742 } | 752 } |
743 | 753 |
744 void ManagePasswordsBubbleView::SaveConfirmationView::ButtonPressed( | 754 void ManagePasswordsBubbleView::SaveConfirmationView::ButtonPressed( |
745 views::Button* sender, const ui::Event& event) { | 755 views::Button* sender, const ui::Event& event) { |
746 DCHECK_EQ(sender, ok_button_); | 756 DCHECK_EQ(sender, ok_button_); |
747 parent_->model()->OnOKClicked(); | 757 parent_->model()->OnOKClicked(); |
748 parent_->Close(); | 758 parent_->Close(); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
810 public views::StyledLabelListener { | 820 public views::StyledLabelListener { |
811 public: | 821 public: |
812 explicit UpdatePendingView(ManagePasswordsBubbleView* parent); | 822 explicit UpdatePendingView(ManagePasswordsBubbleView* parent); |
813 ~UpdatePendingView() override; | 823 ~UpdatePendingView() override; |
814 | 824 |
815 private: | 825 private: |
816 // views::ButtonListener: | 826 // views::ButtonListener: |
817 void ButtonPressed(views::Button* sender, const ui::Event& event) override; | 827 void ButtonPressed(views::Button* sender, const ui::Event& event) override; |
818 | 828 |
819 // views::StyledLabelListener: | 829 // views::StyledLabelListener: |
820 void StyledLabelLinkClicked(const gfx::Range& range, | 830 void StyledLabelLinkClicked(views::StyledLabel* label, |
| 831 const gfx::Range& range, |
821 int event_flags) override; | 832 int event_flags) override; |
822 | 833 |
823 ManagePasswordsBubbleView* parent_; | 834 ManagePasswordsBubbleView* parent_; |
824 | 835 |
825 CredentialsSelectionView* selection_view_; | 836 CredentialsSelectionView* selection_view_; |
826 | 837 |
827 views::BlueButton* update_button_; | 838 views::BlueButton* update_button_; |
828 | 839 |
829 views::LabelButton* nope_button_; | 840 views::LabelButton* nope_button_; |
830 | 841 |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
892 } else { | 903 } else { |
893 parent_->model()->OnUpdateClicked(parent_->model()->pending_password()); | 904 parent_->model()->OnUpdateClicked(parent_->model()->pending_password()); |
894 } | 905 } |
895 } else { | 906 } else { |
896 parent_->model()->OnNopeUpdateClicked(); | 907 parent_->model()->OnNopeUpdateClicked(); |
897 } | 908 } |
898 parent_->Close(); | 909 parent_->Close(); |
899 } | 910 } |
900 | 911 |
901 void ManagePasswordsBubbleView::UpdatePendingView::StyledLabelLinkClicked( | 912 void ManagePasswordsBubbleView::UpdatePendingView::StyledLabelLinkClicked( |
| 913 views::StyledLabel* label, |
902 const gfx::Range& range, | 914 const gfx::Range& range, |
903 int event_flags) { | 915 int event_flags) { |
904 DCHECK_EQ(range, parent_->model()->title_brand_link_range()); | 916 DCHECK_EQ(range, parent_->model()->title_brand_link_range()); |
905 parent_->model()->OnBrandLinkClicked(); | 917 parent_->model()->OnBrandLinkClicked(); |
906 } | 918 } |
907 | 919 |
908 // ManagePasswordsBubbleView -------------------------------------------------- | 920 // ManagePasswordsBubbleView -------------------------------------------------- |
909 | 921 |
910 // static | 922 // static |
911 ManagePasswordsBubbleView* ManagePasswordsBubbleView::manage_passwords_bubble_ = | 923 ManagePasswordsBubbleView* ManagePasswordsBubbleView::manage_passwords_bubble_ = |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1018 AddChildView(new SaveConfirmationView(this)); | 1030 AddChildView(new SaveConfirmationView(this)); |
1019 } else if (model_.state() == password_manager::ui::CREDENTIAL_REQUEST_STATE) { | 1031 } else if (model_.state() == password_manager::ui::CREDENTIAL_REQUEST_STATE) { |
1020 AddChildView(new AccountChooserView(this)); | 1032 AddChildView(new AccountChooserView(this)); |
1021 } else if (model_.state() == password_manager::ui::AUTO_SIGNIN_STATE) { | 1033 } else if (model_.state() == password_manager::ui::AUTO_SIGNIN_STATE) { |
1022 AddChildView(new AutoSigninView(this)); | 1034 AddChildView(new AutoSigninView(this)); |
1023 } else { | 1035 } else { |
1024 AddChildView(new ManageView(this)); | 1036 AddChildView(new ManageView(this)); |
1025 } | 1037 } |
1026 GetLayoutManager()->Layout(this); | 1038 GetLayoutManager()->Layout(this); |
1027 } | 1039 } |
OLD | NEW |