Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(166)

Unified Diff: Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp

Issue 655603003: Reland: Remove "needkey" event and add its replacement, "encrypted". (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp
diff --git a/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp b/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp
index 671330fb1712d8a484fb4199d370d4ec3ffe96b8..91b33a26a681315289cf2ef6414fe121e19fc36e 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::encrypted(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::encrypted: initDataType=%s", initDataType.utf8().data());
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());
}

Powered by Google App Engine
This is Rietveld 408576698