MediaKeySession.close() specifies:
step 2: If session is closed, return a resolved promise.
step 5.3: Queue a task to run the following steps:
step 5.3.1: Run the Session Closed algorithm on the session.
However, the definition of "closed" from step 2 states "MediaKeySession object is closed if and only if the Session Closed algorithm has been run." Depending upon timing, it is possible that an application could call close() multiple times before the Session Closed algorithm has actually run.
This would apply to any operation that checks "if the session is closed ..." before running steps in a separate task.
MediaKeySession.close() specifies: step 2: If session is closed, return a resolved promise. step 5.3: Queue a task to run the following steps: step 5.3.1: Run the Session Closed algorithm on the session.
However, the definition of "closed" from step 2 states "MediaKeySession object is closed if and only if the Session Closed algorithm has been run." Depending upon timing, it is possible that an application could call close() multiple times before the Session Closed algorithm has actually run.
This would apply to any operation that checks "if the session is closed ..." before running steps in a separate task.