QUrl DumpRenderTreeSupportQt::mediaContentUrlByElementId(QWebFrameAdapter* adapter, const QString& elementId) { QUrl res; #if ENABLE(VIDEO) && USE(QT_MULTIMEDIA) Frame* coreFrame = adapter->frame; if (!coreFrame) return res; Document* doc = coreFrame->document(); if (!doc) return res; Node* coreNode = doc->getElementById(elementId); if (!coreNode) return res; HTMLVideoElement* videoElement = static_cast<HTMLVideoElement*>(coreNode); PlatformMedia platformMedia = videoElement->platformMedia(); if (platformMedia.type != PlatformMedia::QtMediaPlayerType) return res; MediaPlayerPrivateQt* mediaPlayerQt = static_cast<MediaPlayerPrivateQt*>(platformMedia.media.qtMediaPlayer); if (mediaPlayerQt && mediaPlayerQt->mediaPlayer()) res = mediaPlayerQt->mediaPlayer()->media().canonicalUrl(); #endif return res; }
void FullScreenVideoQt::enterFullScreenForNode(Node* node) { Q_ASSERT(node); m_videoElement = static_cast<HTMLVideoElement*>(node); #if USE(QT_MULTIMEDIA) Q_ASSERT(m_FullScreenVideoHandler); HTMLVideoElement* videoElement = static_cast<HTMLVideoElement*>(node); PlatformMedia platformMedia = videoElement->platformMedia(); ASSERT(platformMedia.type == PlatformMedia::QtMediaPlayerType); if (platformMedia.type != PlatformMedia::QtMediaPlayerType) return; if (!m_FullScreenVideoHandler) return; MediaPlayerPrivateQt* mediaPlayerQt = mediaPlayer(); mediaPlayerQt->removeVideoItem(); m_FullScreenVideoHandler->enterFullScreen(mediaPlayerQt->mediaPlayer()); #endif #if USE(GSTREAMER) m_FullScreenVideoHandlerGStreamer->setVideoElement(m_videoElement); m_FullScreenVideoHandlerGStreamer->enterFullScreen(); #endif #if USE(QTKIT) m_FullScreenVideoHandlerQTKit->enterFullScreen(m_videoElement); #endif }