Chromium Code Reviews| Index: Source/core/html/HTMLMediaElement.cpp |
| diff --git a/Source/core/html/HTMLMediaElement.cpp b/Source/core/html/HTMLMediaElement.cpp |
| index 2503550f60f4cfecdf2ca5ee238b38cfb907506b..b2e68aba532d30b48457df97c2aca4ed8fa2b1b7 100644 |
| --- a/Source/core/html/HTMLMediaElement.cpp |
| +++ b/Source/core/html/HTMLMediaElement.cpp |
| @@ -1710,46 +1710,42 @@ void HTMLMediaElement::mediaPlayerKeyMessage(const String& keySystem, const Stri |
| m_asyncEventQueue->enqueueEvent(event.release()); |
| } |
| -bool HTMLMediaElement::mediaPlayerKeyNeeded(const String& keySystem, const String& sessionId, const unsigned char* initData, unsigned initDataLength) |
| -{ |
| - if (!hasEventListeners(EventTypeNames::webkitneedkey)) { |
| - m_error = MediaError::create(MediaError::MEDIA_ERR_ENCRYPTED); |
| - scheduleEvent(EventTypeNames::error); |
| - return false; |
| +bool HTMLMediaElement::mediaPlayerKeyNeeded(const String& contentType, const unsigned char* initData, unsigned initDataLength) |
| +{ |
| + // Send event for non-prefixed EME, if available. |
|
xhwang
2014/01/13 18:42:40
ditto, replace non-prefixed/prefixed to EME versio
jrummell
2014/01/13 19:01:32
Done.
|
| + if (hasEventListeners(EventTypeNames::needkey)) { |
|
ddorwin
2014/01/13 19:08:38
The check this copies was related to part of the p
jrummell
2014/01/13 22:43:44
Done.
|
| + MediaKeyNeededEventInit initializer; |
| + initializer.contentType = contentType; |
| + initializer.initData = Uint8Array::create(initData, initDataLength); |
| + initializer.bubbles = false; |
| + initializer.cancelable = false; |
| + |
| + RefPtr<Event> event = MediaKeyNeededEvent::create(EventTypeNames::needkey, initializer); |
| + event->setTarget(this); |
| + m_asyncEventQueue->enqueueEvent(event.release()); |
| + return true; |
| } |
| - MediaKeyEventInit initializer; |
| - initializer.keySystem = keySystem; |
| - initializer.sessionId = sessionId; |
| - initializer.initData = Uint8Array::create(initData, initDataLength); |
| - initializer.bubbles = false; |
| - initializer.cancelable = false; |
| - |
| - RefPtr<Event> event = MediaKeyEvent::create(EventTypeNames::webkitneedkey, initializer); |
| - event->setTarget(this); |
| - m_asyncEventQueue->enqueueEvent(event.release()); |
| - return true; |
| -} |
| + // Send event for prefixed EME, if available. |
| + // FIXME: Remove once prefixed EME is removed. |
|
ddorwin
2014/01/13 19:08:38
Probably not necessary. We'll know to search for a
jrummell
2014/01/13 22:43:44
Done.
|
| + if (hasEventListeners(EventTypeNames::webkitneedkey)) { |
| + MediaKeyEventInit initializer; |
| + initializer.keySystem = String(); |
| + initializer.sessionId = String(); |
|
acolwell GONE FROM CHROMIUM
2014/01/13 18:19:04
Where these always empty strings before?
jrummell
2014/01/13 19:01:32
Yup. https://code.google.com/p/chromium/codesearch
|
| + initializer.initData = Uint8Array::create(initData, initDataLength); |
| + initializer.bubbles = false; |
| + initializer.cancelable = false; |
| -bool HTMLMediaElement::mediaPlayerKeyNeeded(Uint8Array* initData) |
| -{ |
| - // FIXME: This should be using the unprefixed event name ("needkey"). |
| - if (!hasEventListeners("webkitneedkey")) { |
| - m_error = MediaError::create(MediaError::MEDIA_ERR_ENCRYPTED); |
| - scheduleEvent(EventTypeNames::error); |
| - return false; |
| + RefPtr<Event> event = MediaKeyEvent::create(EventTypeNames::webkitneedkey, initializer); |
| + event->setTarget(this); |
| + m_asyncEventQueue->enqueueEvent(event.release()); |
| + return true; |
| } |
| - MediaKeyNeededEventInit initializer; |
| - initializer.initData = initData; |
| - initializer.bubbles = false; |
| - initializer.cancelable = false; |
| - |
| - RefPtr<Event> event = MediaKeyNeededEvent::create(EventTypeNames::webkitneedkey, initializer); |
| - event->setTarget(this); |
| - m_asyncEventQueue->enqueueEvent(event.release()); |
| - |
| - return true; |
| + // Unable to send an event, so send an error. |
|
ddorwin
2014/01/13 19:08:38
The error doesn't exist in the WD, and we never re
jrummell
2014/01/13 22:43:44
Done.
|
| + m_error = MediaError::create(MediaError::MEDIA_ERR_ENCRYPTED); |
| + scheduleEvent(EventTypeNames::error); |
| + return false; |
| } |
| blink::WebContentDecryptionModule* HTMLMediaElement::contentDecryptionModule() |