Index: chrome/browser/autofill/password_generator.h |
diff --git a/chrome/browser/autofill/password_generator.h b/chrome/browser/autofill/password_generator.h |
index 0adbd435f43627877a26595ce8d54079e397a196..c47bf44f0a276fef62ce8c46fcd9690109710837 100644 |
--- a/chrome/browser/autofill/password_generator.h |
+++ b/chrome/browser/autofill/password_generator.h |
@@ -10,6 +10,8 @@ |
#include "base/basictypes.h" |
+const unsigned int kDefaultPasswordLength = 12; |
+ |
namespace autofill { |
// Class to generate random passwords. Currently we just use a generic algorithm |
@@ -19,13 +21,25 @@ namespace autofill { |
class PasswordGenerator { |
public: |
PasswordGenerator(); |
+ // |max_length| is used as a hint for the generated password's length. |
+ explicit PasswordGenerator(int max_length); |
~PasswordGenerator(); |
- // Returns a random password. The string is guaranteed to be printable and |
- // will not include whitespace characters. |
- std::string Generate(); |
+ // Returns a random password such that: |
+ // (1) Each character is guaranteed to be a non-whitespace printable ASCII |
+ // character. |
+ // (2) The generated password will contain AT LEAST one upper case letter, one |
+ // lower case letter, one digit, and one other symbol. |
+ // (3) The password length will be equal to |password_length_| (see comment |
+ // for the constructor). |
+ std::string Generate() const; |
private: |
+ // The length of the generated password. |
+ int password_length_; |
+ |
+ // A helper function to set the |password_length_| according to |max_length|. |
+ int SetLength(int max_length); |
Ilya Sherman
2012/06/01 19:32:10
nit: Please tuck this into the anonymous namespace
zysxqn
2012/06/01 22:32:54
Done.
|
DISALLOW_COPY_AND_ASSIGN(PasswordGenerator); |
}; |