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

Side by Side Diff: chrome/browser/password_manager/password_store_mac.cc

Issue 7327007: Moving notification types which are chrome specific to a new header file chrome_notification_type... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 5 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/password_manager/password_store_mac.h" 5 #include "chrome/browser/password_manager/password_store_mac.h"
6 #include "chrome/browser/password_manager/password_store_mac_internal.h" 6 #include "chrome/browser/password_manager/password_store_mac_internal.h"
7 7
8 #include <CoreServices/CoreServices.h> 8 #include <CoreServices/CoreServices.h>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
11 #include <vector> 11 #include <vector>
12 12
13 #include "base/logging.h" 13 #include "base/logging.h"
14 #include "base/mac/mac_util.h" 14 #include "base/mac/mac_util.h"
15 #include "base/message_loop.h" 15 #include "base/message_loop.h"
16 #include "base/stl_util-inl.h" 16 #include "base/stl_util-inl.h"
17 #include "base/string_util.h" 17 #include "base/string_util.h"
18 #include "base/task.h" 18 #include "base/task.h"
19 #include "base/utf_string_conversions.h" 19 #include "base/utf_string_conversions.h"
20 #include "chrome/browser/keychain_mac.h" 20 #include "chrome/browser/keychain_mac.h"
21 #include "chrome/browser/password_manager/login_database.h" 21 #include "chrome/browser/password_manager/login_database.h"
22 #include "chrome/browser/password_manager/password_store_change.h" 22 #include "chrome/browser/password_manager/password_store_change.h"
23 #include "chrome/common/chrome_notification_types.h"
23 #include "content/common/notification_service.h" 24 #include "content/common/notification_service.h"
24 25
25 using webkit_glue::PasswordForm; 26 using webkit_glue::PasswordForm;
26 27
27 // Utility class to handle the details of constructing and running a keychain 28 // Utility class to handle the details of constructing and running a keychain
28 // search from a set of attributes. 29 // search from a set of attributes.
29 class KeychainSearch { 30 class KeychainSearch {
30 public: 31 public:
31 explicit KeychainSearch(const MacKeychain& keychain); 32 explicit KeychainSearch(const MacKeychain& keychain);
32 ~KeychainSearch(); 33 ~KeychainSearch();
(...skipping 730 matching lines...) Expand 10 before | Expand all | Expand 10 after
763 void PasswordStoreMac::ReportMetricsImpl() { 764 void PasswordStoreMac::ReportMetricsImpl() {
764 login_metadata_db_->ReportMetrics(); 765 login_metadata_db_->ReportMetrics();
765 } 766 }
766 767
767 void PasswordStoreMac::AddLoginImpl(const PasswordForm& form) { 768 void PasswordStoreMac::AddLoginImpl(const PasswordForm& form) {
768 if (AddToKeychainIfNecessary(form)) { 769 if (AddToKeychainIfNecessary(form)) {
769 if (login_metadata_db_->AddLogin(form)) { 770 if (login_metadata_db_->AddLogin(form)) {
770 PasswordStoreChangeList changes; 771 PasswordStoreChangeList changes;
771 changes.push_back(PasswordStoreChange(PasswordStoreChange::ADD, form)); 772 changes.push_back(PasswordStoreChange(PasswordStoreChange::ADD, form));
772 NotificationService::current()->Notify( 773 NotificationService::current()->Notify(
773 NotificationType::LOGINS_CHANGED, 774 chrome::NOTIFICATION_LOGINS_CHANGED,
774 Source<PasswordStore>(this), 775 Source<PasswordStore>(this),
775 Details<PasswordStoreChangeList>(&changes)); 776 Details<PasswordStoreChangeList>(&changes));
776 } 777 }
777 } 778 }
778 } 779 }
779 780
780 void PasswordStoreMac::UpdateLoginImpl(const PasswordForm& form) { 781 void PasswordStoreMac::UpdateLoginImpl(const PasswordForm& form) {
781 int update_count = 0; 782 int update_count = 0;
782 if (!login_metadata_db_->UpdateLogin(form, &update_count)) 783 if (!login_metadata_db_->UpdateLogin(form, &update_count))
783 return; 784 return;
(...skipping 14 matching lines...) Expand all
798 if (login_metadata_db_->AddLogin(form)) { 799 if (login_metadata_db_->AddLogin(form)) {
799 changes.push_back(PasswordStoreChange(PasswordStoreChange::ADD, 800 changes.push_back(PasswordStoreChange(PasswordStoreChange::ADD,
800 form)); 801 form));
801 } 802 }
802 } else { 803 } else {
803 changes.push_back(PasswordStoreChange(PasswordStoreChange::UPDATE, 804 changes.push_back(PasswordStoreChange(PasswordStoreChange::UPDATE,
804 form)); 805 form));
805 } 806 }
806 if (!changes.empty()) { 807 if (!changes.empty()) {
807 NotificationService::current()->Notify( 808 NotificationService::current()->Notify(
808 NotificationType::LOGINS_CHANGED, 809 chrome::NOTIFICATION_LOGINS_CHANGED,
809 Source<PasswordStore>(this), 810 Source<PasswordStore>(this),
810 Details<PasswordStoreChangeList>(&changes)); 811 Details<PasswordStoreChangeList>(&changes));
811 } 812 }
812 } 813 }
813 } 814 }
814 815
815 void PasswordStoreMac::RemoveLoginImpl(const PasswordForm& form) { 816 void PasswordStoreMac::RemoveLoginImpl(const PasswordForm& form) {
816 if (login_metadata_db_->RemoveLogin(form)) { 817 if (login_metadata_db_->RemoveLogin(form)) {
817 // See if we own a Keychain item associated with this item. We can do an 818 // See if we own a Keychain item associated with this item. We can do an
818 // exact search rather than messing around with trying to do fuzzy matching 819 // exact search rather than messing around with trying to do fuzzy matching
(...skipping 10 matching lines...) Expand all
829 // If we don't have other forms using it (i.e., a form differing only by 830 // If we don't have other forms using it (i.e., a form differing only by
830 // the names of the form elements), delete the keychain entry. 831 // the names of the form elements), delete the keychain entry.
831 if (!DatabaseHasFormMatchingKeychainForm(form)) { 832 if (!DatabaseHasFormMatchingKeychainForm(form)) {
832 owned_keychain_adapter.RemovePassword(form); 833 owned_keychain_adapter.RemovePassword(form);
833 } 834 }
834 } 835 }
835 836
836 PasswordStoreChangeList changes; 837 PasswordStoreChangeList changes;
837 changes.push_back(PasswordStoreChange(PasswordStoreChange::REMOVE, form)); 838 changes.push_back(PasswordStoreChange(PasswordStoreChange::REMOVE, form));
838 NotificationService::current()->Notify( 839 NotificationService::current()->Notify(
839 NotificationType::LOGINS_CHANGED, 840 chrome::NOTIFICATION_LOGINS_CHANGED,
840 Source<PasswordStore>(this), 841 Source<PasswordStore>(this),
841 Details<PasswordStoreChangeList>(&changes)); 842 Details<PasswordStoreChangeList>(&changes));
842 } 843 }
843 } 844 }
844 845
845 void PasswordStoreMac::RemoveLoginsCreatedBetweenImpl( 846 void PasswordStoreMac::RemoveLoginsCreatedBetweenImpl(
846 const base::Time& delete_begin, const base::Time& delete_end) { 847 const base::Time& delete_begin, const base::Time& delete_end) {
847 std::vector<PasswordForm*> forms; 848 std::vector<PasswordForm*> forms;
848 if (login_metadata_db_->GetLoginsCreatedBetween(delete_begin, delete_end, 849 if (login_metadata_db_->GetLoginsCreatedBetween(delete_begin, delete_end,
849 &forms)) { 850 &forms)) {
(...skipping 13 matching lines...) Expand all
863 RemoveKeychainForms(orphan_keychain_forms); 864 RemoveKeychainForms(orphan_keychain_forms);
864 STLDeleteElements(&orphan_keychain_forms); 865 STLDeleteElements(&orphan_keychain_forms);
865 866
866 PasswordStoreChangeList changes; 867 PasswordStoreChangeList changes;
867 for (std::vector<PasswordForm*>::const_iterator it = forms.begin(); 868 for (std::vector<PasswordForm*>::const_iterator it = forms.begin();
868 it != forms.end(); ++it) { 869 it != forms.end(); ++it) {
869 changes.push_back(PasswordStoreChange(PasswordStoreChange::REMOVE, 870 changes.push_back(PasswordStoreChange(PasswordStoreChange::REMOVE,
870 **it)); 871 **it));
871 } 872 }
872 NotificationService::current()->Notify( 873 NotificationService::current()->Notify(
873 NotificationType::LOGINS_CHANGED, 874 chrome::NOTIFICATION_LOGINS_CHANGED,
874 Source<PasswordStore>(this), 875 Source<PasswordStore>(this),
875 Details<PasswordStoreChangeList>(&changes)); 876 Details<PasswordStoreChangeList>(&changes));
876 } 877 }
877 } 878 }
878 } 879 }
879 880
880 void PasswordStoreMac::GetLoginsImpl(GetLoginsRequest* request, 881 void PasswordStoreMac::GetLoginsImpl(GetLoginsRequest* request,
881 const webkit_glue::PasswordForm& form) { 882 const webkit_glue::PasswordForm& form) {
882 MacKeychainPasswordFormAdapter keychain_adapter(keychain_.get()); 883 MacKeychainPasswordFormAdapter keychain_adapter(keychain_.get());
883 std::vector<PasswordForm*> keychain_forms = 884 std::vector<PasswordForm*> keychain_forms =
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
1002 owned_keychain_adapter.SetFindsOnlyOwnedItems(true); 1003 owned_keychain_adapter.SetFindsOnlyOwnedItems(true);
1003 for (std::vector<PasswordForm*>::const_iterator i = forms.begin(); 1004 for (std::vector<PasswordForm*>::const_iterator i = forms.begin();
1004 i != forms.end(); ++i) { 1005 i != forms.end(); ++i) {
1005 owned_keychain_adapter.RemovePassword(**i); 1006 owned_keychain_adapter.RemovePassword(**i);
1006 } 1007 }
1007 } 1008 }
1008 1009
1009 void PasswordStoreMac::CreateNotificationService() { 1010 void PasswordStoreMac::CreateNotificationService() {
1010 notification_service_.reset(new NotificationService); 1011 notification_service_.reset(new NotificationService);
1011 } 1012 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698