Index: Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp |
diff --git a/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp b/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp |
index 1bf9aa42552ce3e5f8ede7ada88de4c677b40ac0..7594cb243407be7383eb99466bf77e9f9c8038f5 100644 |
--- a/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp |
+++ b/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp |
@@ -446,10 +446,11 @@ void HTMLMediaElementEncryptedMedia::cancelKeyRequest(WebMediaPlayer* webMediaPl |
throwExceptionIfMediaKeyExceptionOccurred(keySystem, sessionId, result, exceptionState); |
} |
-void HTMLMediaElementEncryptedMedia::keyAdded(HTMLMediaElement& element, const String& keySystem, const String& sessionId) |
+void HTMLMediaElementEncryptedMedia::keyAdded(WebMediaPlayerClient* client, const WebString& keySystem, const WebString& sessionId) |
{ |
WTF_LOG(Media, "HTMLMediaElementEncryptedMedia::mediaPlayerKeyAdded"); |
+ HTMLMediaElement& element = *(static_cast<HTMLMediaElement*>(client)); |
ddorwin
2015/05/08 17:49:41
Hopefully we can avoid this. See above.
Srirama
2015/05/19 10:39:47
Done.
|
MediaKeyEventInit initializer; |
initializer.setKeySystem(keySystem); |
initializer.setSessionId(sessionId); |
@@ -459,28 +460,28 @@ void HTMLMediaElementEncryptedMedia::keyAdded(HTMLMediaElement& element, const S |
element.scheduleEvent(event.release()); |
} |
-void HTMLMediaElementEncryptedMedia::keyError(HTMLMediaElement& element, const String& keySystem, const String& sessionId, WebMediaPlayerClient::MediaKeyErrorCode errorCode, unsigned short systemCode) |
+void HTMLMediaElementEncryptedMedia::keyError(WebMediaPlayerClient* client, const WebString& keySystem, const WebString& sessionId, WebMediaPlayerEncryptedMediaClient::MediaKeyErrorCode errorCode, unsigned short systemCode) |
{ |
WTF_LOG(Media, "HTMLMediaElementEncryptedMedia::mediaPlayerKeyError: sessionID=%s, errorCode=%d, systemCode=%d", sessionId.utf8().data(), errorCode, systemCode); |
MediaKeyError::Code mediaKeyErrorCode = MediaKeyError::MEDIA_KEYERR_UNKNOWN; |
switch (errorCode) { |
- case WebMediaPlayerClient::MediaKeyErrorCodeUnknown: |
+ case WebMediaPlayerEncryptedMediaClient::MediaKeyErrorCodeUnknown: |
mediaKeyErrorCode = MediaKeyError::MEDIA_KEYERR_UNKNOWN; |
break; |
- case WebMediaPlayerClient::MediaKeyErrorCodeClient: |
+ case WebMediaPlayerEncryptedMediaClient::MediaKeyErrorCodeClient: |
mediaKeyErrorCode = MediaKeyError::MEDIA_KEYERR_CLIENT; |
break; |
- case WebMediaPlayerClient::MediaKeyErrorCodeService: |
+ case WebMediaPlayerEncryptedMediaClient::MediaKeyErrorCodeService: |
mediaKeyErrorCode = MediaKeyError::MEDIA_KEYERR_SERVICE; |
break; |
- case WebMediaPlayerClient::MediaKeyErrorCodeOutput: |
+ case WebMediaPlayerEncryptedMediaClient::MediaKeyErrorCodeOutput: |
mediaKeyErrorCode = MediaKeyError::MEDIA_KEYERR_OUTPUT; |
break; |
- case WebMediaPlayerClient::MediaKeyErrorCodeHardwareChange: |
+ case WebMediaPlayerEncryptedMediaClient::MediaKeyErrorCodeHardwareChange: |
mediaKeyErrorCode = MediaKeyError::MEDIA_KEYERR_HARDWARECHANGE; |
break; |
- case WebMediaPlayerClient::MediaKeyErrorCodeDomain: |
+ case WebMediaPlayerEncryptedMediaClient::MediaKeyErrorCodeDomain: |
mediaKeyErrorCode = MediaKeyError::MEDIA_KEYERR_DOMAIN; |
break; |
} |
@@ -491,12 +492,13 @@ void HTMLMediaElementEncryptedMedia::keyError(HTMLMediaElement& element, const S |
initializer.setErrorCode(MediaKeyError::create(mediaKeyErrorCode)); |
initializer.setSystemCode(systemCode); |
+ HTMLMediaElement& element = *(static_cast<HTMLMediaElement*>(client)); |
RefPtrWillBeRawPtr<Event> event = MediaKeyEvent::create(EventTypeNames::webkitkeyerror, initializer); |
event->setTarget(&element); |
element.scheduleEvent(event.release()); |
} |
-void HTMLMediaElementEncryptedMedia::keyMessage(HTMLMediaElement& element, const String& keySystem, const String& sessionId, const unsigned char* message, unsigned messageLength, const WebURL& defaultURL) |
+void HTMLMediaElementEncryptedMedia::keyMessage(WebMediaPlayerClient* client, const WebString& keySystem, const WebString& sessionId, const unsigned char* message, unsigned messageLength, const WebURL& defaultURL) |
{ |
WTF_LOG(Media, "HTMLMediaElementEncryptedMedia::mediaPlayerKeyMessage: sessionID=%s", sessionId.utf8().data()); |
@@ -506,15 +508,17 @@ void HTMLMediaElementEncryptedMedia::keyMessage(HTMLMediaElement& element, const |
initializer.setMessage(DOMUint8Array::create(message, messageLength)); |
initializer.setDefaultURL(KURL(defaultURL)); |
+ HTMLMediaElement& element = *(static_cast<HTMLMediaElement*>(client)); |
RefPtrWillBeRawPtr<Event> event = MediaKeyEvent::create(EventTypeNames::webkitkeymessage, initializer); |
event->setTarget(&element); |
element.scheduleEvent(event.release()); |
} |
-void HTMLMediaElementEncryptedMedia::encrypted(HTMLMediaElement& element, WebEncryptedMediaInitDataType initDataType, const unsigned char* initData, unsigned initDataLength) |
+void HTMLMediaElementEncryptedMedia::encrypted(WebMediaPlayerClient* client, WebEncryptedMediaInitDataType initDataType, const unsigned char* initData, unsigned initDataLength) |
{ |
WTF_LOG(Media, "HTMLMediaElementEncryptedMedia::encrypted"); |
+ HTMLMediaElement& element = *(static_cast<HTMLMediaElement*>(client)); |
if (RuntimeEnabledFeatures::encryptedMediaEnabled()) { |
// Send event for WD EME. |
RefPtrWillBeRawPtr<Event> event; |
@@ -538,7 +542,7 @@ void HTMLMediaElementEncryptedMedia::encrypted(HTMLMediaElement& element, WebEnc |
} |
} |
-void HTMLMediaElementEncryptedMedia::didBlockPlaybackWaitingForKey(HTMLMediaElement& element) |
+void HTMLMediaElementEncryptedMedia::didBlockPlaybackWaitingForKey(WebMediaPlayerClient* client) |
ddorwin
2015/05/08 17:49:41
Don't need this parameter.
Srirama
2015/05/19 10:39:47
Done.
|
{ |
WTF_LOG(Media, "HTMLMediaElementEncryptedMedia::didBlockPlaybackWaitingForKey"); |
@@ -547,6 +551,7 @@ void HTMLMediaElementEncryptedMedia::didBlockPlaybackWaitingForKey(HTMLMediaElem |
// playing and its readyState is equal to HAVE_FUTURE_DATA or greater. |
// FIXME: Is this really required? |
+ HTMLMediaElement& element = *(static_cast<HTMLMediaElement*>(client)); |
ddorwin
2015/05/08 17:49:41
We don't need any of this because this is no longe
Srirama
2015/05/19 10:39:47
Done.
|
// 1. Let the media element be the specified HTMLMediaElement object. |
HTMLMediaElementEncryptedMedia& thisElement = HTMLMediaElementEncryptedMedia::from(element); |
@@ -565,14 +570,14 @@ void HTMLMediaElementEncryptedMedia::didBlockPlaybackWaitingForKey(HTMLMediaElem |
// (Already done on the Chromium side by the decryptors.) |
} |
-void HTMLMediaElementEncryptedMedia::didResumePlaybackBlockedForKey(HTMLMediaElement& element) |
+void HTMLMediaElementEncryptedMedia::didResumePlaybackBlockedForKey(WebMediaPlayerClient* client) |
ddorwin
2015/05/08 17:49:41
ditto
Srirama
2015/05/19 10:39:47
Done.
|
{ |
WTF_LOG(Media, "HTMLMediaElementEncryptedMedia::didResumePlaybackBlockedForKey"); |
// Logic is on the Chromium side to attempt to resume playback when a new |
// key is available. However, |m_isWaitingForKey| needs to be cleared so |
// that a later waitingForKey() call can generate the event. |
- HTMLMediaElementEncryptedMedia& thisElement = HTMLMediaElementEncryptedMedia::from(element); |
+ HTMLMediaElementEncryptedMedia& thisElement = HTMLMediaElementEncryptedMedia::from(*(static_cast<HTMLMediaElement*>(client))); |
thisElement.m_isWaitingForKey = false; |
} |