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

Issue 555223004: Update MediaKeys interface for EME (Closed)

Created:
6 years, 3 months ago by jrummell
Modified:
6 years, 2 months ago
CC:
chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

Update MediaKeys interface for EME To support CDM_6, make the following changes: - add SetServerCertificate - add GetUsableKeyIds - rename ReleaseSession to CloseSession - add RemoveSession - add SessionKeysChange event - add SessionExpirationChange event This gets the new functionality up to the blink boundary. Changes to use these new interfaces in blink in a future CL. For backwards compatibility with existing prefixed EME code, calls to CancelKeyRequest() call RemoveSession() instead of CloseSession(). BUG=358271, 417481 TEST=existing EME tests still pass + manual testing Committed: https://crrev.com/80428d2eb359a2448c67ae45ece3ea5dbc2f8cef Cr-Commit-Position: refs/heads/master@{#296838}

Patch Set 1 #

Patch Set 2 : rebase + Android changes #

Total comments: 27

Patch Set 3 : reorder #

Total comments: 53

Patch Set 4 : helpers #

Total comments: 14

Patch Set 5 : CdmPromise subclasses #

Patch Set 6 : rebase #

Total comments: 26

Patch Set 7 : BlinkCdmPromiseTemplate #

Total comments: 13

Patch Set 8 : WebCdmPromiseTemplate #

Total comments: 11

Patch Set 9 : CdmResultPromise #

Total comments: 4

Patch Set 10 : rename #

Total comments: 53

Patch Set 11 : base::Time #

Total comments: 12

Patch Set 12 : comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+803 lines, -317 lines) Patch
M content/content_renderer.gypi View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
A content/renderer/media/cdm_result_promise.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +72 lines, -0 lines 0 comments Download
A content/renderer/media/cdm_result_promise.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +121 lines, -0 lines 0 comments Download
M content/renderer/media/cdm_session_adapter.h View 1 2 3 4 5 6 7 8 9 10 4 chunks +25 lines, -7 lines 0 comments Download
M content/renderer/media/cdm_session_adapter.cc View 1 2 3 4 5 6 7 8 9 10 4 chunks +45 lines, -4 lines 0 comments Download
M content/renderer/media/crypto/content_decryption_module_factory.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +3 lines, -1 line 0 comments Download
M content/renderer/media/crypto/content_decryption_module_factory.cc View 1 2 3 4 5 6 7 8 9 10 4 chunks +11 lines, -5 lines 0 comments Download
M content/renderer/media/crypto/ppapi_decryptor.h View 1 2 3 4 5 6 7 8 9 10 5 chunks +29 lines, -8 lines 0 comments Download
M content/renderer/media/crypto/ppapi_decryptor.cc View 1 2 3 4 5 6 7 8 9 10 11 chunks +82 lines, -5 lines 0 comments Download
M content/renderer/media/crypto/proxy_decryptor.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +4 lines, -0 lines 0 comments Download
M content/renderer/media/crypto/proxy_decryptor.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +16 lines, -1 line 0 comments Download
M content/renderer/media/crypto/proxy_media_keys.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +14 lines, -2 lines 0 comments Download
M content/renderer/media/crypto/proxy_media_keys.cc View 1 2 3 4 5 6 7 8 9 10 4 chunks +26 lines, -4 lines 0 comments Download
M content/renderer/media/webcontentdecryptionmodule_impl.h View 1 2 3 4 5 6 1 chunk +5 lines, -0 lines 0 comments Download
M content/renderer/media/webcontentdecryptionmodule_impl.cc View 1 2 3 4 5 6 7 8 9 3 chunks +15 lines, -1 line 0 comments Download
M content/renderer/media/webcontentdecryptionmodulesession_impl.h View 1 2 3 4 5 6 7 8 9 10 3 chunks +10 lines, -22 lines 0 comments Download
M content/renderer/media/webcontentdecryptionmodulesession_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 8 chunks +100 lines, -182 lines 0 comments Download
M content/renderer/pepper/content_decryptor_delegate.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +11 lines, -6 lines 0 comments Download
M content/renderer/pepper/content_decryptor_delegate.cc View 1 2 3 4 5 6 7 8 9 10 4 chunks +21 lines, -2 lines 0 comments Download
M media/base/media_keys.h View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +31 lines, -3 lines 0 comments Download
M media/cdm/aes_decryptor.h View 1 2 4 chunks +13 lines, -6 lines 0 comments Download
M media/cdm/aes_decryptor.cc View 1 2 3 3 chunks +49 lines, -20 lines 0 comments Download
M media/cdm/aes_decryptor_unittest.cc View 1 2 3 9 chunks +46 lines, -12 lines 0 comments Download
M media/cdm/ppapi/external_clear_key/clear_key_cdm.h View 2 chunks +3 lines, -1 line 0 comments Download
M media/cdm/ppapi/external_clear_key/clear_key_cdm.cc View 1 2 3 6 chunks +30 lines, -13 lines 0 comments Download
M media/filters/pipeline_integration_test.cc View 1 2 3 4 5 5 chunks +19 lines, -12 lines 0 comments Download

