| Index: chrome/browser/importer/in_process_importer_bridge.cc
|
| diff --git a/chrome/browser/importer/in_process_importer_bridge.cc b/chrome/browser/importer/in_process_importer_bridge.cc
|
| index c5c5927af84fdb7fc309236144633a70690a5ff6..853788ea8c1c3070adcd4aa19b91ba8f82917868 100644
|
| --- a/chrome/browser/importer/in_process_importer_bridge.cc
|
| +++ b/chrome/browser/importer/in_process_importer_bridge.cc
|
| @@ -5,6 +5,7 @@
|
| #include "chrome/browser/importer/in_process_importer_bridge.h"
|
|
|
| #include "base/bind.h"
|
| +#include "base/debug/dump_without_crashing.h"
|
| #include "base/files/file_util.h"
|
| #include "base/strings/string_util.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| @@ -62,6 +63,15 @@ history::VisitSource ConvertImporterVisitSourceToHistoryVisitSource(
|
| return history::SOURCE_SYNCED;
|
| }
|
|
|
| +// 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
|
|
|
| using content::BrowserThread;
|
| @@ -251,6 +261,7 @@ void InProcessImporterBridge::SetFirefoxSearchEnginesXMLData(
|
|
|
| void InProcessImporterBridge::SetPasswordForm(
|
| const autofill::PasswordForm& form) {
|
| + CheckForEmptyUsernameAndPassword(form);
|
| BrowserThread::PostTask(
|
| BrowserThread::UI, FROM_HERE,
|
| base::Bind(&ProfileWriter::AddPasswordForm, writer_, form));
|
|
|