New issue
Advanced search Search tips

Issue 646902 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Bug



Sign in to add a comment

Missing TypeError in EME

Project Member Reported by yucliu@chromium.org, Sep 14 2016

Issue description

There are several instances in the EME spec where the CDM is to reject the promise with a TypeError. (This occurs when invalid/incorrect data is provided.)

Chromium's internal MediaKeys interface does not have a way to report such errors. This probably means we aren't handling some cases as defined in the spec. Also, some implementations are forced to use an exception, such as INVALID_ACCESS_ERROR.
 
Components: Internals>Media>Encrypted
Labels: EME-compat
Owner: ----
Status: Available (was: Assigned)
Description: Show this description
Owner: jrumm...@chromium.org
Status: Started (was: Available)
Labels: M-56 Pri-1
Project Member

Comment 5 by bugdroid1@chromium.org, Oct 18 2016

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

commit 8446ebfbbd8b1442d41a3109d08f347fb9a6a060
Author: jrummell <jrummell@chromium.org>
Date: Tue Oct 18 20:16:39 2016

Update EME errors to use TypeError

The current version of the EME spec has specified that TypeErrors
should be returned in certain cases. Update the EME code to use
TypeError where needed.

As well, verify that MediaKeySession is not callable after close().

BUG= 646902 , 655095 
TEST=EME tests pass

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

[modify] https://crrev.com/8446ebfbbd8b1442d41a3109d08f347fb9a6a060/media/blink/cdm_result_promise_helper.cc
[modify] https://crrev.com/8446ebfbbd8b1442d41a3109d08f347fb9a6a060/media/blink/webcontentdecryptionmodulesession_impl.cc
[modify] https://crrev.com/8446ebfbbd8b1442d41a3109d08f347fb9a6a060/third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-clear-key-invalid-license.html
[modify] https://crrev.com/8446ebfbbd8b1442d41a3109d08f347fb9a6a060/third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-clearkey-update-non-ascii-input.html
[modify] https://crrev.com/8446ebfbbd8b1442d41a3109d08f347fb9a6a060/third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-generate-request-disallowed-input.html
[add] https://crrev.com/8446ebfbbd8b1442d41a3109d08f347fb9a6a060/third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-not-callable-after-close.html
[modify] https://crrev.com/8446ebfbbd8b1442d41a3109d08f347fb9a6a060/third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-requestmediakeysystemaccess.html
[modify] https://crrev.com/8446ebfbbd8b1442d41a3109d08f347fb9a6a060/third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-syntax.html
[modify] https://crrev.com/8446ebfbbd8b1442d41a3109d08f347fb9a6a060/third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-update-disallowed-input.html
[modify] https://crrev.com/8446ebfbbd8b1442d41a3109d08f347fb9a6a060/third_party/WebKit/Source/modules/encryptedmedia/ContentDecryptionModuleResultPromise.cpp
[modify] https://crrev.com/8446ebfbbd8b1442d41a3109d08f347fb9a6a060/third_party/WebKit/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp
[modify] https://crrev.com/8446ebfbbd8b1442d41a3109d08f347fb9a6a060/third_party/WebKit/Source/modules/encryptedmedia/MediaKeySession.cpp
[modify] https://crrev.com/8446ebfbbd8b1442d41a3109d08f347fb9a6a060/third_party/WebKit/Source/modules/encryptedmedia/MediaKeys.cpp
[modify] https://crrev.com/8446ebfbbd8b1442d41a3109d08f347fb9a6a060/third_party/WebKit/Source/modules/encryptedmedia/NavigatorRequestMediaKeySystemAccess.cpp
[modify] https://crrev.com/8446ebfbbd8b1442d41a3109d08f347fb9a6a060/third_party/WebKit/public/platform/WebContentDecryptionModuleException.h

Status: Fixed (was: Started)

Sign in to add a comment