diff --git a/Source/WebCore/html/HTMLMediaElement.cpp b/Source/WebCore/html/HTMLMediaElement.cpp
index 359b1282b3426..effc6b91ec2cb 100644
--- a/Source/WebCore/html/HTMLMediaElement.cpp
+++ b/Source/WebCore/html/HTMLMediaElement.cpp
@@ -2885,6 +2885,8 @@ void HTMLMediaElement::progressEventTimerFired()
ASSERT(m_player);
if (m_networkState != NETWORK_LOADING)
return;
+ if (!m_player->supportsProgressMonitoring())
+ return;
MonotonicTime time = MonotonicTime::now();
Seconds timedelta = time - m_previousProgressTime;
diff --git a/Source/WebCore/platform/graphics/MediaPlayer.cpp b/Source/WebCore/platform/graphics/MediaPlayer.cpp
index 0b47c0bd5f2e4..b2de50522309f 100644
--- a/Source/WebCore/platform/graphics/MediaPlayer.cpp
+++ b/Source/WebCore/platform/graphics/MediaPlayer.cpp
@@ -723,6 +723,11 @@ bool MediaPlayer::supportsScanning() const
return m_private->supportsScanning();
}
+bool MediaPlayer::supportsProgressMonitoring() const
+{
+ return m_private->supportsProgressMonitoring();
+}
+
bool MediaPlayer::requiresImmediateCompositing() const
{
return m_private->requiresImmediateCompositing();
diff --git a/Source/WebCore/platform/graphics/MediaPlayer.h b/Source/WebCore/platform/graphics/MediaPlayer.h
index 67a251165cb95..539626eefef22 100644
--- a/Source/WebCore/platform/graphics/MediaPlayer.h
+++ b/Source/WebCore/platform/graphics/MediaPlayer.h
@@ -302,6 +302,7 @@ class WEBCORE_EXPORT MediaPlayer : public MediaPlayerEnums, public RefCounted