diff --git a/source b/source index be225bcd16c..291c45fff57 100644 --- a/source +++ b/source @@ -39605,11 +39605,11 @@ interface MediaError {
The buffered attribute must return a new static
- normalized TimeRanges object that represents the ranges of the
- media resource, if any, that the user agent has buffered, at the time the attribute
- is evaluated. User agents must accurately determine the ranges available, even for media streams
- where this can only be determined by tedious inspection.
TimeRanges object that represents the ranges of
+ this's media resource, if any, that the user agent has buffered. User
+ agents must accurately determine the ranges available, even for media streams where this can
+ only be determined by tedious inspection.
Typically this will be a single range anchored at the zero point, but if, e.g. the @@ -40499,10 +40499,10 @@ interface MediaError {
The played
- attribute must return a new static normalized TimeRanges object that
- represents the ranges of points on the media timeline of the media
- resource reached through the usual monotonic increase of the current playback
- position during normal playback, if any, at the time the attribute is evaluated.
TimeRanges object that
+ represents the ranges of points on the media timeline of this's
+ media resource reached through the usual monotonic increase of this's
+ current playback position during normal playback, if any.
Returning a new object each time is a bad pattern for attribute getters and is @@ -41170,10 +41170,10 @@ interface MediaError {
The seekable attribute must return a new static
- normalized TimeRanges object that represents the ranges of the
- media resource, if any, that the user agent is able to seek to, at the time the
- attribute is evaluated.
TimeRanges object that represents the ranges of
+ this's media resource, if any, that the user agent is able to seek
+ to.
If the user agent can seek to anywhere in the media resource, e.g. @@ -43577,52 +43577,88 @@ interface TimeRanges {
A TimeRanges object has ranges, a
+ list of zero or more time ranges.
A time range is a struct with the following + items:
+ +A start, a number, in seconds.
An end, a number, in seconds.
The length
- IDL attribute must return the number of ranges represented by the object.
The start(index) method must return the position
- of the start of the indexth range represented by the object, in seconds measured from
- the start of the timeline that the object covers.
If index is greater than or equal to this's ranges's size, then throw an
+ "IndexSizeError" DOMException.
Return this's ranges[index]'s start.
The end(index) method must return the position of
- the end of the indexth range represented by the object, in seconds measured from the
- start of the timeline that the object covers.
If index is greater than or equal to this's ranges's size, then throw an
+ "IndexSizeError" DOMException.
These methods must throw "IndexSizeError" DOMExceptions
- if called with an index argument greater than or equal to the number of ranges
- represented by the object.
Return this's ranges[index]'s end.
When a TimeRanges object is said to be a normalized TimeRanges object,
- the ranges it represents must obey the following criteria:
A TimeRanges object is a normalized TimeRanges object if the following are true for each time range in its ranges:
Its start is greater than the end of all earlier time + ranges.
Its start is less than or equal to its end.
In other words, the ranges in such an object are ordered, don't overlap, and don't touch - (adjacent ranges are folded into one bigger range). A range can be empty (referencing just a - single moment in time), e.g. to indicate that only one frame is currently buffered in the case - that the user agent has discarded the entire media resource except for the current - frame, when a media element is paused.
- -Ranges in a TimeRanges object must be inclusive.
Thus, the end of a range would be equal to the start of a following adjacent - (touching but not overlapping) range. Similarly, a range covering a whole timeline anchored at - zero would have a start equal to zero and an end equal to the duration of the timeline.
+In other words, the time ranges in such an object are + ordered, don't overlap, and don't touch (adjacent ones are folded into one bigger time range). A time range + can be empty (referencing just a single moment in time), e.g., to indicate that only one frame is + currently buffered in the case that the user agent has discarded the entire media + resource except for the current frame, when a media element is paused.
+ +A time range's start and end + are inclusive.
+ +Thus, the end of a time range would be equal to the start of a following adjacent (touching but not + overlapping) time range. Similarly, a time range covering a whole timeline anchored at zero would have + a start equal to zero and an end equal to the duration of the timeline.
The timelines used by the objects returned by the buffered, seekable, and