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

Unified Diff: chrome/browser/password_manager/password_store_mac_internal.h

Issue 149160: Add an exact search method to the Keychain adapter, and modify unit tests to ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/password_manager/password_store_mac_internal.h
===================================================================
--- chrome/browser/password_manager/password_store_mac_internal.h (revision 19855)
+++ chrome/browser/password_manager/password_store_mac_internal.h (working copy)
@@ -22,11 +22,18 @@
// created object.
explicit MacKeychainPasswordFormAdapter(MacKeychain* keychain);
- // Returns PasswordForms for each keychain entry matching |form|.
- // Caller is responsible for deleting the returned forms.
+ // Returns PasswordForms for each keychain entry that could be used to fill
+ // |form|. Caller is responsible for deleting the returned forms.
std::vector<webkit_glue::PasswordForm*> PasswordsMatchingForm(
const webkit_glue::PasswordForm& query_form);
+ // Returns the PasswordForm for the Keychain entry that matches |form| on all
+ // of the fields that uniquely identify a Keychain item, or NULL if there is
+ // no such entry.
+ // Caller is responsible for deleting the returned form.
+ webkit_glue::PasswordForm* PasswordExactlyMatchingForm(
+ const webkit_glue::PasswordForm& query_form);
+
// Creates a new keychain entry from |form|, or updates the password of an
// existing keychain entry if there is a collision. Returns true if a keychain
// entry was successfully added/updated.
@@ -38,11 +45,38 @@
std::vector<webkit_glue::PasswordForm*> CreateFormsFromKeychainItems(
const std::vector<SecKeychainItemRef>& items);
- // Searches |keychain| for all items usable for the given signon_realm, and
- // puts them in |items|. The caller is responsible for calling keychain->Free
- // on each of them when it is finished with them.
+ // Searches |keychain| for all items usable for the given form, and returns
+ // them. The caller is responsible for calling MacKeychain::Free on the
+ // returned items.
+ std::vector<SecKeychainItemRef> KeychainItemsForFillingForm(
+ const webkit_glue::PasswordForm& form);
+
+ // Searches |keychain| for the specific keychain entry that corresponds to the
+ // given form, and returns it (or NULL if no match is found). The caller is
+ // responsible for calling MacKeychain::Free on on the returned item.
+ SecKeychainItemRef KeychainItemForForm(
+ const webkit_glue::PasswordForm& form);
+
+ // Returns the Keychain items matching the given signon_realm, scheme, and
+ // optionally path and username (either of both can be NULL).
+ // them. The caller is responsible for calling MacKeychain::Free on the
+ // returned items.
std::vector<SecKeychainItemRef> MatchingKeychainItems(
- const std::string& signon_realm,
+ const std::string& signon_realm, webkit_glue::PasswordForm::Scheme scheme,
+ const char* path, const char* username);
+
+ // Takes a PasswordForm's signon_realm and parses it into its component parts,
+ // which are returned though the appropriate out parameters.
+ // Returns true if it can be successfully parsed, in which case all out params
+ // that are non-NULL will be set. If there is no port, port will be 0.
+ // If the return value is false, the state of the out params is undefined.
+ bool ExtractSignonRealmComponents(const std::string& signon_realm,
+ std::string* server, int* port,
+ bool* is_secure,
+ std::string* security_domain);
+
+ // Returns the Keychain SecAuthenticationType type corresponding to |scheme|.
+ SecAuthenticationType AuthTypeForScheme(
webkit_glue::PasswordForm::Scheme scheme);
// Changes the password for keychain_item to |password|; returns true if the
@@ -62,12 +96,6 @@
namespace internal_keychain_helpers {
-// Searches |keychain| for the specific keychain entry matching the given form,
-// and returns it (or NULL if no match is found).
-// The caller is responsible for calling keychain->Free on the returned item.
-SecKeychainItemRef MatchingKeychainItem(const MacKeychain& keychain,
- const webkit_glue::PasswordForm& form);
-
// Sets the fields of |form| based on the keychain data from |keychain_item|.
// Fields that can't be determined from |keychain_item| will be unchanged.
//
« no previous file with comments | « chrome/browser/password_manager/password_store_mac.cc ('k') | chrome/browser/password_manager/password_store_mac_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698