| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/autofill/core/common/save_password_progress_logger.h" | 5 #include "components/autofill/core/common/save_password_progress_logger.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/json/json_writer.h" | 9 #include "base/json/json_writer.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 21 matching lines...) Expand all Loading... |
| 32 // is not open), that optimizing for code robustness is preferred against speed. | 32 // is not open), that optimizing for code robustness is preferred against speed. |
| 33 // Note 2: The messages can be used as dictionary keys. Do not use '.' in them. | 33 // Note 2: The messages can be used as dictionary keys. Do not use '.' in them. |
| 34 std::string GetStringFromID(SavePasswordProgressLogger::StringID id) { | 34 std::string GetStringFromID(SavePasswordProgressLogger::StringID id) { |
| 35 switch (id) { | 35 switch (id) { |
| 36 case SavePasswordProgressLogger::STRING_DECISION_ASK: | 36 case SavePasswordProgressLogger::STRING_DECISION_ASK: |
| 37 return "Decision: ASK the user"; | 37 return "Decision: ASK the user"; |
| 38 case SavePasswordProgressLogger::STRING_DECISION_DROP: | 38 case SavePasswordProgressLogger::STRING_DECISION_DROP: |
| 39 return "Decision: DROP the password"; | 39 return "Decision: DROP the password"; |
| 40 case SavePasswordProgressLogger::STRING_DECISION_SAVE: | 40 case SavePasswordProgressLogger::STRING_DECISION_SAVE: |
| 41 return "Decision: SAVE the password"; | 41 return "Decision: SAVE the password"; |
| 42 case SavePasswordProgressLogger::STRING_METHOD: | |
| 43 return "Form method"; | |
| 44 case SavePasswordProgressLogger::STRING_METHOD_GET: | |
| 45 return "GET"; | |
| 46 case SavePasswordProgressLogger::STRING_METHOD_POST: | |
| 47 return "POST"; | |
| 48 case SavePasswordProgressLogger::STRING_METHOD_EMPTY: | |
| 49 return "(empty)"; | |
| 50 case SavePasswordProgressLogger::STRING_OTHER: | 42 case SavePasswordProgressLogger::STRING_OTHER: |
| 51 return "(other)"; | 43 return "(other)"; |
| 52 case SavePasswordProgressLogger::STRING_SCHEME_HTML: | 44 case SavePasswordProgressLogger::STRING_SCHEME_HTML: |
| 53 return "HTML"; | 45 return "HTML"; |
| 54 case SavePasswordProgressLogger::STRING_SCHEME_BASIC: | 46 case SavePasswordProgressLogger::STRING_SCHEME_BASIC: |
| 55 return "Basic"; | 47 return "Basic"; |
| 56 case SavePasswordProgressLogger::STRING_SCHEME_DIGEST: | 48 case SavePasswordProgressLogger::STRING_SCHEME_DIGEST: |
| 57 return "Digest"; | 49 return "Digest"; |
| 58 case SavePasswordProgressLogger::STRING_SCHEME_MESSAGE: | 50 case SavePasswordProgressLogger::STRING_SCHEME_MESSAGE: |
| 59 return "Scheme"; | 51 return "Scheme"; |
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 216 case PasswordForm::SCHEME_DIGEST: | 208 case PasswordForm::SCHEME_DIGEST: |
| 217 result_id = SavePasswordProgressLogger::STRING_SCHEME_DIGEST; | 209 result_id = SavePasswordProgressLogger::STRING_SCHEME_DIGEST; |
| 218 break; | 210 break; |
| 219 case PasswordForm::SCHEME_OTHER: | 211 case PasswordForm::SCHEME_OTHER: |
| 220 result_id = SavePasswordProgressLogger::STRING_OTHER; | 212 result_id = SavePasswordProgressLogger::STRING_OTHER; |
| 221 break; | 213 break; |
| 222 } | 214 } |
| 223 return GetStringFromID(result_id); | 215 return GetStringFromID(result_id); |
| 224 } | 216 } |
| 225 | 217 |
| 226 std::string FormMethodToString(const std::string& method) { | |
| 227 std::string method_processed; | |
| 228 base::TrimWhitespaceASCII( | |
| 229 StringToLowerASCII(method), base::TRIM_ALL, &method_processed); | |
| 230 SavePasswordProgressLogger::StringID result_id = | |
| 231 SavePasswordProgressLogger::STRING_OTHER; | |
| 232 if (method_processed.empty()) | |
| 233 result_id = SavePasswordProgressLogger::STRING_METHOD_EMPTY; | |
| 234 else if (method_processed == "get") | |
| 235 result_id = SavePasswordProgressLogger::STRING_METHOD_GET; | |
| 236 else if (method_processed == "post") | |
| 237 result_id = SavePasswordProgressLogger::STRING_METHOD_POST; | |
| 238 return GetStringFromID(result_id); | |
| 239 } | |
| 240 | |
| 241 } // namespace | 218 } // namespace |
| 242 | 219 |
| 243 SavePasswordProgressLogger::SavePasswordProgressLogger() { | 220 SavePasswordProgressLogger::SavePasswordProgressLogger() { |
| 244 } | 221 } |
| 245 | 222 |
| 246 SavePasswordProgressLogger::~SavePasswordProgressLogger() { | 223 SavePasswordProgressLogger::~SavePasswordProgressLogger() { |
| 247 } | 224 } |
| 248 | 225 |
| 249 void SavePasswordProgressLogger::LogPasswordForm( | 226 void SavePasswordProgressLogger::LogPasswordForm( |
| 250 SavePasswordProgressLogger::StringID label, | 227 SavePasswordProgressLogger::StringID label, |
| (...skipping 23 matching lines...) Expand all Loading... |
| 274 log.SetInteger(GetStringFromID(STRING_TIMES_USED), form.times_used); | 251 log.SetInteger(GetStringFromID(STRING_TIMES_USED), form.times_used); |
| 275 log.SetBoolean(GetStringFromID(STRING_USE_ADDITIONAL_AUTHENTICATION), | 252 log.SetBoolean(GetStringFromID(STRING_USE_ADDITIONAL_AUTHENTICATION), |
| 276 form.use_additional_authentication); | 253 form.use_additional_authentication); |
| 277 log.SetBoolean(GetStringFromID(STRING_PSL_MATCH), form.IsPublicSuffixMatch()); | 254 log.SetBoolean(GetStringFromID(STRING_PSL_MATCH), form.IsPublicSuffixMatch()); |
| 278 LogValue(label, log); | 255 LogValue(label, log); |
| 279 } | 256 } |
| 280 | 257 |
| 281 void SavePasswordProgressLogger::LogHTMLForm( | 258 void SavePasswordProgressLogger::LogHTMLForm( |
| 282 SavePasswordProgressLogger::StringID label, | 259 SavePasswordProgressLogger::StringID label, |
| 283 const std::string& name_or_id, | 260 const std::string& name_or_id, |
| 284 const std::string& method, | |
| 285 const GURL& action) { | 261 const GURL& action) { |
| 286 DictionaryValue log; | 262 DictionaryValue log; |
| 287 log.SetString(GetStringFromID(STRING_NAME_OR_ID), ScrubElementID(name_or_id)); | 263 log.SetString(GetStringFromID(STRING_NAME_OR_ID), ScrubElementID(name_or_id)); |
| 288 log.SetString(GetStringFromID(STRING_METHOD), FormMethodToString(method)); | |
| 289 log.SetString(GetStringFromID(STRING_ACTION), ScrubURL(action)); | 264 log.SetString(GetStringFromID(STRING_ACTION), ScrubURL(action)); |
| 290 LogValue(label, log); | 265 LogValue(label, log); |
| 291 } | 266 } |
| 292 | 267 |
| 293 void SavePasswordProgressLogger::LogURL( | 268 void SavePasswordProgressLogger::LogURL( |
| 294 SavePasswordProgressLogger::StringID label, | 269 SavePasswordProgressLogger::StringID label, |
| 295 const GURL& url) { | 270 const GURL& url) { |
| 296 LogValue(label, StringValue(ScrubURL(url))); | 271 LogValue(label, StringValue(ScrubURL(url))); |
| 297 } | 272 } |
| 298 | 273 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 322 | 297 |
| 323 void SavePasswordProgressLogger::LogValue(StringID label, const Value& log) { | 298 void SavePasswordProgressLogger::LogValue(StringID label, const Value& log) { |
| 324 std::string log_string; | 299 std::string log_string; |
| 325 bool conversion_to_string_successful = base::JSONWriter::WriteWithOptions( | 300 bool conversion_to_string_successful = base::JSONWriter::WriteWithOptions( |
| 326 &log, base::JSONWriter::OPTIONS_PRETTY_PRINT, &log_string); | 301 &log, base::JSONWriter::OPTIONS_PRETTY_PRINT, &log_string); |
| 327 DCHECK(conversion_to_string_successful); | 302 DCHECK(conversion_to_string_successful); |
| 328 SendLog(GetStringFromID(label) + ": " + log_string); | 303 SendLog(GetStringFromID(label) + ": " + log_string); |
| 329 } | 304 } |
| 330 | 305 |
| 331 } // namespace autofill | 306 } // namespace autofill |
| OLD | NEW |