summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvasilii <vasilii@chromium.org>2014-11-06 17:22:20 -0800
committerCommit bot <commit-bot@chromium.org>2014-11-07 01:23:21 +0000
commitf714afc10a31c42f24f2df68f65189f863ac3680 (patch)
treea33327f5e56a0b372950b1e9bca45a7c4e3e1972
parentfaaaa45b2b73ff51ab6b9ad98ebe39e452f324e1 (diff)
downloadchromium_src-f714afc10a31c42f24f2df68f65189f863ac3680.zip
chromium_src-f714afc10a31c42f24f2df68f65189f863ac3680.tar.gz
chromium_src-f714afc10a31c42f24f2df68f65189f863ac3680.tar.bz2
Don't import empty passwords from Firefox.
BUG=404012 Review URL: https://codereview.chromium.org/698883003 Cr-Commit-Position: refs/heads/master@{#303147}
-rw-r--r--chrome/browser/importer/firefox_importer_browsertest.cc10
-rw-r--r--chrome/test/data/firefox35_profile/signons.sqlitebin11264 -> 11264 bytes
-rw-r--r--chrome/test/data/firefox3_profile/signons3.txt33
-rw-r--r--chrome/test/data/firefox_profile/signons.sqlitebin11264 -> 11264 bytes
-rw-r--r--chrome/utility/importer/external_process_importer_bridge.cc9
-rw-r--r--chrome/utility/importer/firefox_importer.cc6
6 files changed, 47 insertions, 11 deletions
diff --git a/chrome/browser/importer/firefox_importer_browsertest.cc b/chrome/browser/importer/firefox_importer_browsertest.cc
index 2bd2af1..0076597 100644
--- a/chrome/browser/importer/firefox_importer_browsertest.cc
+++ b/chrome/browser/importer/firefox_importer_browsertest.cc
@@ -67,10 +67,18 @@ const BookmarkInfo kFirefoxBookmarks[] = {
};
const PasswordInfo kFirefoxPasswords[] = {
+ {"http://blacklist.com/", "", "http://blacklist.com/",
+ "", "", "", "", true},
{"http://localhost:8080/", "http://localhost:8080/", "http://localhost:8080/",
"loginuser", "abc", "loginpass", "123", false},
{"http://localhost:8080/", "", "http://localhost:8080/localhost",
- "", "http", "", "Http1+1abcdefg", false},
+ "", "http", "", "Http1+1abcdefg", false},
+ {"http://server.com:1234/", "", "http://server.com:1234/http_realm",
+ "loginuser", "user", "loginpass", "password", false},
+ {"http://server.com:4321/", "", "http://server.com:4321/http_realm",
+ "loginuser", "user", "loginpass", "", false},
+ {"http://server.com:4321/", "", "http://server.com:4321/http_realm",
+ "loginuser", "", "loginpass", "password", false},
};
const KeywordInfo kFirefoxKeywords[] = {
diff --git a/chrome/test/data/firefox35_profile/signons.sqlite b/chrome/test/data/firefox35_profile/signons.sqlite
index b3e0aa0..0984513 100644
--- a/chrome/test/data/firefox35_profile/signons.sqlite
+++ b/chrome/test/data/firefox35_profile/signons.sqlite
Binary files differ
diff --git a/chrome/test/data/firefox3_profile/signons3.txt b/chrome/test/data/firefox3_profile/signons3.txt
index 62cf2c8..68cee91 100644
--- a/chrome/test/data/firefox3_profile/signons3.txt
+++ b/chrome/test/data/firefox3_profile/signons3.txt
@@ -1,4 +1,5 @@
#2e
+http://blacklist.com
.
http://localhost:8080
loginuser
@@ -16,3 +17,35 @@ MDoEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECFckjT05RJ8uBBCWqEqv8ciEPf+Q8Fpgbtpf
---
.
+http://server.com:1234 (http_realm)
+loginuser
+~
+*loginpass
+~
+
+---
+.
+http://server.com:1234 (http_realm)
+loginuser
+~dXNlcg==
+*loginpass
+~cGFzc3dvcmQ=
+
+---
+.
+http://server.com:4321 (http_realm)
+loginuser
+~dXNlcg==
+*loginpass
+~
+
+---
+.
+http://server.com:4321 (http_realm)
+loginuser
+~
+*loginpass
+~cGFzc3dvcmQ=
+
+---
+.
diff --git a/chrome/test/data/firefox_profile/signons.sqlite b/chrome/test/data/firefox_profile/signons.sqlite
index b3e0aa0..0984513 100644
--- a/chrome/test/data/firefox_profile/signons.sqlite
+++ b/chrome/test/data/firefox_profile/signons.sqlite
Binary files differ
diff --git a/chrome/utility/importer/external_process_importer_bridge.cc b/chrome/utility/importer/external_process_importer_bridge.cc
index fcfc61f..0ea6971 100644
--- a/chrome/utility/importer/external_process_importer_bridge.cc
+++ b/chrome/utility/importer/external_process_importer_bridge.cc
@@ -28,14 +28,6 @@ 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(
@@ -148,7 +140,6 @@ void ExternalProcessImporterBridge::SetFirefoxSearchEnginesXMLData(
void ExternalProcessImporterBridge::SetPasswordForm(
const autofill::PasswordForm& form) {
- CheckForEmptyUsernameAndPassword(form);
Send(new ProfileImportProcessHostMsg_NotifyPasswordFormReady(form));
}
diff --git a/chrome/utility/importer/firefox_importer.cc b/chrome/utility/importer/firefox_importer.cc
index fdb14cd..728f51d 100644
--- a/chrome/utility/importer/firefox_importer.cc
+++ b/chrome/utility/importer/firefox_importer.cc
@@ -370,7 +370,11 @@ void FirefoxImporter::ImportPasswords() {
if (!cancelled()) {
for (size_t i = 0; i < forms.size(); ++i) {
- bridge_->SetPasswordForm(forms[i]);
+ if (!forms[i].username_value.empty() ||
+ !forms[i].password_value.empty() ||
+ forms[i].blacklisted_by_user) {
+ bridge_->SetPasswordForm(forms[i]);
+ }
}
}
}