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

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

Issue 151164: Remove a bunch of low-level keychain helper tests that are now redundant with... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 6 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 19737)
+++ chrome/browser/password_manager/password_store_mac_internal.h (working copy)
@@ -13,51 +13,54 @@
#include "base/time.h"
#include "chrome/browser/keychain_mac.h"
-namespace internal_keychain_helpers {
+// Adapter that wraps a MacKeychain and provides interaction in terms of
+// PasswordForms instead of keychain items.
+class MacKeychainPasswordFormAdapter {
+ public:
+ // Creates an adapter for |keychain|. This class does not take ownership of
+ // |keychain|, so the caller must make sure that the keychain outlives the
+ // created object.
+ explicit MacKeychainPasswordFormAdapter(MacKeychain* keychain);
-// 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 our params is undefined.
-bool ExtractSignonRealmComponents(const std::string& signon_realm,
- std::string* server, int* port,
- bool* is_secure,
- std::string* security_domain);
+ // Returns PasswordForms for each keychain entry matching |form|.
+ // Caller is responsible for deleting the returned forms.
+ std::vector<webkit_glue::PasswordForm*> PasswordsMatchingForm(
+ const webkit_glue::PasswordForm& query_form);
-// Returns a URL built from the given components. To create a URL without a
-// port, pass kAnyPort for the |port| parameter.
-GURL URLFromComponents(bool is_secure, const std::string& host, int port,
- const std::string& path);
+ // 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.
+ bool AddLogin(const webkit_glue::PasswordForm& form);
-// Converts a Keychain time string to a Time object, returning true if
-// time_string_bytes was parsable. If the return value is false, the value of
-// |time| is unchanged.
-bool TimeFromKeychainTimeString(const char* time_string_bytes,
- unsigned int byte_length,
- base::Time* time);
+ private:
+ // Returns PasswordForms constructed from the given Keychain items.
+ // Caller is responsible for deleting the returned forms.
+ std::vector<webkit_glue::PasswordForm*> CreateFormsFromKeychainItems(
+ const std::vector<SecKeychainItemRef>& items);
-// Returns the Keychain SecAuthenticationType type corresponding to |scheme|.
-SecAuthenticationType AuthTypeForScheme(
- webkit_glue::PasswordForm::Scheme scheme);
+ // 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.
+ std::vector<SecKeychainItemRef> MatchingKeychainItems(
+ const std::string& signon_realm, webkit_glue::PasswordForm::Scheme scheme);
-// Returns the PasswordForm Scheme corresponding to |auth_type|.
-webkit_glue::PasswordForm::Scheme SchemeForAuthType(
- SecAuthenticationType auth_type);
+ // Changes the password for keychain_item to |password|; returns true if the
+ // password was successfully changed.
+ bool SetKeychainItemPassword(const SecKeychainItemRef& keychain_item,
+ const std::string& password);
-// 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.
-void FindMatchingKeychainItems(const MacKeychain& keychain,
- const std::string& signon_realm,
- webkit_glue::PasswordForm::Scheme scheme,
- std::vector<SecKeychainItemRef>* items);
+ MacKeychain* keychain_;
+ DISALLOW_COPY_AND_ASSIGN(MacKeychainPasswordFormAdapter);
+};
+
+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 FindMatchingKeychainItem(
- const MacKeychain& keychain, const webkit_glue::PasswordForm& form);
+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.
@@ -74,18 +77,6 @@
const SecKeychainItemRef& keychain_item,
webkit_glue::PasswordForm* 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.
-bool AddKeychainEntryForForm(const MacKeychain& keychain,
- const webkit_glue::PasswordForm& form);
-
-// Changes the password for keychain_item to |password|; returns true if the
-// password was successfully changed.
-bool SetKeychainItemPassword(const MacKeychain& keychain,
- const SecKeychainItemRef& keychain_item,
- const std::string& password);
-
// Returns true if the two given forms match based on signon_reaml, scheme, and
// username_value, and are thus suitable for merging (see MergePasswordForms).
// If this returns true, and path_matches is non-NULL, *path_matches will be set
« 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