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

Issue 423633002: Make HTMLMediaElement.setMediaKeys() asynchronous. (Closed)

Created:
6 years, 5 months ago by jrummell
Modified:
6 years, 3 months ago
CC:
abarth-chromium, blink-reviews, dglazkov+blink, eric.carlson_apple.com, feature-media-reviews_chromium.org, jamesr, philipj_slow
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Project:
blink
Visibility:
Public.

Description

Make HTMLMediaElement.setMediaKeys() asynchronous. BUG=358271 TEST=Updated EME layouts tests pass Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=182644

Patch Set 1 #

Total comments: 10

Patch Set 2 : sync method #

Total comments: 54

Patch Set 3 : No more states #

Total comments: 16

Patch Set 4 : Changes #

Total comments: 6

Patch Set 5 : make private #

Total comments: 4

Patch Set 6 : Callback #

Total comments: 4

Patch Set 7 : Remove clearing (+rebase) #

Total comments: 2

Patch Set 8 : expand comment #

Total comments: 4

Patch Set 9 : lowercase #

Patch Set 10 : rebase #

Patch Set 11 : Move initial_cdm to constructor #

Total comments: 2

Patch Set 12 : rebase + add comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+282 lines, -65 lines) Patch
M LayoutTests/media/encrypted-media/encrypted-media-lifetime-reload.html View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -3 lines 0 comments Download
M LayoutTests/media/encrypted-media/encrypted-media-playback-multiple-sessions.html View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -3 lines 0 comments Download
M LayoutTests/media/encrypted-media/encrypted-media-playback-setmediakeys-after-src.html View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -1 line 0 comments Download
M LayoutTests/media/encrypted-media/encrypted-media-playback-setmediakeys-before-src.html View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -1 line 0 comments Download
M LayoutTests/media/encrypted-media/encrypted-media-prefixed-after-unprefixed.html View 1 chunk +2 lines, -1 line 0 comments Download
M LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html View 1 2 3 4 2 chunks +33 lines, -14 lines 0 comments Download
M LayoutTests/media/encrypted-media/encrypted-media-unprefixed-after-prefixed.html View 1 2 1 chunk +7 lines, -3 lines 0 comments Download
M LayoutTests/media/encrypted-media/encrypted-media-waiting-for-a-key.html View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -2 lines 0 comments Download
M Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.h View 1 2 3 4 5 6 4 chunks +6 lines, -3 lines 0 comments Download
M Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp View 1 2 3 4 5 6 7 8 9 8 chunks +216 lines, -26 lines 0 comments Download
M Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.idl View 1 chunk +1 line, -1 line 0 comments Download
M Source/web/WebMediaPlayerClientImpl.cpp View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +3 lines, -5 lines 0 comments Download
M public/platform/WebMediaPlayer.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +2 lines, -1 line 0 comments Download
M public/web/WebFrameClient.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 41 (5 generated)
jrummell
PTAL. Chromium side changes in https://codereview.chromium.org/416333011/ need to be submitted first.
6 years, 5 months ago (2014-07-26 00:45:34 UTC) #1
ddorwin
Initial feedback on C++. https://codereview.chromium.org/423633002/diff/1/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.h File Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.h (right): https://codereview.chromium.org/423633002/diff/1/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.h#newcode57 Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.h:57: friend class SetMediaKeysWorker; "Worker" has ...
6 years, 4 months ago (2014-07-31 00:56:37 UTC) #2
jrummell
Updated. Includes a rebase (sorry) that mostly removes some code, but should be easy to ...
6 years, 4 months ago (2014-08-07 01:43:02 UTC) #3
ddorwin
https://codereview.chromium.org/423633002/diff/40001/LayoutTests/media/encrypted-media/encrypted-media-playback-setmediakeys-after-src.html File LayoutTests/media/encrypted-media/encrypted-media-playback-setmediakeys-after-src.html (right): https://codereview.chromium.org/423633002/diff/40001/LayoutTests/media/encrypted-media/encrypted-media-playback-setmediakeys-after-src.html#newcode73 LayoutTests/media/encrypted-media/encrypted-media-playback-setmediakeys-after-src.html:73: waitForEventAndRunStep('needkey', video, onNeedKey, test); Why were these moved out ...
6 years, 4 months ago (2014-08-08 02:50:52 UTC) #4
jrummell
Updated. https://codereview.chromium.org/423633002/diff/40001/LayoutTests/media/encrypted-media/encrypted-media-playback-setmediakeys-after-src.html File LayoutTests/media/encrypted-media/encrypted-media-playback-setmediakeys-after-src.html (right): https://codereview.chromium.org/423633002/diff/40001/LayoutTests/media/encrypted-media/encrypted-media-playback-setmediakeys-after-src.html#newcode73 LayoutTests/media/encrypted-media/encrypted-media-playback-setmediakeys-after-src.html:73: waitForEventAndRunStep('needkey', video, onNeedKey, test); On 2014/08/08 02:50:50, ddorwin ...
6 years, 4 months ago (2014-08-08 23:15:13 UTC) #5
ddorwin
I like this better! Thanks. https://codereview.chromium.org/423633002/diff/50001/LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html File LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html (right): https://codereview.chromium.org/423633002/diff/50001/LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html#newcode76 LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html:76: // FIXME: Enable before ...
6 years, 4 months ago (2014-08-09 00:36:53 UTC) #6
jrummell
Updated. https://codereview.chromium.org/423633002/diff/50001/LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html File LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html (right): https://codereview.chromium.org/423633002/diff/50001/LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html#newcode76 LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html:76: // FIXME: Enable before submitting to W3C. On ...
6 years, 4 months ago (2014-08-11 21:24:48 UTC) #7
ddorwin
Thanks. LGTM with comments. https://codereview.chromium.org/423633002/diff/70001/LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html File LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html (right): https://codereview.chromium.org/423633002/diff/70001/LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html#newcode76 LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html:76: // FIXME: Enable before submitting ...
6 years, 4 months ago (2014-08-11 21:42:56 UTC) #8
jrummell
+acolwell@ & abarth@ for OWNERS review https://codereview.chromium.org/423633002/diff/70001/LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html File LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html (right): https://codereview.chromium.org/423633002/diff/70001/LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html#newcode76 LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html:76: // FIXME: Enable ...
6 years, 4 months ago (2014-08-11 22:12:19 UTC) #9
abarth-chromium
https://codereview.chromium.org/423633002/diff/90001/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp File Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp (right): https://codereview.chromium.org/423633002/diff/90001/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp#newcode72 Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp:72: typedef Function<void()> SuccessCB; SuccessCB -> SuccessCallback ? Please use ...
6 years, 4 months ago (2014-08-11 22:45:20 UTC) #10
abarth-chromium
I'm not really the right person to review this CL. Removing myself from the reviewers ...
6 years, 4 months ago (2014-08-11 22:45:48 UTC) #11
jrummell
Updated. https://codereview.chromium.org/423633002/diff/90001/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp File Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp (right): https://codereview.chromium.org/423633002/diff/90001/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp#newcode72 Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp:72: typedef Function<void()> SuccessCB; On 2014/08/11 22:45:19, abarth wrote: ...
6 years, 4 months ago (2014-08-12 01:02:54 UTC) #12
acolwell GONE FROM CHROMIUM
https://codereview.chromium.org/423633002/diff/110001/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp File Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp (left): https://codereview.chromium.org/423633002/diff/110001/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp#oldcode66 Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp:66: exceptionState.throwDOMException(InvalidStateError, "Mixed use of EME prefixed and unprefixed API ...
6 years, 4 months ago (2014-08-13 22:04:44 UTC) #13
jrummell
Updated. Changes in files other than HTMLMediaElementEncryptedMedia.cpp are just part of a rebase. https://codereview.chromium.org/423633002/diff/110001/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp File ...
6 years, 4 months ago (2014-08-14 01:14:20 UTC) #14
ddorwin
https://codereview.chromium.org/423633002/diff/130001/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp File Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp (right): https://codereview.chromium.org/423633002/diff/130001/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp#newcode164 Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp:164: // 3.2.4 If the preceding step failed, ... You ...
6 years, 4 months ago (2014-08-14 01:26:34 UTC) #15
acolwell GONE FROM CHROMIUM
lgtm
6 years, 4 months ago (2014-08-14 17:37:28 UTC) #16
jrummell
+abarth for OWNERS review of Source/web and public/platform. Changes there are pretty trivial. https://codereview.chromium.org/423633002/diff/130001/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp File ...
6 years, 4 months ago (2014-08-14 18:30:25 UTC) #17
abarth-chromium
I'm sorry, but I don't have the bandwith to review this change.
6 years, 4 months ago (2014-08-14 20:52:28 UTC) #18
jrummell
+jamesr@ for OWNERS review of Source/web and public/platform.
6 years, 4 months ago (2014-08-14 22:27:44 UTC) #19
jamesr
https://codereview.chromium.org/423633002/diff/150001/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp File Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp (right): https://codereview.chromium.org/423633002/diff/150001/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp#newcode135 Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp:135: void SetMediaKeysHandler::ClearExistingMediaKeys() blink style is for function names to ...
6 years, 4 months ago (2014-08-15 00:56:44 UTC) #20
jrummell
Updated. https://codereview.chromium.org/423633002/diff/150001/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp File Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp (right): https://codereview.chromium.org/423633002/diff/150001/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp#newcode135 Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp:135: void SetMediaKeysHandler::ClearExistingMediaKeys() On 2014/08/15 00:56:43, jamesr wrote: > ...
6 years, 4 months ago (2014-08-15 18:32:06 UTC) #21
jamesr
I can't figure out from the spec or code where the async step is in ...
6 years, 4 months ago (2014-08-18 18:05:52 UTC) #22
jrummell
Most of the encrypted media enhancements to HTMLMediaElement are now asynchronous and use promises (spec ...
6 years, 4 months ago (2014-08-18 23:05:33 UTC) #23
jamesr
OK, so what does this ..Sync call enforce for you on the main thread? What ...
6 years, 4 months ago (2014-08-18 23:13:27 UTC) #24
jrummell
The ...Sync() version was added to fit into an existing sync api as best we ...
6 years, 4 months ago (2014-08-19 00:08:43 UTC) #25
jamesr
The initial comments seem to be saying that it's unclear if setMediaKeys() and load() calls ...
6 years, 4 months ago (2014-08-19 00:17:01 UTC) #26
jrummell
setMediaKeys() is specified as asynchronous in current EME spec (https://dvcs.w3.org/hg/html-media/raw-file/default/encrypted-media/encrypted-media.html#dom-setmediakeys). load() is synchronous in the ...
6 years, 4 months ago (2014-08-20 00:13:44 UTC) #27
jrummell
PS11 gets rid of setContentDecryptionModuleSync() and passes the initial CDM when constructing the media player. ...
6 years, 3 months ago (2014-09-15 22:59:29 UTC) #29
jrummell
jamesr@: friendly ping for OWNERS review
6 years, 3 months ago (2014-09-19 17:55:10 UTC) #31
jamesr
public/ lgtm. Did not look at the rest.
6 years, 3 months ago (2014-09-22 22:10:48 UTC) #32
ddorwin
https://codereview.chromium.org/423633002/diff/230001/public/web/WebFrameClient.h File public/web/WebFrameClient.h (right): https://codereview.chromium.org/423633002/diff/230001/public/web/WebFrameClient.h#newcode108 public/web/WebFrameClient.h:108: // May return null. Add a comment that WebContentDecryptionModule* ...
6 years, 3 months ago (2014-09-23 23:18:05 UTC) #33
jrummell
Thanks for the reviews. https://codereview.chromium.org/423633002/diff/230001/public/web/WebFrameClient.h File public/web/WebFrameClient.h (right): https://codereview.chromium.org/423633002/diff/230001/public/web/WebFrameClient.h#newcode108 public/web/WebFrameClient.h:108: // May return null. On ...
6 years, 3 months ago (2014-09-24 22:04:06 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/423633002/250001
6 years, 3 months ago (2014-09-24 22:04:41 UTC) #36
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_gn_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/linux_chromium_gn_rel/builds/11561)
6 years, 3 months ago (2014-09-24 22:16:04 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/423633002/250001
6 years, 3 months ago (2014-09-25 01:15:49 UTC) #40
commit-bot: I haz the power
6 years, 3 months ago (2014-09-25 01:28:25 UTC) #41
Message was sent while issue was closed.
Committed patchset #12 (id:250001) as 182644

Powered by Google App Engine
This is Rietveld 408576698