New DtlsIdentityStoreInterface::RequestIdentity added that takes rtc::KeyParams. The old RequestIdentity still exists that take rtc::KeyType.

Default implementation added that invokes the other RequestIdentity method, adding default parameters or dropping the parameters.

This CL is in preparation for removing the RequestIdentity that takes rtc::KeyType, necessary as to not break Chromium.

BUG=webrtc:4927, 528250

Review URL: https://codereview.webrtc.org/1414243003

Cr-Commit-Position: refs/heads/master@{#10351}
diff --git a/talk/app/webrtc/dtlsidentitystore.h b/talk/app/webrtc/dtlsidentitystore.h
index 3d4a078..a0eef98 100644
--- a/talk/app/webrtc/dtlsidentitystore.h
+++ b/talk/app/webrtc/dtlsidentitystore.h
@@ -72,9 +72,24 @@
 
   // The |observer| will be called when the requested identity is ready, or when
   // identity generation fails.
+  // TODO(torbjorng,hbos): The following RequestIdentity is about to be removed,
+  // see below todo.
   virtual void RequestIdentity(
       rtc::KeyType key_type,
-      const rtc::scoped_refptr<DtlsIdentityRequestObserver>& observer) = 0;
+      const rtc::scoped_refptr<DtlsIdentityRequestObserver>& observer) {
+    // Add default parameterization.
+    RequestIdentity(rtc::KeyParams(key_type), observer);
+  }
+  // TODO(torbjorng,hbos): Parameterized key types! The following
+  // RequestIdentity should replace the old one that takes rtc::KeyType. When
+  // the new one is implemented by Chromium and WebRTC the old one should be
+  // removed. crbug.com/544902, webrtc:5092.
+  virtual void RequestIdentity(
+      rtc::KeyParams key_params,
+      const rtc::scoped_refptr<DtlsIdentityRequestObserver>& observer) {
+    // Drop parameterization.
+    RequestIdentity(key_params.type(), observer);
+  }
 };
 
 // The WebRTC default implementation of DtlsIdentityStoreInterface.