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.
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?
Comment 1 by ddorwin@chromium.org
, Jun 10 2016