| Index: talk/app/webrtc/dtlsidentitystore_unittest.cc
 | 
| diff --git a/talk/app/webrtc/dtlsidentitystore_unittest.cc b/talk/app/webrtc/dtlsidentitystore_unittest.cc
 | 
| index c0b204a85f9d93de9cff2ae1059fd21969a7dea3..370b3687363e4679efbfe125f7c3fe4f1b18ca28 100644
 | 
| --- a/talk/app/webrtc/dtlsidentitystore_unittest.cc
 | 
| +++ b/talk/app/webrtc/dtlsidentitystore_unittest.cc
 | 
| @@ -32,13 +32,13 @@
 | 
|  #include "webrtc/base/logging.h"
 | 
|  #include "webrtc/base/ssladapter.h"
 | 
|  
 | 
| -using webrtc::DtlsIdentityStore;
 | 
| +using webrtc::DtlsIdentityStoreImpl;
 | 
|  using webrtc::WebRtcSessionDescriptionFactory;
 | 
|  
 | 
|  static const int kTimeoutMs = 10000;
 | 
|  
 | 
|  class MockDtlsIdentityRequestObserver :
 | 
| -    public webrtc::DTLSIdentityRequestObserver {
 | 
| +    public webrtc::DtlsIdentityRequestObserver {
 | 
|   public:
 | 
|    MockDtlsIdentityRequestObserver()
 | 
|        : call_back_called_(false), last_request_success_(false) {}
 | 
| @@ -81,8 +81,8 @@ class DtlsIdentityStoreTest : public testing::Test {
 | 
|   protected:
 | 
|    DtlsIdentityStoreTest()
 | 
|        : worker_thread_(new rtc::Thread()),
 | 
| -        store_(new DtlsIdentityStore(rtc::Thread::Current(),
 | 
| -                                     worker_thread_.get())),
 | 
| +        store_(new DtlsIdentityStoreImpl(rtc::Thread::Current(),
 | 
| +                                         worker_thread_.get())),
 | 
|          observer_(
 | 
|              new rtc::RefCountedObject<MockDtlsIdentityRequestObserver>()) {
 | 
|      CHECK(worker_thread_->Start());
 | 
| @@ -98,14 +98,14 @@ class DtlsIdentityStoreTest : public testing::Test {
 | 
|    }
 | 
|  
 | 
|    rtc::scoped_ptr<rtc::Thread> worker_thread_;
 | 
| -  rtc::scoped_ptr<DtlsIdentityStore> store_;
 | 
| +  rtc::scoped_ptr<DtlsIdentityStoreImpl> store_;
 | 
|    rtc::scoped_refptr<MockDtlsIdentityRequestObserver> observer_;
 | 
|  };
 | 
|  
 | 
| -TEST_F(DtlsIdentityStoreTest, RequestIdentitySuccess) {
 | 
| +TEST_F(DtlsIdentityStoreTest, RequestIdentitySuccessRSA) {
 | 
|    EXPECT_TRUE_WAIT(store_->HasFreeIdentityForTesting(), kTimeoutMs);
 | 
|  
 | 
| -  store_->RequestIdentity(observer_.get());
 | 
| +  store_->RequestIdentity(rtc::KT_RSA, observer_.get());
 | 
|    EXPECT_TRUE_WAIT(observer_->LastRequestSucceeded(), kTimeoutMs);
 | 
|  
 | 
|    EXPECT_TRUE_WAIT(store_->HasFreeIdentityForTesting(), kTimeoutMs);
 | 
| @@ -113,15 +113,41 @@ TEST_F(DtlsIdentityStoreTest, RequestIdentitySuccess) {
 | 
|    observer_->Reset();
 | 
|  
 | 
|    // Verifies that the callback is async when a free identity is ready.
 | 
| -  store_->RequestIdentity(observer_.get());
 | 
| +  store_->RequestIdentity(rtc::KT_RSA, observer_.get());
 | 
|    EXPECT_FALSE(observer_->call_back_called());
 | 
|    EXPECT_TRUE_WAIT(observer_->LastRequestSucceeded(), kTimeoutMs);
 | 
|  }
 | 
|  
 | 
| -TEST_F(DtlsIdentityStoreTest, DeleteStoreEarlyNoCrash) {
 | 
| +TEST_F(DtlsIdentityStoreTest, RequestIdentitySuccessECDSA) {
 | 
| +  EXPECT_TRUE_WAIT(store_->HasFreeIdentityForTesting(), kTimeoutMs);
 | 
| +
 | 
| +  store_->RequestIdentity(rtc::KT_ECDSA, observer_.get());
 | 
| +  EXPECT_TRUE_WAIT(observer_->LastRequestSucceeded(), kTimeoutMs);
 | 
| +
 | 
| +  EXPECT_TRUE_WAIT(store_->HasFreeIdentityForTesting(), kTimeoutMs);
 | 
| +
 | 
| +  observer_->Reset();
 | 
| +
 | 
| +  // Verifies that the callback is async when a free identity is ready.
 | 
| +  store_->RequestIdentity(rtc::KT_RSA, observer_.get());
 | 
| +  EXPECT_FALSE(observer_->call_back_called());
 | 
| +  EXPECT_TRUE_WAIT(observer_->LastRequestSucceeded(), kTimeoutMs);
 | 
| +}
 | 
| +
 | 
| +TEST_F(DtlsIdentityStoreTest, DeleteStoreEarlyNoCrashRSA) {
 | 
| +  EXPECT_FALSE(store_->HasFreeIdentityForTesting());
 | 
| +
 | 
| +  store_->RequestIdentity(rtc::KT_RSA, observer_.get());
 | 
| +  store_.reset();
 | 
| +
 | 
| +  worker_thread_->Stop();
 | 
| +  EXPECT_FALSE(observer_->call_back_called());
 | 
| +}
 | 
| +
 | 
| +TEST_F(DtlsIdentityStoreTest, DeleteStoreEarlyNoCrashECDSA) {
 | 
|    EXPECT_FALSE(store_->HasFreeIdentityForTesting());
 | 
|  
 | 
| -  store_->RequestIdentity(observer_.get());
 | 
| +  store_->RequestIdentity(rtc::KT_ECDSA, observer_.get());
 | 
|    store_.reset();
 | 
|  
 | 
|    worker_thread_->Stop();
 | 
| 
 |