The latest EME spec (http://w3c.github.io/encrypted-media/#exceptions) only has 4 possible errors listed:
TypeError
NotSupportedError
InvalidStateError
QuotaExceededError
The first one is new, the other 3 have been around for a while.
However, the list of possible errors in CDM_8 also includes:
kInvalidAccessError = 15,
kUnknownError = 30,
kClientError = 100,
kOutputError = 101
Of these 4, Widevine uses all of them except kClientError. This should be fixed.
From the latest spec, here are the places where the CDM should reply with TypeError. The plan is to have kInvalidAccessError become a TypeError for backwards compatibility.
load(), step 8.8.2:
"If the stored session's session type is not the same as the current MediaKeySession session type, reject promise with a newly created TypeError."
update(), step 6.7.1:
"If the format of sanitized response is invalid in any way, reject promise with a newly created TypeError."
update(), step 6.7.2:
"Otherwise reject promise with a newly created TypeError." (after matching the license(s) in response with the sessionType).
Comment 1 by xhw...@chromium.org
, Oct 7 2016Owner: jrumm...@chromium.org