Index: chrome/browser/password_manager/native_backend_kwallet_x_unittest.cc |
diff --git a/chrome/browser/password_manager/native_backend_kwallet_x_unittest.cc b/chrome/browser/password_manager/native_backend_kwallet_x_unittest.cc |
index ac77b99e874fb810d4e1e4fe9a0a5b9046499253..ac64487d7356653181ad56d065018e6995d6d014 100644 |
--- a/chrome/browser/password_manager/native_backend_kwallet_x_unittest.cc |
+++ b/chrome/browser/password_manager/native_backend_kwallet_x_unittest.cc |
@@ -246,7 +246,6 @@ void NativeBackendKWalletTestBase::CheckPasswordForm( |
EXPECT_EQ(expected.password_element, actual.password_element); |
EXPECT_EQ(expected.submit_element, actual.submit_element); |
EXPECT_EQ(expected.signon_realm, actual.signon_realm); |
- EXPECT_EQ(expected.ssl_valid, actual.ssl_valid); |
EXPECT_EQ(expected.preferred, actual.preferred); |
if (check_date_created) { |
EXPECT_EQ(expected.date_created, actual.date_created); |
@@ -1172,6 +1171,7 @@ class NativeBackendKWalletPickleTest : public NativeBackendKWalletTestBase { |
void CreateVersion0Pickle(bool size_32, |
const PasswordForm& form, |
base::Pickle* pickle); |
+ void CheckVersion9Pickle(); |
void CheckVersion8Pickle(); |
void CheckVersion7Pickle(); |
// As explained in http://crbug.com/494229#c11, version 6 added a new optional |
@@ -1194,7 +1194,8 @@ void NativeBackendKWalletPickleTest::CreateVersion1PlusPickle( |
pickle->WriteInt(stored_version); |
pickle->WriteUInt64(1); // Number of forms in the pickle. |
WriteHTMLAttributes(form, pickle); |
- pickle->WriteBool(form.ssl_valid); |
+ if (effective_version < 9) |
+ pickle->WriteBool(true); // Unused flag. |
WritePreferenceMetadata(form, pickle); |
pickle->WriteInt64(form.date_created.ToInternalValue()); |
if (effective_version < 2) |
@@ -1227,12 +1228,28 @@ void NativeBackendKWalletPickleTest::CreateVersion0Pickle( |
else |
pickle->WriteUInt64(1); |
WriteHTMLAttributes(form, pickle); |
- pickle->WriteBool(form.ssl_valid); |
+ pickle->WriteBool(true); // Unused flag. |
WritePreferenceMetadata(form, pickle); |
// Old way to store the date. |
pickle->WriteInt64(form.date_created.ToTimeT()); |
} |
+void NativeBackendKWalletPickleTest::CheckVersion9Pickle() { |
+ // Pickle 9+ dropped an old flag in the middle of PasswordForm. This test |
+ // makes sure that the attributes after the dropped flag are deserialised |
+ // correctly. |
+ base::Pickle pickle; |
+ PasswordForm default_values; |
+ PasswordForm form = form_google_; |
+ |
+ CreateVersion1PlusPickle(form, &pickle, 9, 9); |
+ ScopedVector<PasswordForm> form_list = |
+ NativeBackendKWalletStub::DeserializeValue(form.signon_realm, pickle); |
+ EXPECT_EQ(1u, form_list.size()); |
+ if (form_list.size() > 0) |
+ CheckPasswordForm(form, *form_list[0], true); |
+} |
+ |
void NativeBackendKWalletPickleTest::CheckVersion8Pickle() { |
base::Pickle pickle; |
PasswordForm default_values; |
@@ -1415,3 +1432,7 @@ TEST_F(NativeBackendKWalletPickleTest, CheckVersion7Pickle) { |
TEST_F(NativeBackendKWalletPickleTest, CheckVersion8Pickle) { |
CheckVersion8Pickle(); |
} |
+ |
+TEST_F(NativeBackendKWalletPickleTest, CheckVersion9Pickle) { |
+ CheckVersion9Pickle(); |
+} |