Index: Source/core/html/HTMLMediaElement.cpp |
diff --git a/Source/core/html/HTMLMediaElement.cpp b/Source/core/html/HTMLMediaElement.cpp |
index 2503550f60f4cfecdf2ca5ee238b38cfb907506b..8ee8c1c256b422cfa97212097b67451a85504992 100644 |
--- a/Source/core/html/HTMLMediaElement.cpp |
+++ b/Source/core/html/HTMLMediaElement.cpp |
@@ -1710,45 +1710,33 @@ 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) |
+bool HTMLMediaElement::mediaPlayerKeyNeeded(const String& contentType, const unsigned char* initData, unsigned initDataLength) |
{ |
- if (!hasEventListeners(EventTypeNames::webkitneedkey)) { |
- m_error = MediaError::create(MediaError::MEDIA_ERR_ENCRYPTED); |
- scheduleEvent(EventTypeNames::error); |
- return false; |
- } |
- |
- MediaKeyEventInit initializer; |
- initializer.keySystem = keySystem; |
- initializer.sessionId = sessionId; |
+ // Send event for WD EME. |
+ MediaKeyNeededEventInit initializer; |
+ initializer.contentType = contentType; |
initializer.initData = Uint8Array::create(initData, initDataLength); |
initializer.bubbles = false; |
initializer.cancelable = false; |
- RefPtr<Event> event = MediaKeyEvent::create(EventTypeNames::webkitneedkey, initializer); |
+ RefPtr<Event> event = MediaKeyNeededEvent::create(EventTypeNames::needkey, initializer); |
event->setTarget(this); |
m_asyncEventQueue->enqueueEvent(event.release()); |
- return true; |
-} |
-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; |
+ // Send event for v0.1b EME. |
+ if (hasEventListeners(EventTypeNames::webkitneedkey)) { |
+ MediaKeyEventInit webkitInitializer; |
+ webkitInitializer.keySystem = String(); |
+ webkitInitializer.sessionId = String(); |
+ webkitInitializer.initData = Uint8Array::create(initData, initDataLength); |
+ webkitInitializer.bubbles = false; |
+ webkitInitializer.cancelable = false; |
+ |
+ event = MediaKeyEvent::create(EventTypeNames::webkitneedkey, webkitInitializer); |
+ event->setTarget(this); |
+ m_asyncEventQueue->enqueueEvent(event.release()); |
} |
- 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; |
} |