diff --git a/dom/chrome-webidl/MediaController.webidl b/dom/chrome-webidl/MediaController.webidl
index eea39e9f70b1ba216dc5131bc3aa8b6ef46ca5ea..fd24ad430aeb64c4d622b3765af359579a903c40 100644
--- a/dom/chrome-webidl/MediaController.webidl
+++ b/dom/chrome-webidl/MediaController.webidl
@@ -23,6 +23,12 @@ enum MediaControlKey {
   "setvolume",
 };
 
+dictionary MediaControllerPositionState {
+  required double duration;
+  required double playbackRate;
+  required double position;
+};
+
 /**
  * MediaController is used to control media playback for a tab, and each tab
  * would only have one media controller, which can be accessed from the
@@ -36,10 +42,14 @@ interface MediaController : EventTarget {
   readonly attribute boolean isPlaying;
   readonly attribute boolean isAnyMediaBeingControlled;
   readonly attribute MediaSessionPlaybackState playbackState;
+  readonly attribute boolean isBeingUsedInPIPModeOrFullscreen;
 
   [Throws]
   MediaMetadataInit getMetadata();
 
+  [Throws]
+  MediaControllerPositionState getPositionState();
+
   [Frozen, Cached, Pure]
   readonly attribute sequence<MediaControlKey> supportedKeys;
 
