| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <windows.h> | 5 #include <windows.h> |
| 6 #include <string> | 6 #include <string> |
| 7 #include <vector> | 7 #include <vector> |
| 8 #include <wincrypt.h> | 8 #include <wincrypt.h> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 ASSERT_TRUE(login_db_->Init(temp_dir_.path().Append( | 113 ASSERT_TRUE(login_db_->Init(temp_dir_.path().Append( |
| 114 FILE_PATH_LITERAL("login_test")))); | 114 FILE_PATH_LITERAL("login_test")))); |
| 115 | 115 |
| 116 wds_ = new WebDataService(); | 116 wds_ = new WebDataService(); |
| 117 ASSERT_TRUE(wds_->Init(temp_dir_.path())); | 117 ASSERT_TRUE(wds_->Init(temp_dir_.path())); |
| 118 } | 118 } |
| 119 | 119 |
| 120 virtual void TearDown() { | 120 virtual void TearDown() { |
| 121 if (store_.get()) | 121 if (store_.get()) |
| 122 store_->ShutdownOnUIThread(); | 122 store_->ShutdownOnUIThread(); |
| 123 if (wds_.get()) | 123 wds_->ShutdownOnUIThread(); |
| 124 wds_->Shutdown(); | 124 wds_ = NULL; |
| 125 base::WaitableEvent done(false, false); |
| 126 BrowserThread::PostTask(BrowserThread::DB, FROM_HERE, |
| 127 base::Bind(&base::WaitableEvent::Signal, base::Unretained(&done))); |
| 128 done.Wait(); |
| 125 MessageLoop::current()->PostTask(FROM_HERE, MessageLoop::QuitClosure()); | 129 MessageLoop::current()->PostTask(FROM_HERE, MessageLoop::QuitClosure()); |
| 126 MessageLoop::current()->Run(); | 130 MessageLoop::current()->Run(); |
| 127 db_thread_.Stop(); | 131 db_thread_.Stop(); |
| 128 } | 132 } |
| 129 | 133 |
| 130 MessageLoopForUI message_loop_; | 134 MessageLoopForUI message_loop_; |
| 131 content::TestBrowserThread ui_thread_; | 135 content::TestBrowserThread ui_thread_; |
| 132 // PasswordStore, WDS schedule work on this thread. | 136 // PasswordStore, WDS schedule work on this thread. |
| 133 content::TestBrowserThread db_thread_; | 137 content::TestBrowserThread db_thread_; |
| 134 | 138 |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 243 true, false, 1, | 247 true, false, 1, |
| 244 }; | 248 }; |
| 245 scoped_ptr<PasswordForm> form(CreatePasswordFormFromData(form_data)); | 249 scoped_ptr<PasswordForm> form(CreatePasswordFormFromData(form_data)); |
| 246 | 250 |
| 247 MockPasswordStoreConsumer consumer; | 251 MockPasswordStoreConsumer consumer; |
| 248 store_->GetLogins(*form, &consumer); | 252 store_->GetLogins(*form, &consumer); |
| 249 | 253 |
| 250 // Release the PSW and the WDS before the query can return. | 254 // Release the PSW and the WDS before the query can return. |
| 251 store_->ShutdownOnUIThread(); | 255 store_->ShutdownOnUIThread(); |
| 252 store_ = NULL; | 256 store_ = NULL; |
| 253 wds_->Shutdown(); | |
| 254 wds_ = NULL; | 257 wds_ = NULL; |
| 255 | 258 |
| 256 MessageLoop::current()->RunAllPending(); | 259 MessageLoop::current()->RunAllPending(); |
| 257 } | 260 } |
| 258 | 261 |
| 259 // Hangs flakily, see http://crbug.com/43836. | 262 // Hangs flakily, see http://crbug.com/43836. |
| 260 TEST_F(PasswordStoreWinTest, DISABLED_MultipleWDSQueriesOnDifferentThreads) { | 263 TEST_F(PasswordStoreWinTest, DISABLED_MultipleWDSQueriesOnDifferentThreads) { |
| 261 IE7PasswordInfo password_info; | 264 IE7PasswordInfo password_info; |
| 262 ASSERT_TRUE(CreateIE7PasswordInfo(L"http://example.com/origin", | 265 ASSERT_TRUE(CreateIE7PasswordInfo(L"http://example.com/origin", |
| 263 base::Time::FromDoubleT(1), | 266 base::Time::FromDoubleT(1), |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 403 | 406 |
| 404 VectorOfForms expect_none; | 407 VectorOfForms expect_none; |
| 405 // expect that we get no results; | 408 // expect that we get no results; |
| 406 EXPECT_CALL(consumer, OnPasswordStoreRequestDone( | 409 EXPECT_CALL(consumer, OnPasswordStoreRequestDone( |
| 407 _, ContainsAllPasswordForms(expect_none))) | 410 _, ContainsAllPasswordForms(expect_none))) |
| 408 .WillOnce(DoAll(WithArg<1>(STLDeleteElements0()), QuitUIMessageLoop())); | 411 .WillOnce(DoAll(WithArg<1>(STLDeleteElements0()), QuitUIMessageLoop())); |
| 409 | 412 |
| 410 store_->GetAutofillableLogins(&consumer); | 413 store_->GetAutofillableLogins(&consumer); |
| 411 MessageLoop::current()->Run(); | 414 MessageLoop::current()->Run(); |
| 412 } | 415 } |
| OLD | NEW |