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

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: Patch cleanup and review comments fix 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 cfd1fd8a0e40707c19053d5192fb7ccdb2358fc8..bf28aa43f98908ab1d4eeb15ffd1304f437b5544 100644
--- a/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp
+++ b/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp
@@ -295,8 +295,9 @@ DEFINE_TRACE(SetMediaKeysHandler)
ScriptPromiseResolver::trace(visitor);
}
-HTMLMediaElementEncryptedMedia::HTMLMediaElementEncryptedMedia()
- : m_emeMode(EmeModeNotSelected)
+HTMLMediaElementEncryptedMedia::HTMLMediaElementEncryptedMedia(HTMLMediaElement& element)
+ : m_mediaElement(element)
+ , m_emeMode(EmeModeNotSelected)
, m_isWaitingForKey(false)
{
}
@@ -319,7 +320,7 @@ HTMLMediaElementEncryptedMedia& HTMLMediaElementEncryptedMedia::from(HTMLMediaEl
{
HTMLMediaElementEncryptedMedia* supplement = static_cast<HTMLMediaElementEncryptedMedia*>(WillBeHeapSupplement<HTMLMediaElement>::from(element, supplementName()));
if (!supplement) {
- supplement = new HTMLMediaElementEncryptedMedia();
+ supplement = new HTMLMediaElementEncryptedMedia(element);
provideTo(element, supplementName(), adoptPtrWillBeNoop(supplement));
}
return *supplement;
@@ -501,7 +502,7 @@ void HTMLMediaElementEncryptedMedia::cancelKeyRequest(WebMediaPlayer* webMediaPl
throwExceptionIfMediaKeyExceptionOccurred(keySystem, sessionId, result, exceptionState);
}
-void HTMLMediaElementEncryptedMedia::keyAdded(HTMLMediaElement& element, const String& keySystem, const String& sessionId)
+void HTMLMediaElementEncryptedMedia::keyAdded(const WebString& keySystem, const WebString& sessionId)
{
WTF_LOG(Media, "HTMLMediaElementEncryptedMedia::mediaPlayerKeyAdded");
@@ -510,32 +511,32 @@ void HTMLMediaElementEncryptedMedia::keyAdded(HTMLMediaElement& element, const S
initializer.setSessionId(sessionId);
RefPtrWillBeRawPtr<Event> event = MediaKeyEvent::create(EventTypeNames::webkitkeyadded, initializer);
- event->setTarget(&element);
- element.scheduleEvent(event.release());
+ event->setTarget(&m_mediaElement);
+ m_mediaElement.scheduleEvent(event.release());
}
-void HTMLMediaElementEncryptedMedia::keyError(HTMLMediaElement& element, const String& keySystem, const String& sessionId, WebMediaPlayerClient::MediaKeyErrorCode errorCode, unsigned short systemCode)
+void HTMLMediaElementEncryptedMedia::keyError(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;
}
@@ -547,11 +548,11 @@ void HTMLMediaElementEncryptedMedia::keyError(HTMLMediaElement& element, const S
initializer.setSystemCode(systemCode);
RefPtrWillBeRawPtr<Event> event = MediaKeyEvent::create(EventTypeNames::webkitkeyerror, initializer);
- event->setTarget(&element);
- element.scheduleEvent(event.release());
+ event->setTarget(&m_mediaElement);
+ m_mediaElement.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(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());
@@ -562,18 +563,18 @@ void HTMLMediaElementEncryptedMedia::keyMessage(HTMLMediaElement& element, const
initializer.setDefaultURL(KURL(defaultURL));
RefPtrWillBeRawPtr<Event> event = MediaKeyEvent::create(EventTypeNames::webkitkeymessage, initializer);
- event->setTarget(&element);
- element.scheduleEvent(event.release());
+ event->setTarget(&m_mediaElement);
+ m_mediaElement.scheduleEvent(event.release());
}
-void HTMLMediaElementEncryptedMedia::encrypted(HTMLMediaElement& element, WebEncryptedMediaInitDataType initDataType, const unsigned char* initData, unsigned initDataLength)
+void HTMLMediaElementEncryptedMedia::encrypted(WebEncryptedMediaInitDataType initDataType, const unsigned char* initData, unsigned initDataLength)
{
WTF_LOG(Media, "HTMLMediaElementEncryptedMedia::encrypted");
if (RuntimeEnabledFeatures::encryptedMediaEnabled()) {
// Send event for WD EME.
RefPtrWillBeRawPtr<Event> event;
- if (element.isMediaDataCORSSameOrigin(element.executionContext()->securityOrigin())) {
+ if (m_mediaElement.isMediaDataCORSSameOrigin(m_mediaElement.executionContext()->securityOrigin())) {
event = createEncryptedEvent(initDataType, initData, initDataLength);
} else {
// Current page is not allowed to see content from the media file,
@@ -581,19 +582,19 @@ void HTMLMediaElementEncryptedMedia::encrypted(HTMLMediaElement& element, WebEnc
event = createEncryptedEvent(WebEncryptedMediaInitDataType::Unknown, nullptr, 0);
}
- event->setTarget(&element);
- element.scheduleEvent(event.release());
+ event->setTarget(&m_mediaElement);
+ m_mediaElement.scheduleEvent(event.release());
}
if (RuntimeEnabledFeatures::prefixedEncryptedMediaEnabled()) {
// Send event for v0.1b EME.
RefPtrWillBeRawPtr<Event> event = createWebkitNeedKeyEvent(initData, initDataLength);
- event->setTarget(&element);
- element.scheduleEvent(event.release());
+ event->setTarget(&m_mediaElement);
+ m_mediaElement.scheduleEvent(event.release());
}
}
-void HTMLMediaElementEncryptedMedia::didBlockPlaybackWaitingForKey(HTMLMediaElement& element)
+void HTMLMediaElementEncryptedMedia::didBlockPlaybackWaitingForKey()
{
WTF_LOG(Media, "HTMLMediaElementEncryptedMedia::didBlockPlaybackWaitingForKey");
@@ -603,14 +604,14 @@ void HTMLMediaElementEncryptedMedia::didBlockPlaybackWaitingForKey(HTMLMediaElem
// FIXME: Is this really required?
// 1. Let the media element be the specified HTMLMediaElement object.
- HTMLMediaElementEncryptedMedia& thisElement = HTMLMediaElementEncryptedMedia::from(element);
+ HTMLMediaElementEncryptedMedia& thisElement = HTMLMediaElementEncryptedMedia::from(m_mediaElement);
ddorwin 2015/05/19 17:01:49 |thisElement| is just |this|. Access members direc
// 2. If the media element's waiting for key value is false, queue a task
// to fire a simple event named waitingforkey at the media element.
if (!thisElement.m_isWaitingForKey) {
RefPtrWillBeRawPtr<Event> event = Event::create(EventTypeNames::waitingforkey);
- event->setTarget(&element);
- element.scheduleEvent(event.release());
+ event->setTarget(&m_mediaElement);
+ m_mediaElement.scheduleEvent(event.release());
}
// 3. Set the media element's waiting for key value to true.
@@ -620,14 +621,14 @@ void HTMLMediaElementEncryptedMedia::didBlockPlaybackWaitingForKey(HTMLMediaElem
// (Already done on the Chromium side by the decryptors.)
}
-void HTMLMediaElementEncryptedMedia::didResumePlaybackBlockedForKey(HTMLMediaElement& element)
+void HTMLMediaElementEncryptedMedia::didResumePlaybackBlockedForKey()
{
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(m_mediaElement);
ddorwin 2015/05/19 17:01:49 ditto
thisElement.m_isWaitingForKey = false;
}

Powered by Google App Engine
This is Rietveld 408576698