Chromium Code Reviews| Index: Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp |
| diff --git a/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp b/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp |
| index 46ffd93f10861149d01eddbff0f021bd0be8a2ae..17d272484189d1fc4054a344b0c903e52995cc52 100644 |
| --- a/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp |
| +++ b/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp |
| @@ -14,12 +14,13 @@ |
| #include "core/html/HTMLMediaElement.h" |
| #include "core/html/MediaKeyError.h" |
| #include "core/html/MediaKeyEvent.h" |
| -#include "modules/encryptedmedia/MediaKeyNeededEvent.h" |
| +#include "modules/encryptedmedia/MediaEncryptedEvent.h" |
| #include "modules/encryptedmedia/MediaKeys.h" |
| #include "modules/encryptedmedia/SimpleContentDecryptionModuleResult.h" |
| #include "platform/ContentDecryptionModuleResult.h" |
| #include "platform/Logging.h" |
| #include "platform/RuntimeEnabledFeatures.h" |
| +#include "wtf/ArrayBuffer.h" |
| #include "wtf/Functional.h" |
| #include "wtf/Uint8Array.h" |
| @@ -286,20 +287,20 @@ ScriptPromise HTMLMediaElementEncryptedMedia::setMediaKeys(ScriptState* scriptSt |
| return SetMediaKeysHandler::create(scriptState, element, mediaKeys); |
| } |
| -// Create a MediaKeyNeededEvent for WD EME. |
| -static PassRefPtrWillBeRawPtr<Event> createNeedKeyEvent(const String& contentType, const unsigned char* initData, unsigned initDataLength) |
| +// Create a MediaEncryptedEvent for WD EME. |
| +static PassRefPtrWillBeRawPtr<Event> createEncryptedEvent(const String& initDataType, const unsigned char* initData, unsigned initDataLength) |
| { |
| - MediaKeyNeededEventInit initializer; |
| - initializer.contentType = contentType; |
| - initializer.initData = Uint8Array::create(initData, initDataLength); |
| + MediaEncryptedEventInit initializer; |
| + initializer.initDataType = initDataType; |
| + initializer.initData = ArrayBuffer::create(initData, initDataLength); |
| initializer.bubbles = false; |
| initializer.cancelable = false; |
| - return MediaKeyNeededEvent::create(EventTypeNames::needkey, initializer); |
| + return MediaEncryptedEvent::create(EventTypeNames::encrypted, initializer); |
| } |
| // Create a 'needkey' MediaKeyEvent for v0.1b EME. |
| -static PassRefPtrWillBeRawPtr<Event> createWebkitNeedKeyEvent(const String& contentType, const unsigned char* initData, unsigned initDataLength) |
| +static PassRefPtrWillBeRawPtr<Event> createWebkitNeedKeyEvent(const unsigned char* initData, unsigned initDataLength) |
| { |
| MediaKeyEventInit webkitInitializer; |
| webkitInitializer.keySystem = String(); |
| @@ -500,20 +501,21 @@ void HTMLMediaElementEncryptedMedia::keyMessage(HTMLMediaElement& element, const |
| element.scheduleEvent(event.release()); |
| } |
| -void HTMLMediaElementEncryptedMedia::keyNeeded(HTMLMediaElement& element, const String& contentType, const unsigned char* initData, unsigned initDataLength) |
| +void HTMLMediaElementEncryptedMedia::keyNeeded(HTMLMediaElement& element, const String& initDataType, const unsigned char* initData, unsigned initDataLength) |
| { |
| - WTF_LOG(Media, "HTMLMediaElementEncryptedMedia::mediaPlayerKeyNeeded: contentType=%s", contentType.utf8().data()); |
| + WTF_LOG(Media, "HTMLMediaElementEncryptedMedia::mediaPlayerKeyNeeded: initDataType=%s", initDataType.utf8().data()); |
|
jrummell
2014/09/26 22:16:23
Method name in message doesn't match.
sandersd (OOO until July 31)
2014/09/26 22:49:21
Done.
|
| if (RuntimeEnabledFeatures::encryptedMediaEnabled()) { |
| // Send event for WD EME. |
| - RefPtrWillBeRawPtr<Event> event = createNeedKeyEvent(contentType, initData, initDataLength); |
| + // FIXME: Check origin before providing initData. http://crbug.com/418233. |
| + RefPtrWillBeRawPtr<Event> event = createEncryptedEvent(initDataType, initData, initDataLength); |
| event->setTarget(&element); |
| element.scheduleEvent(event.release()); |
| } |
| if (RuntimeEnabledFeatures::prefixedEncryptedMediaEnabled()) { |
| // Send event for v0.1b EME. |
| - RefPtrWillBeRawPtr<Event> event = createWebkitNeedKeyEvent(contentType, initData, initDataLength); |
| + RefPtrWillBeRawPtr<Event> event = createWebkitNeedKeyEvent(initData, initDataLength); |
| event->setTarget(&element); |
| element.scheduleEvent(event.release()); |
| } |