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::exitFullScreenForNode(Node* node) { Q_ASSERT(node); #if USE(QT_MULTIMEDIA) HTMLVideoElement* videoElement = static_cast<HTMLVideoElement*>(node); PlatformMedia platformMedia = videoElement->platformMedia(); ASSERT(platformMedia.type == PlatformMedia::QtMediaPlayerType); if (platformMedia.type != PlatformMedia::QtMediaPlayerType) return; Q_ASSERT(m_FullScreenVideoHandler); if (!m_FullScreenVideoHandler) return; m_FullScreenVideoHandler->exitFullScreen(); MediaPlayerPrivateQt* mediaPlayerQt = mediaPlayer(); mediaPlayerQt->restoreVideoItem(); #endif #if USE(GSTREAMER) m_FullScreenVideoHandlerGStreamer->exitFullScreen(); #endif #if USE(QTKIT) m_FullScreenVideoHandlerQTKit->exitFullScreen(); #endif }