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 (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, // so don't return the initData. However, they still get an event. event = createEncryptedEvent(WebEncryptedMediaInitDataType::Unknown, nullptr, 0); } 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(m_mediaElement); m_mediaElement->scheduleEvent(event.release()); } }
void HTMLMediaElementEncryptedMedia::encrypted(HTMLMediaElement& element, const String& initDataType, const unsigned char* initData, unsigned initDataLength) { WTF_LOG(Media, "HTMLMediaElementEncryptedMedia::encrypted: initDataType=%s", initDataType.utf8().data()); if (RuntimeEnabledFeatures::encryptedMediaEnabled()) { // Send event for WD EME. // FIXME: Check origin before providing initData. http://crbug.com/418233. RefPtrWillBeRawPtr<Event> event = createEncryptedEvent(initDataType, initData, initDataLength); event->setTarget(&element); element.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()); } }