Chromium Code Reviews| Index: content/renderer/media/rtc_certificate_generator.cc | 
| diff --git a/content/renderer/media/rtc_certificate_generator.cc b/content/renderer/media/rtc_certificate_generator.cc | 
| index 83e17cb8dbedfee14495cd1f28e433ef7b950ab1..0969f1905baed85780c491370a21900309ef9830 100644 | 
| --- a/content/renderer/media/rtc_certificate_generator.cc | 
| +++ b/content/renderer/media/rtc_certificate_generator.cc | 
| @@ -55,6 +55,7 @@ class RTCCertificateIdentityObserver | 
| const blink::WebRTCKeyParams& key_params, | 
| const GURL& url, | 
| const GURL& first_party_for_cookies, | 
| + const rtc::Optional<uint64_t>& expires_ms, | 
| blink::WebCallbacks<blink::WebRTCCertificate*, void>* observer) { | 
| DCHECK(main_thread_->BelongsToCurrentThread()); | 
| DCHECK(!observer_) << "Already have a RequestIdentity in progress."; | 
| @@ -64,20 +65,22 @@ class RTCCertificateIdentityObserver | 
| // Identity request must be performed on the WebRTC signaling thread. | 
| signaling_thread_->PostTask(FROM_HERE, base::Bind( | 
| &RTCCertificateIdentityObserver::RequestIdentityOnWebRtcSignalingThread, | 
| - this, url, first_party_for_cookies)); | 
| + this, url, first_party_for_cookies, expires_ms)); | 
| 
 
hbos_chromium
2016/03/08 15:02:10
(I'm purposefully using the copy constructor here
 
 | 
| } | 
| private: | 
| void RequestIdentityOnWebRtcSignalingThread( | 
| GURL url, | 
| - GURL first_party_for_cookies) { | 
| + GURL first_party_for_cookies, | 
| + rtc::Optional<uint64_t> expires_ms) { | 
| DCHECK(signaling_thread_->BelongsToCurrentThread()); | 
| rtc::scoped_ptr<PeerConnectionIdentityStore> store( | 
| new PeerConnectionIdentityStore( | 
| main_thread_, signaling_thread_, url, first_party_for_cookies)); | 
| // Request identity with |this| as the observer. OnSuccess/OnFailure will be | 
| // called asynchronously. | 
| - store->RequestIdentity(WebRTCKeyParamsToKeyParams(key_params_), this); | 
| + store->RequestIdentity(WebRTCKeyParamsToKeyParams(key_params_), | 
| + expires_ms, this); | 
| } | 
| // webrtc::DtlsIdentityRequestObserver implementation. | 
| @@ -138,6 +141,26 @@ void RTCCertificateGenerator::generateCertificate( | 
| const blink::WebURL& url, | 
| const blink::WebURL& first_party_for_cookies, | 
| blink::WebCallbacks<blink::WebRTCCertificate*, void>* observer) { | 
| + generateCertificateExpires(key_params, url, first_party_for_cookies, | 
| + rtc::Optional<uint64_t>(), observer); | 
| +} | 
| + | 
| +void RTCCertificateGenerator::generateCertificate( | 
| + const blink::WebRTCKeyParams& key_params, | 
| + const blink::WebURL& url, | 
| + const blink::WebURL& first_party_for_cookies, | 
| + uint64_t expires_ms, | 
| + blink::WebCallbacks<blink::WebRTCCertificate*, void>* observer) { | 
| + generateCertificateExpires(key_params, url, first_party_for_cookies, | 
| + rtc::Optional<uint64_t>(expires_ms), observer); | 
| +} | 
| + | 
| +void RTCCertificateGenerator::generateCertificateExpires( | 
| 
 
Ryan Sleevi
2016/03/08 17:06:11
generateCertificateWithExpiration
 
hbos_chromium
2016/04/13 17:03:08
Done.
 
 | 
| + const blink::WebRTCKeyParams& key_params, | 
| + const blink::WebURL& url, | 
| + const blink::WebURL& first_party_for_cookies, | 
| + const rtc::Optional<uint64_t>& expires_ms, | 
| + blink::WebCallbacks<blink::WebRTCCertificate*, void>* observer) { | 
| DCHECK(isSupportedKeyParams(key_params)); | 
| #if defined(ENABLE_WEBRTC) | 
| @@ -155,7 +178,7 @@ void RTCCertificateGenerator::generateCertificate( | 
| main_thread, signaling_thread)); | 
| // |identity_observer| lives until request has completed. | 
| identity_observer->RequestIdentity( | 
| - key_params, url, first_party_for_cookies, observer); | 
| + key_params, url, first_party_for_cookies, expires_ms, observer); | 
| #else | 
| observer->onError(); | 
| #endif |