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; |
} |