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

Issue 1949033002: Ability to persist RTCCertificate in IndexedDB (enables cloning). (Closed)

Created:
4 years, 7 months ago by hbos_chromium
Modified:
4 years, 7 months ago
Reviewers:
CC:
chromium-reviews, mlamouri+watch-content_chromium.org, posciak+watch_chromium.org, jam, blink-reviews, phoglund+watch_chromium.org, feature-media-reviews_chromium.org, dglazkov+blink, darin-cc_chromium.org, mcasas+watch+vc_chromium.org, mkwst+moarreviews-renderer_chromium.org, blink-reviews-bindings_chromium.org, tnakamura+watch_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

Ability to persist RTCCertificate in IndexedDB (enables cloning). The WebRTC spec[1] mandates that RTCCertificates can be persisted to storage by an application by implementing the structured clone algorithm. This allows it to be saved and loaded from IndexedDB. This is achieved with the following changes: 1. RTCCertificate to/from string a) The ToPEM and FromPEM serialization functions from the WebRTC layer that converts RTCCertificate to- and from string are made visible in the blink and content layers. b) |WebRTCCertificate::keyParams| is removed so that we don't have to serialize this or add getters for obtaining this information from the WebRTC layer's RTCCertificate. The getter was never used by anyone. 2. RTCCertificate serialization (structured clone algorithm) a) ScriptValueSerializerForModules and friends are updated with write and read functions for RTCCertificate (impl using 1.). 3. Unittests making sure RTCCertificate can be saved and loaded from IndexedDB a) chrome/test/data/webrtc/indexeddb.js added with functions for managing a database and saving and loading (cloning) certificates. b) WebRtcTestBase implementing C++ functions for calling the indexeddb.js API. c) WebRtcBrowserTest tests added which clone certificates and sets up calls using the clones. [1] https://w3c.github.io/webrtc-pc/archives/20160125/webrtc.html#attributes-6 This CL is being split up into smaller CLs: - Pt. 1: https://codereview.chromium.org/1957293002/ - Pt. 3a-b: https://codereview.chromium.org/1962673002/ - Pt. 2+3c: https://codereview.chromium.org/1959333002/ BUG=581354

Patch Set 1 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+442 lines, -66 lines) Patch
M chrome/browser/media/webrtc_browsertest.cc View 2 chunks +76 lines, -25 lines 0 comments Download
M chrome/browser/media/webrtc_browsertest_base.h View 2 chunks +20 lines, -3 lines 0 comments Download
M chrome/browser/media/webrtc_browsertest_base.cc View 2 chunks +45 lines, -4 lines 0 comments Download
A chrome/test/data/webrtc/indexeddb.js View 1 chunk +157 lines, -0 lines 0 comments Download
M chrome/test/data/webrtc/peerconnection.js View 2 chunks +22 lines, -13 lines 0 comments Download
M chrome/test/data/webrtc/webrtc_audio_quality_test.html View 1 chunk +1 line, -0 lines 0 comments Download
M chrome/test/data/webrtc/webrtc_jsep01_test.html View 1 chunk +1 line, -0 lines 0 comments Download
M chrome/test/data/webrtc/webrtc_video_quality_test.html View 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/media/rtc_certificate.h View 2 chunks +2 lines, -5 lines 0 comments Download
M content/renderer/media/rtc_certificate.cc View 2 chunks +7 lines, -7 lines 0 comments Download
M content/renderer/media/rtc_certificate_generator.h View 1 chunk +3 lines, -0 lines 0 comments Download
M content/renderer/media/rtc_certificate_generator.cc View 2 chunks +11 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/SerializationTag.h View 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 7 chunks +60 lines, -5 lines 0 comments Download
M third_party/WebKit/public/platform/WebRTCCertificate.h View 2 chunks +26 lines, -3 lines 0 comments Download
M third_party/WebKit/public/platform/WebRTCCertificateGenerator.h View 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 9 (6 generated)
hbos_chromium
Part 1 CL: https://codereview.chromium.org/1957293002/
4 years, 7 months ago (2016-05-09 14:00:11 UTC) #3
hbos_chromium
Part 3a,3b CL: https://codereview.chromium.org/1962673002/
4 years, 7 months ago (2016-05-09 14:45:16 UTC) #6
hbos_chromium
4 years, 7 months ago (2016-05-16 08:47:43 UTC) #9
Message was sent while issue was closed.
Part 2,3c CL: https://codereview.chromium.org/1959333002/

Powered by Google App Engine
This is Rietveld 408576698