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 |