| Index: chrome/utility/importer/external_process_importer_bridge.cc
|
| diff --git a/chrome/utility/importer/external_process_importer_bridge.cc b/chrome/utility/importer/external_process_importer_bridge.cc
|
| index 56c82be6be74ae495eaf62bf382dbb9fd5944d2d..fcfc61f20b1a4331d8a5ae2f4cf7a6f707e65164 100644
|
| --- a/chrome/utility/importer/external_process_importer_bridge.cc
|
| +++ b/chrome/utility/importer/external_process_importer_bridge.cc
|
| @@ -5,6 +5,7 @@
|
| #include "chrome/utility/importer/external_process_importer_bridge.h"
|
|
|
| #include "base/bind.h"
|
| +#include "base/debug/dump_without_crashing.h"
|
| #include "base/logging.h"
|
| #include "base/strings/string_number_conversions.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| @@ -26,7 +27,16 @@ const int kNumBookmarksToSend = 100;
|
| const int kNumHistoryRowsToSend = 100;
|
| const int kNumFaviconsToSend = 100;
|
| const int kNumAutofillFormDataToSend = 100;
|
| +
|
| +// http://crbug.com/404012. Let's see where the empty fields come from.
|
| +void CheckForEmptyUsernameAndPassword(const autofill::PasswordForm& form) {
|
| + if (form.username_value.empty() &&
|
| + form.password_value.empty() &&
|
| + !form.blacklisted_by_user) {
|
| + base::debug::DumpWithoutCrashing();
|
| + }
|
| }
|
| +} // namespace
|
|
|
| ExternalProcessImporterBridge::ExternalProcessImporterBridge(
|
| const base::DictionaryValue& localized_strings,
|
| @@ -138,6 +148,7 @@ void ExternalProcessImporterBridge::SetFirefoxSearchEnginesXMLData(
|
|
|
| void ExternalProcessImporterBridge::SetPasswordForm(
|
| const autofill::PasswordForm& form) {
|
| + CheckForEmptyUsernameAndPassword(form);
|
| Send(new ProfileImportProcessHostMsg_NotifyPasswordFormReady(form));
|
| }
|
|
|
|
|