diff --git a/dom/html/HTMLMediaElement.cpp b/dom/html/HTMLMediaElement.cpp
index add22d0f3c462eae3d5b5140779ff7a4e25f9321..7653df83680ee0e6c765432b1539fe1c90bfae35 100644
--- a/dom/html/HTMLMediaElement.cpp
+++ b/dom/html/HTMLMediaElement.cpp
@@ -452,6 +452,7 @@ class HTMLMediaElement::MediaControlKeyListener final
     // audible state. Therefore, in that case we would noitfy the audible state
     // when media starts playing.
     if (mState == MediaPlaybackState::ePlayed) {
+      NotifyMediaPositionState();
       NotifyAudibleStateChanged(mIsOwnerAudible
                                     ? MediaAudibleState::eAudible
                                     : MediaAudibleState::eInaudible);
@@ -6955,6 +6956,9 @@ void HTMLMediaElement::FireTimeUpdate(TimeupdateType aType) {
     QueueTask(std::move(runner));
     mQueueTimeUpdateRunnerTime = TimeStamp::Now();
     mLastCurrentTime = CurrentTime();
+    if (aType == TimeupdateType::eMandatory) {
+      mMediaControlKeyListener->NotifyMediaPositionState();
+    }
   }
   if (mFragmentEnd >= 0.0 && CurrentTime() >= mFragmentEnd) {
     Pause();