Messages

Total messages: 30 (3 generated)
jrummell
PTAL.
6 years, 3 months ago (2014-09-09 23:47:49 UTC) #2
ddorwin
Initial feedback. I need to look into the result helper more. https://codereview.chromium.org/555223004/diff/20001/content/renderer/media/crypto/ppapi_decryptor.cc File content/renderer/media/crypto/ppapi_decryptor.cc (right): ...
6 years, 3 months ago (2014-09-10 22:58:39 UTC) #3
jrummell
Updated. https://codereview.chromium.org/555223004/diff/20001/content/renderer/media/crypto/ppapi_decryptor.cc File content/renderer/media/crypto/ppapi_decryptor.cc (right): https://codereview.chromium.org/555223004/diff/20001/content/renderer/media/crypto/ppapi_decryptor.cc#newcode496 content/renderer/media/crypto/ppapi_decryptor.cc:496: ResumePlayback(); On 2014/09/10 22:58:38, ddorwin wrote: > Why ...
6 years, 3 months ago (2014-09-11 21:21:55 UTC) #4
ddorwin
Reviewed the same subset of files. https://codereview.chromium.org/555223004/diff/20001/content/renderer/media/crypto/ppapi_decryptor.cc File content/renderer/media/crypto/ppapi_decryptor.cc (right): https://codereview.chromium.org/555223004/diff/20001/content/renderer/media/crypto/ppapi_decryptor.cc#newcode496 content/renderer/media/crypto/ppapi_decryptor.cc:496: ResumePlayback(); On 2014/09/11 ...
6 years, 3 months ago (2014-09-11 23:31:12 UTC) #5
ddorwin
I've reviewed everything except the Helper class, which I hope we can eliminate. https://codereview.chromium.org/555223004/diff/40001/content/renderer/media/webcontentdecryptionmodule_impl.h File ...
6 years, 3 months ago (2014-09-12 21:46:31 UTC) #6
jrummell
Updated. https://codereview.chromium.org/555223004/diff/40001/content/renderer/media/crypto/ppapi_decryptor.cc File content/renderer/media/crypto/ppapi_decryptor.cc (right): https://codereview.chromium.org/555223004/diff/40001/content/renderer/media/crypto/ppapi_decryptor.cc#newcode233 content/renderer/media/crypto/ppapi_decryptor.cc:233: base::Bind(&PpapiDecryptor::ResumePlayback, On 2014/09/11 23:31:11, ddorwin wrote: > This ...
6 years, 3 months ago (2014-09-15 18:22:41 UTC) #7
ddorwin
Looking good. We need to resolve the promises thing in the other CL. Two non-actionable ...
6 years, 3 months ago (2014-09-17 23:54:34 UTC) #8
jrummell
PS5 is the changes, PS6 is a rebase since the original is 2 weeks old. ...
6 years, 3 months ago (2014-09-23 01:42:48 UTC) #9
ddorwin
https://codereview.chromium.org/555223004/diff/100001/content/renderer/media/webcontentdecryptionmodule_impl.cc File content/renderer/media/webcontentdecryptionmodule_impl.cc (right): https://codereview.chromium.org/555223004/diff/100001/content/renderer/media/webcontentdecryptionmodule_impl.cc#newcode83 content/renderer/media/webcontentdecryptionmodule_impl.cc:83: : adapter_(adapter), weak_ptr_factory_(this) { weak_ptr_factory_ is no longer used. ...
6 years, 3 months ago (2014-09-23 18:57:32 UTC) #10
jrummell
Updated to use BlinkCdmPromiseTemplate. Didn't rename the file in case the name needs to change. ...
6 years, 3 months ago (2014-09-23 22:36:36 UTC) #11
ddorwin
Thanks. Looking good, but one important question. https://codereview.chromium.org/555223004/diff/120001/content/renderer/media/webcontentdecryptionmodule_impl.cc File content/renderer/media/webcontentdecryptionmodule_impl.cc (right): https://codereview.chromium.org/555223004/diff/120001/content/renderer/media/webcontentdecryptionmodule_impl.cc#newcode108 content/renderer/media/webcontentdecryptionmodule_impl.cc:108: scoped_ptr<media::SimpleCdmPromise> promise ...
6 years, 3 months ago (2014-09-23 23:14:21 UTC) #12
jrummell
Updated. Also kicked off trybots to make sure the binding works on all platforms. https://codereview.chromium.org/555223004/diff/120001/content/renderer/media/webcontentdecryptionmodule_impl.cc ...
6 years, 3 months ago (2014-09-24 00:49:32 UTC) #13
ddorwin
Looking good. A few cosmetic issues, plus we need to make sure we've handled prefixed ...
6 years, 3 months ago (2014-09-24 17:37:47 UTC) #14
jrummell
Updated. Will rename webcontentdecryptionmoduleresult_helper if new name sticks. https://codereview.chromium.org/555223004/diff/140001/content/renderer/media/crypto/proxy_decryptor.cc File content/renderer/media/crypto/proxy_decryptor.cc (right): https://codereview.chromium.org/555223004/diff/140001/content/renderer/media/crypto/proxy_decryptor.cc#newcode221 content/renderer/media/crypto/proxy_decryptor.cc:221: media_keys_->RemoveSession(web_session_id, ...
6 years, 3 months ago (2014-09-24 22:32:32 UTC) #15
ddorwin
LGTM % minor naming issues. Go ahead and rename the two files too. https://codereview.chromium.org/555223004/diff/140001/content/renderer/media/crypto/proxy_decryptor.cc File ...
6 years, 3 months ago (2014-09-24 22:47:30 UTC) #16
jrummell
Updated. +dmichael@ for OWNERS review of content/renderer/pepper/content_decryptor_delegate https://codereview.chromium.org/555223004/diff/160001/content/renderer/media/webcontentdecryptionmoduleresult_helper.h File content/renderer/media/webcontentdecryptionmoduleresult_helper.h (right): https://codereview.chromium.org/555223004/diff/160001/content/renderer/media/webcontentdecryptionmoduleresult_helper.h#newcode61 content/renderer/media/webcontentdecryptionmoduleresult_helper.h:61: typedef CdmResultPromise<media::KeyIdsVector> ...
6 years, 2 months ago (2014-09-24 23:57:51 UTC) #18
ddorwin
LGTM, including new filenames. Some questions about possibly moving some declarations closer to where they ...
6 years, 2 months ago (2014-09-25 00:07:16 UTC) #19
ddorwin
https://codereview.chromium.org/555223004/diff/180001/content/renderer/media/cdm_result_promise.cc File content/renderer/media/cdm_result_promise.cc (right): https://codereview.chromium.org/555223004/diff/180001/content/renderer/media/cdm_result_promise.cc#newcode111 content/renderer/media/cdm_result_promise.cc:111: template class CdmResultPromise<std::string>; On 2014/09/25 00:07:15, ddorwin wrote: > ...
6 years, 2 months ago (2014-09-25 00:16:39 UTC) #20
xhwang
https://codereview.chromium.org/555223004/diff/180001/content/renderer/media/cdm_result_promise.cc File content/renderer/media/cdm_result_promise.cc (right): https://codereview.chromium.org/555223004/diff/180001/content/renderer/media/cdm_result_promise.cc#newcode41 content/renderer/media/cdm_result_promise.cc:41: base::Bind(&CdmResultPromise::OnReject, base::Unretained(this))), This patten is a bit tricky. Might ...
6 years, 2 months ago (2014-09-25 05:11:48 UTC) #21
dmichael (off chromium)
pepper OWNERS lgtm, when xhwang is happy
6 years, 2 months ago (2014-09-25 15:23:50 UTC) #22
jrummell
Updated. https://codereview.chromium.org/555223004/diff/180001/content/renderer/media/cdm_result_promise.cc File content/renderer/media/cdm_result_promise.cc (right): https://codereview.chromium.org/555223004/diff/180001/content/renderer/media/cdm_result_promise.cc#newcode41 content/renderer/media/cdm_result_promise.cc:41: base::Bind(&CdmResultPromise::OnReject, base::Unretained(this))), On 2014/09/25 05:11:46, xhwang wrote: > ...
6 years, 2 months ago (2014-09-25 20:33:26 UTC) #23
ddorwin
https://codereview.chromium.org/555223004/diff/200001/content/renderer/media/cdm_result_promise.h File content/renderer/media/cdm_result_promise.h (right): https://codereview.chromium.org/555223004/diff/200001/content/renderer/media/cdm_result_promise.h#newcode35 content/renderer/media/cdm_result_promise.h:35: // when a new session is created. nit: The ...
6 years, 2 months ago (2014-09-25 20:54:06 UTC) #24
xhwang
Thanks! lgtm % nits + ddorwin's comments https://codereview.chromium.org/555223004/diff/200001/content/renderer/media/cdm_result_promise.h File content/renderer/media/cdm_result_promise.h (right): https://codereview.chromium.org/555223004/diff/200001/content/renderer/media/cdm_result_promise.h#newcode31 content/renderer/media/cdm_result_promise.h:31: ~CdmResultPromise(); virtual ...
6 years, 2 months ago (2014-09-25 21:01:52 UTC) #25
jrummell
Thanks for the reviews. https://codereview.chromium.org/555223004/diff/200001/content/renderer/media/cdm_result_promise.h File content/renderer/media/cdm_result_promise.h (right): https://codereview.chromium.org/555223004/diff/200001/content/renderer/media/cdm_result_promise.h#newcode31 content/renderer/media/cdm_result_promise.h:31: ~CdmResultPromise(); On 2014/09/25 21:01:52, xhwang ...
6 years, 2 months ago (2014-09-25 21:25:55 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/555223004/220001
6 years, 2 months ago (2014-09-25 21:28:25 UTC) #28
commit-bot: I haz the power
Committed patchset #12 (id:220001) as 50169a153f03924388ce99132a4287015bfbe7b3
6 years, 2 months ago (2014-09-26 00:10:50 UTC) #29
commit-bot: I haz the power
6 years, 2 months ago (2014-09-26 00:11:20 UTC) #30
Message was sent while issue was closed.
Patchset 12 (id:??) landed as
https://crrev.com/80428d2eb359a2448c67ae45ece3ea5dbc2f8cef
Cr-Commit-Position: refs/heads/master@{#296838}

Powered by Google App Engine
This is Rietveld 408576698