| Index: chrome/browser/password_manager/native_backend_gnome_x_unittest.cc
|
| diff --git a/chrome/browser/password_manager/native_backend_gnome_x_unittest.cc b/chrome/browser/password_manager/native_backend_gnome_x_unittest.cc
|
| index 5de4972a4ada113ae85dc5d24083af4f1358e610..c5f28c485acccda8bf3f6997c6cc71f5f813fe32 100644
|
| --- a/chrome/browser/password_manager/native_backend_gnome_x_unittest.cc
|
| +++ b/chrome/browser/password_manager/native_backend_gnome_x_unittest.cc
|
| @@ -912,6 +912,35 @@ TEST_F(NativeBackendGnomeTest, BasicRemoveLogin) {
|
| EXPECT_EQ(0u, mock_keyring_items.size());
|
| }
|
|
|
| +// Verify fix for http://crbug.com/408783.
|
| +TEST_F(NativeBackendGnomeTest, RemoveLoginActionMismatch) {
|
| + NativeBackendGnome backend(42);
|
| + backend.Init();
|
| +
|
| + BrowserThread::PostTask(
|
| + BrowserThread::DB, FROM_HERE,
|
| + base::Bind(base::IgnoreResult(&NativeBackendGnome::AddLogin),
|
| + base::Unretained(&backend), form_google_));
|
| +
|
| + RunBothThreads();
|
| +
|
| + EXPECT_EQ(1u, mock_keyring_items.size());
|
| + if (mock_keyring_items.size() > 0)
|
| + CheckMockKeyringItem(&mock_keyring_items[0], form_google_, "chrome-42");
|
| +
|
| + // Action url match not required for removal.
|
| + form_google_.action = GURL("https://some.other.url.com/path");
|
| +
|
| + BrowserThread::PostTask(
|
| + BrowserThread::DB, FROM_HERE,
|
| + base::Bind(base::IgnoreResult(&NativeBackendGnome::RemoveLogin),
|
| + base::Unretained(&backend), form_google_));
|
| +
|
| + RunBothThreads();
|
| +
|
| + EXPECT_EQ(0u, mock_keyring_items.size());
|
| +}
|
| +
|
| TEST_F(NativeBackendGnomeTest, RemoveNonexistentLogin) {
|
| NativeBackendGnome backend(42);
|
| backend.Init();
|
|
|