New issue
Advanced search Search tips

Issue 618800 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug

Blocking:
issue 442566



Sign in to add a comment

MediaKeys.setServerCertificate() should return Promise<bool>

Project Member Reported by jrumm...@chromium.org, Jun 9 2016

Issue description

https://github.com/w3c/encrypted-media/issues/145 changed the EME spec so that setServerCertificate() returns Promise<boolean>. However, the current implementation returns Promise<void>. This needs to be fixed to be spec compliant.
 
Labels: EME-compat
The change for that issue also reordered the first two steps and replaces the reject-with-NotSupportedError with resolve(false).

There was also this comment about how the steps in our implementation do not match the spec. I'm not sure whether this is observable and thus should be fixed.

>Speaking of implementations, Blink/Chromium currently implements step 2 within step 5, deferring that determination to the implementation rather than checking up front. This seems within the definitions for observable behavior except that the promise is rejected (will be resolved) asynchronously instead of synchronously as in the spec. is that difference observable? If so and this pattern is common, should we change the algorithm?
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 13 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1af40e160276b4bd756bed244c1b3709b9ba417f

commit 1af40e160276b4bd756bed244c1b3709b9ba417f
Author: jrummell <jrummell@chromium.org>
Date: Mon Jun 13 20:15:19 2016

Pass SetServerCertificate call on

Have SetServerCertificate() call the matching method on |decryptor_|
rather than resolving the promise immediately. This allows External
Clear Key to more closely match the functionality of Clear Key.

BUG= 618800 
TEST=encrypted media browser tests pass

Review-Url: https://codereview.chromium.org/2057103004
Cr-Commit-Position: refs/heads/master@{#399520}

[modify] https://crrev.com/1af40e160276b4bd756bed244c1b3709b9ba417f/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Jun 13 2016

Project Member

Comment 4 by bugdroid1@chromium.org, Jun 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1af40e160276b4bd756bed244c1b3709b9ba417f

commit 1af40e160276b4bd756bed244c1b3709b9ba417f
Author: jrummell <jrummell@chromium.org>
Date: Mon Jun 13 20:15:19 2016

Pass SetServerCertificate call on

Have SetServerCertificate() call the matching method on |decryptor_|
rather than resolving the promise immediately. This allows External
Clear Key to more closely match the functionality of Clear Key.

BUG= 618800 
TEST=encrypted media browser tests pass

Review-Url: https://codereview.chromium.org/2057103004
Cr-Commit-Position: refs/heads/master@{#399520}

[modify] https://crrev.com/1af40e160276b4bd756bed244c1b3709b9ba417f/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Jun 15 2016

Status: Fixed (was: Assigned)
Labels: M-53
It looks like the CLs landed before M53 branch cut.

Sign in to add a comment