Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(87)

Issue 1909923002: Making RTCCertificate cloneable (WIP). (Closed)

Created:
4 years, 8 months ago by hbos_chromium
Modified:
4 years, 7 months ago
Reviewers:
CC:
chromium-reviews, mlamouri+watch-content_chromium.org, posciak+watch_chromium.org, blink-reviews, jam, feature-media-reviews_chromium.org, dglazkov+blink, darin-cc_chromium.org, mkwst+moarreviews-renderer_chromium.org, blink-reviews-bindings_chromium.org, blink-reviews-api_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Making RTCCertificate cloneable. This CL makes RTCCertificate JavaScript objects cloneable according to the structured clone algorithm as ordered by the WebRTC spec[1]. This makes it possible to store and retrieve certificates persistently with IndexedDB. Changes - RTCCertificate: - WebRTCCertificate and implementation gets a toPEM() function. - WebRTCCertificateGenerator and implementation gets a fromPEM() function. - WebRTCCertificate no longer has keyParams(), this function was not used and rtc::RTCCertificate currently has no function to retrieve the key params so this information would be lost in the toPEM/fromPEM steps. - ScriptValueSerializerForModules is updated to be able to write and read RTCCertificate (using the PEM functions). Changes - IndexedDB: - indexeddb.js added with functions to manage a IndexedDB database for WebRTC browser tests. - WebRtcTestBase updated to call indexeddb.js functions from C++ test code. - WebRtcBrowserTest: New test that saves and loads certificates. Overview of certificate-related classes this CL touches (to aid reviewers): - JavaScript RTCCertificate, internally contains a C++ version of certificate: blink::RTCCertificate - C++ versions of RTCCertificate (blink, content and webrtc layers): blink::WebRTCCertificate < content::RTCCertificate > rtc::RTCCertificate - Certificate generator & fromPEM factory (blink and content layers): blink::WebRTCCertificateGenerator < content::RTCCertificateGenerator (The abstractions (blink interface/content impl) are necessary to avoid illegal dependencies.) Depends on CLs (now landed): - third_party/webrtc CL https://codereview.webrtc.org/1898383003/ which adds ToPEM/FromPEM to rtc::RTCCertificate. - chromium CL https://codereview.chromium.org/1917133002/ which adds choosing certificates in WebRtcTestBase for WebRtcBrowserTest. [1] https://w3c.github.io/webrtc-pc/archives/20160125/webrtc.html#attributes-6 BUG=chromium:581354

Patch Set 1 : #

Patch Set 2 : Applied 1917133002 ps1 (WebRtcBrowserTest /w certificates) #

Patch Set 3 : IndexedDB cloning of string (stand-in for RTCCertificate) #

Patch Set 4 : Rebase /w master after dep CLs landed. ToPem -> ToPEM. #

Patch Set 5 : Derp! #

Unified diffs Side-by-side diffs Delta from patch set Stats (+374 lines, -34 lines) Patch
M chrome/browser/media/webrtc_browsertest.cc View 1 2 3 4 3 chunks +36 lines, -5 lines 0 comments Download
M chrome/browser/media/webrtc_browsertest_base.h View 1 2 3 4 1 chunk +7 lines, -0 lines 0 comments Download
M chrome/browser/media/webrtc_browsertest_base.cc View 1 2 3 4 1 chunk +27 lines, -0 lines 0 comments Download
A chrome/test/data/webrtc/indexeddb.js View 1 2 3 4 1 chunk +146 lines, -0 lines 0 comments Download
M chrome/test/data/webrtc/peerconnection.js View 1 2 3 4 2 chunks +11 lines, -9 lines 0 comments Download
M chrome/test/data/webrtc/webrtc_audio_quality_test.html View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M chrome/test/data/webrtc/webrtc_jsep01_test.html View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M chrome/test/data/webrtc/webrtc_video_quality_test.html View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/media/rtc_certificate.h View 1 2 3 4 2 chunks +3 lines, -5 lines 0 comments Download
M content/renderer/media/rtc_certificate.cc View 1 2 3 4 2 chunks +12 lines, -7 lines 0 comments Download
M content/renderer/media/rtc_certificate_generator.h View 1 2 3 1 chunk +3 lines, -0 lines 0 comments Download
M content/renderer/media/rtc_certificate_generator.cc View 1 2 3 2 chunks +11 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/SerializationTag.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/modules/v8/ScriptValueSerializerForModules.h View 4 chunks +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/modules/v8/ScriptValueSerializerForModules.cpp View 1 2 3 7 chunks +60 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/modules/mediastream/RTCCertificate.h View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/mediastream/RTCCertificate.cpp View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/mediastream/RTCCertificate.idl View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/public/platform/WebRTCCertificate.h View 1 2 3 4 2 chunks +29 lines, -2 lines 0 comments Download
M third_party/WebKit/public/platform/WebRTCCertificateGenerator.h View 1 2 3 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 9 (8 generated)
hbos_chromium
4 years, 7 months ago (2016-05-04 14:37:27 UTC) #9
Message was sent while issue was closed.
Replaced by https://codereview.chromium.org/1949033002/

Powered by Google App Engine
This is Rietveld 408576698