summaryrefslogtreecommitdiffstats
path: root/chrome/browser/net/connection_tester_unittest.cc
diff options
context:
space:
mode:
authorrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-10 04:16:25 +0000
committerrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-10 04:16:25 +0000
commit62635c758fce2b22a1cf5acdc57579bb5801b2e3 (patch)
tree4085d65bbf01078b722cbcef5930e157d7f793be /chrome/browser/net/connection_tester_unittest.cc
parentd7f6e73fb05992d784e55df2a1ed25924b5d79f3 (diff)
downloadchromium_src-62635c758fce2b22a1cf5acdc57579bb5801b2e3.zip
chromium_src-62635c758fce2b22a1cf5acdc57579bb5801b2e3.tar.gz
chromium_src-62635c758fce2b22a1cf5acdc57579bb5801b2e3.tar.bz2
Define a new CertDatabase::Observer abstract class which can be implemented by classes which wish to be notified when a new ssl client cert is added.
Register SpdySessionPool, SocketPoolManager and SSLClientAuthCache as observers. Notify observers in CertDatabase::AddUserCert(); BUG=75326 Review URL: http://codereview.chromium.org/6588014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77599 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/net/connection_tester_unittest.cc')
-rw-r--r--chrome/browser/net/connection_tester_unittest.cc18
1 files changed, 11 insertions, 7 deletions
diff --git a/chrome/browser/net/connection_tester_unittest.cc b/chrome/browser/net/connection_tester_unittest.cc
index 2732a9e..4192495 100644
--- a/chrome/browser/net/connection_tester_unittest.cc
+++ b/chrome/browser/net/connection_tester_unittest.cc
@@ -84,15 +84,22 @@ class ConnectionTesterDelegate : public ConnectionTester::Delegate {
class ConnectionTesterTest : public PlatformTest {
public:
ConnectionTesterTest()
- : test_server_(net::TestServer::TYPE_HTTP,
+ : message_loop_(MessageLoop::TYPE_IO),
+ io_thread_(BrowserThread::IO, &message_loop_),
+ test_server_(net::TestServer::TYPE_HTTP,
FilePath(FILE_PATH_LITERAL("net/data/url_request_unittest"))),
- proxy_script_fetcher_context_(new net::URLRequestContext),
- message_loop_(MessageLoop::TYPE_IO),
- io_thread_(BrowserThread::IO, &message_loop_) {
+ proxy_script_fetcher_context_(new net::URLRequestContext) {
InitializeRequestContext();
}
protected:
+ // Destroy last the MessageLoop last to give a chance for objects like
+ // ObserverListThreadSave to shut down properly. For example,
+ // SSLClientAuthCache calls RemoveObserver when destroyed, but if the
+ // MessageLoop is already destroyed, then the RemoveObserver will be a
+ // no-op, and the ObserverList will contain invalid entries.
+ MessageLoop message_loop_;
+ BrowserThread io_thread_;
net::TestServer test_server_;
ConnectionTesterDelegate test_delegate_;
net::MockHostResolver host_resolver_;
@@ -131,9 +138,6 @@ class ConnectionTesterTest : public PlatformTest {
proxy_script_fetcher_context_->set_cookie_store(
new net::CookieMonster(NULL, NULL));
}
-
- MessageLoop message_loop_;
- BrowserThread io_thread_;
};
TEST_F(ConnectionTesterTest, RunAllTests) {