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..25732b1d55e615f20ad136a85818df8bc5708b8c 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,14 @@ 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(); |
Ilya Sherman
2014/09/17 18:35:12
Optional nit: Since the condition for this if-stmt
vasilii
2014/09/18 08:54:34
Done.
|
+} |
+ |
} // namespace |
using content::BrowserThread; |
@@ -251,6 +260,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)); |