Example #1
0
void RenderVideo::updatePlayer()
{
    if (documentBeingDestroyed())
        return;

    bool intrinsicSizeChanged;
    intrinsicSizeChanged = updateIntrinsicSize();
    ASSERT_UNUSED(intrinsicSizeChanged, !intrinsicSizeChanged || !view().frameView().isInRenderTreeLayout());

    MediaPlayer* mediaPlayer = videoElement().player();
    if (!mediaPlayer)
        return;

    if (!videoElement().inActiveDocument()) {
        mediaPlayer->setVisible(false);
        return;
    }

    contentChanged(VideoChanged);

    IntRect videoBounds = videoBox();
    mediaPlayer->setSize(IntSize(videoBounds.width(), videoBounds.height()));
#if USE(HOLE_PUNCH_GSTREAMER) || USE(HOLE_PUNCH_EXTERNAL)
    IntRect windowRect = document().view()->contentsToScreen(absoluteBoundingBoxRect(true));
    mediaPlayer->setPosition(IntPoint(windowRect.x(), windowRect.y()));
#endif
    mediaPlayer->setVisible(true);
    mediaPlayer->setShouldMaintainAspectRatio(style().objectFit() != ObjectFitFill);
}
Example #2
0
void RenderVideo::updatePlayer()
{
    if (documentBeingDestroyed())
        return;

    updateIntrinsicSize();

    MediaPlayer* mediaPlayer = videoElement().player();
    if (!mediaPlayer)
        return;

    if (!videoElement().inActiveDocument()) {
        mediaPlayer->setVisible(false);
        return;
    }

#if USE(ACCELERATED_COMPOSITING)
    contentChanged(VideoChanged);
#endif
    
    IntRect videoBounds = videoBox(); 
    mediaPlayer->setFrameView(&view().frameView());
    mediaPlayer->setSize(IntSize(videoBounds.width(), videoBounds.height()));
    mediaPlayer->setVisible(true);
    mediaPlayer->setShouldMaintainAspectRatio(style().objectFit() != ObjectFitFill);
}