| 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..7c2f3d44f96fb223c75454f5de5fd206f64a887f 100644
|
| --- a/chrome/browser/autofill/password_generator.h
|
| +++ b/chrome/browser/autofill/password_generator.h
|
| @@ -9,6 +9,7 @@
|
| #include <string>
|
|
|
| #include "base/basictypes.h"
|
| +#include "base/gtest_prod_util.h"
|
|
|
| namespace autofill {
|
|
|
| @@ -18,14 +19,26 @@ namespace autofill {
|
| // previous generated passwords, crowdsourcing, etc.)
|
| class PasswordGenerator {
|
| public:
|
| - PasswordGenerator();
|
| + // |max_length| is used as a hint for the generated password's length.
|
| + explicit PasswordGenerator(size_t 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:
|
| + // Unit test also need to access |kDefaultPasswordLength|.
|
| + static const size_t kDefaultPasswordLength;
|
| + FRIEND_TEST_ALL_PREFIXES(PasswordGeneratorTest, PasswordLength);
|
| +
|
| + // The length of the generated password.
|
| + const size_t password_length_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(PasswordGenerator);
|
| };
|
|
|