diff --git a/dom/html/HTMLMediaElement.cpp b/dom/html/HTMLMediaElement.cpp
index ee151115e3db05b4e92c3f68d724bd785f4e4669..b8cfdd0862af690ebaff833049bdd5b48068f34d 100644
--- a/dom/html/HTMLMediaElement.cpp
+++ b/dom/html/HTMLMediaElement.cpp
@@ -453,6 +453,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);
@@ -7007,6 +7008,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();
