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

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

Issue 1055503002: Eliminate MediaPlayer & MediaPlayerClient abstractions (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Added separate interface for EncryptedMedia Created 5 years, 7 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 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;
}

Powered by Google App Engine
This is Rietveld 408576698