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

Unified Diff: components/autofill/core/common/save_password_progress_logger.h

Issue 235623002: Password manager internals page: Improve security (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Pass a string16 by a const ref Created 6 years, 8 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: components/autofill/core/common/save_password_progress_logger.h
diff --git a/components/autofill/core/common/save_password_progress_logger.h b/components/autofill/core/common/save_password_progress_logger.h
index 9df99080152f6479ab5d61aeaee518a491ab7d68..d5b98ad6edf4f980cd94996ed4068ef9b1f7894a 100644
--- a/components/autofill/core/common/save_password_progress_logger.h
+++ b/components/autofill/core/common/save_password_progress_logger.h
@@ -32,38 +32,63 @@ struct PasswordForm;
// to stay in autofill as well.
class SavePasswordProgressLogger {
public:
- // All three possible decisions about saving a password. Call LogFinalDecision
- // as soon as one is taken by the password management code.
- enum Decision { DECISION_SAVE, DECISION_ASK, DECISION_DROP };
+ // IDs of strings allowed in the logs: for security reasons, we only pass the
+ // IDs from the renderer, and map them to strings in the browser.
+ enum StringID {
+ STRING_DECISION_ASK,
+ STRING_DECISION_DROP,
+ STRING_DECISION_SAVE,
+ STRING_METHOD,
+ STRING_METHOD_GET,
+ STRING_METHOD_POST,
+ STRING_METHOD_EMPTY,
+ STRING_OTHER,
+ STRING_SCHEME_HTML,
+ STRING_SCHEME_BASIC,
+ STRING_SCHEME_DIGEST,
+ STRING_SCHEME_MESSAGE,
+ STRING_SIGNON_REALM,
+ STRING_ORIGINAL_SIGNON_REALM,
+ STRING_ORIGIN,
+ STRING_ACTION,
+ STRING_USERNAME_ELEMENT,
+ STRING_PASSWORD_ELEMENT,
+ STRING_PASSWORD_AUTOCOMPLETE_SET,
+ STRING_OLD_PASSWORD_ELEMENT,
+ STRING_SSL_VALID,
+ STRING_PASSWORD_GENERATED,
+ STRING_TIMES_USED,
+ STRING_USE_ADDITIONAL_AUTHENTICATION,
+ STRING_PSL_MATCH,
+ STRING_NAME_OR_ID,
+ STRING_MESSAGE,
+ STRING_INVALID, // Represents a string returned in a case of an error.
+ STRING_MAX = STRING_INVALID
+ };
SavePasswordProgressLogger();
virtual ~SavePasswordProgressLogger();
- // Logging: specialized methods (for logging forms, URLs, etc.) take care of
- // proper removing of sensitive data where appropriate.
- void LogPasswordForm(const std::string& message,
- const autofill::PasswordForm& form);
- void LogHTMLForm(const std::string& message,
+ // Call these methods to log information. They sanitize the input and call
+ // SendLog to pass it for display.
+ void LogPasswordForm(StringID label, const autofill::PasswordForm& form);
+ void LogHTMLForm(StringID label,
const std::string& name_or_id,
const std::string& method,
const GURL& action);
- void LogURL(const std::string& message, const GURL& url);
- void LogBoolean(const std::string& message, bool value);
- void LogNumber(const std::string& message, int value);
- void LogNumber(const std::string& message, size_t value);
- void LogFinalDecision(Decision decision);
- // Do not use LogMessage when there is an appropriate specialized method
- // above. LogMessage performs no scrubbing of sensitive data.
- void LogMessage(const std::string& message);
+ void LogURL(StringID label, const GURL& url);
+ void LogBoolean(StringID label, bool truth_value);
+ void LogNumber(StringID label, int signed_number);
+ void LogNumber(StringID label, size_t unsigned_number);
+ void LogMessage(StringID message);
protected:
// Sends |log| immediately for display.
virtual void SendLog(const std::string& log) = 0;
private:
- // Takes a structured |log|, converts it to a string suitable for plain text
- // output, adds the |name| as a caption, and sends out via SendLog.
- void LogValue(const std::string& name, const base::Value& log);
+ // Converts |log| and its |label| to a string and calls SendLog on the result.
+ void LogValue(StringID label, const base::Value& log);
DISALLOW_COPY_AND_ASSIGN(SavePasswordProgressLogger);
};

Powered by Google App Engine
This is Rietveld 408576698