Chromium Code Reviews| 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; |
| } |