[encrypted-media] Fix algorithm inconsistencies

ddorwin has just created a new issue for 
https://github.com/w3c/encrypted-media:

== Fix algorithm inconsistencies ==
This issue tracks a set of issues that affect spec and algorithmic 
correctness and readability. (Many in this initial list were discussed
 and/or identified in #171 and related PRs but are independent of or 
should be resolved before #171.) Please feel free to propose related 
additional candidates in comments. To facilitate more effective 
reviews, please submit focused PRs for one or more related issue 
and/or algorithm.

1. #153
1. Clearly document which entity (user agent or CDM) executes each 
algorithm to reduce confusion and the potential for future issues. 
(This should be implemented along with #153.)
 * It may also be helpful to specify which entity calls an algorithm 
where appropriate.
 * For example, "This algorithm is [called by the CDM and] executed in
 the user agent."
1. Ensure the spec's use of algorithms is consistent with the above 
changes.
1. Make the Close All Sessions algorithm consistent with the `close()`
 algorithm (see 
https://github.com/w3c/encrypted-media/issues/171#issuecomment-217001207).
 * The Close All Sessions algorithm is currently called by both the 
user agent and CDM.
 * Other than the one case mentioned in the above comment, the Session
 Close algorithm is only called by the CDM.
1. Be consistent in how the user agent uses the CDM to perform 
operations 
(https://github.com/w3c/encrypted-media/issues/171#issuecomment-217001207).
1. Remove the redundant call to `update-key-statuses-algorithm` 
(https://github.com/w3c/encrypted-media/pull/179#discussion-diff-62074223).
1. Ensure the meaning of "the Session Close algorithm has been run on 
this object" is unambiguous.
 * Since this can be triggered by various paths and the algorithm 
itself may (TBD whether it does after fixing the above issues) involve
 asynchronous operations, it could be unambiguous as to at which point
 algorithm steps containing the condition above should be triggered.


<br/>Related but not specifically covered by this issue since it 
involves modifying behavior:
- Address the redundancy between `remove()` and `close()` described in
 #180.

Please view or discuss this issue at 
https://github.com/w3c/encrypted-media/issues/181 using your GitHub 
account

Received on Friday, 6 May 2016 00:21:10 UTC