| Index: Source/core/html/HTMLMediaElement.cpp
|
| diff --git a/Source/core/html/HTMLMediaElement.cpp b/Source/core/html/HTMLMediaElement.cpp
|
| index 42f201be24c22d76ea68cd36081d7fbe823fab14..c178b28befaa4f01bb01358c51a60195960c8b8a 100644
|
| --- a/Source/core/html/HTMLMediaElement.cpp
|
| +++ b/Source/core/html/HTMLMediaElement.cpp
|
| @@ -1724,7 +1724,7 @@ void HTMLMediaElement::addPlayedRange(double start, double end)
|
|
|
| bool HTMLMediaElement::supportsSave() const
|
| {
|
| - return m_player ? m_player->supportsSave() : false;
|
| + return webMediaPlayer() && webMediaPlayer()->supportsSave();
|
| }
|
|
|
| void HTMLMediaElement::prepareToPlay()
|
| @@ -1780,12 +1780,13 @@ void HTMLMediaElement::seek(double time, ExceptionState& exceptionState)
|
| // time scale, we will ask the media engine to "seek" to the current movie time, which may be a noop and
|
| // not generate a timechanged callback. This means m_seeking will never be cleared and we will never
|
| // fire a 'seeked' event.
|
| + double mediaTime = webMediaPlayer()->mediaTimeForTimeValue(time);
|
| + if (time != mediaTime) {
|
| #if !LOG_DISABLED
|
| - double mediaTime = m_player->mediaTimeForTimeValue(time);
|
| - if (time != mediaTime)
|
| WTF_LOG(Media, "HTMLMediaElement::seek(%f) - media timeline equivalent is %f", time, mediaTime);
|
| #endif
|
| - time = m_player->mediaTimeForTimeValue(time);
|
| + time = mediaTime;
|
| + }
|
|
|
| // 7 - If the (possibly now changed) new playback position is not in one of the ranges given in the
|
| // seekable attribute, then let it be the position in one of the ranges given in the seekable attribute
|
| @@ -2830,7 +2831,7 @@ void HTMLMediaElement::mediaPlayerPlaybackStateChanged()
|
| if (!m_player || m_pausedInternal)
|
| return;
|
|
|
| - if (m_player->paused())
|
| + if (webMediaPlayer()->paused())
|
| pause();
|
| else
|
| playInternal();
|
| @@ -3002,8 +3003,8 @@ void HTMLMediaElement::updatePlayState()
|
| return;
|
|
|
| if (m_pausedInternal) {
|
| - if (!m_player->paused())
|
| - m_player->pause();
|
| + if (webMediaPlayer() && !webMediaPlayer()->paused())
|
| + webMediaPlayer()->pause();
|
| refreshCachedTime();
|
| m_playbackProgressTimer.stop();
|
| if (hasMediaControls())
|
| @@ -3012,7 +3013,7 @@ void HTMLMediaElement::updatePlayState()
|
| }
|
|
|
| bool shouldBePlaying = potentiallyPlaying();
|
| - bool playerPaused = m_player->paused();
|
| + bool playerPaused = webMediaPlayer() && webMediaPlayer()->paused();
|
|
|
| WTF_LOG(Media, "HTMLMediaElement::updatePlayState - shouldBePlaying = %s, playerPaused = %s",
|
| boolString(shouldBePlaying), boolString(playerPaused));
|
| @@ -3026,8 +3027,7 @@ void HTMLMediaElement::updatePlayState()
|
| // The media engine should just stash the rate and muted values since it isn't already playing.
|
| m_player->setRate(m_playbackRate);
|
| updateVolume();
|
| -
|
| - m_player->play();
|
| + webMediaPlayer()->play();
|
| }
|
|
|
| if (hasMediaControls())
|
| @@ -3036,8 +3036,8 @@ void HTMLMediaElement::updatePlayState()
|
| m_playing = true;
|
|
|
| } else { // Should not be playing right now
|
| - if (!playerPaused)
|
| - m_player->pause();
|
| + if (!playerPaused && webMediaPlayer())
|
| + webMediaPlayer()->pause();
|
| refreshCachedTime();
|
|
|
| m_playbackProgressTimer.stop();
|
|
|