2.1.35 [HTML5:2014] Section 4.7.10.5 Loading the media resource

V0071: The suspend event is not fired when preload=none

The specification states:

 ... Loading the media resource
     ...
     The resource fetch algorithm for a media element and a given absolute URL ... is as 
     follows:
         ...
         ...  Optionally, run the following substeps. This is the expected behavior if the 
         user agent intends to not attempt to fetch the resource until the user requests 
         it explicitly (e.g. as a way to implement the preload attribute's none keyword).
             ...
             2.  Queue a task to fire a simple event named suspend at the element ...

All document modes (All versions)

The suspend event is not fired when preload=none.

V0074: When the mode is attribute, the error events do not fire properly

The specification states:

 4.7.10.5 Loading the media resource
     ...
     The resource selection algorithm for a media element is as follows. ...
         ...
         9.  If mode is attribute, then run these substeps:
             ...
             6.  Failed with attribute: Reaching this step indicates that the media 
                 resource failed to load or that the given URL could not be resolved. 
                 Queue a task to run the following steps, using the DOM manipulation task 
                 source:
                 ...
                 5.  Fire a simple event named error at the media element.

All document modes (All versions)

When the mode is attribute, the error events do not fire properly.

V0073: The resource selection algorithm does not set the networkState correctly when load, play, or pause is called

The specification states:

 4.7.10.5 Loading the media resource
     ...
     The resource selection algorithm for a media element is as follows. ...
         ...
         6.  If the media element has a src attribute, then let mode be attribute.
  
             Otherwise, if the media element does not have a src attribute but has a 
             source element child, then let mode be children and let candidate be the 
             first such source element child in tree order.
  
             Otherwise the media element has neither a src attribute nor a source element 
             child: set the networkState to NETWORK_EMPTY, and abort these steps; the 
             synchronous section ends.

All document modes (All versions)

The resource selection algorithm does not set the networkState correctly when load, play or pause is called.

V0070: The loadstart event is not fired when a source element is added to a video element

The specification states:

 ... Loading the media resource
     ...
     The resource selection algorithm for a media element is as follows. ...
         ...
         8.  Queue a task to fire a simple event named loadstart at the media element.

All document modes (All versions)

The loadstart event is not fired when a source element is added to a video element.

V0072: The network state is not set to NETWORK_EMPTY if src is empty

The specification states:

 4.7.10.5 Loading the media resource
     ...
     The resource fetch algorithm for a media element and a given absolute URL is as 
     follows:
         ...
         4.  Perform a potentially CORS-enabled fetch of the current media resource's 
             absolute URL, with the mode being the state of the media element's 
             crossorigin content attribute, the origin being the origin of the media 
             element's Document, and the default origin behaviour set to taint.
             ...
             The networking task source tasks to process the data as it is being fetched 
             must, when appropriate, include the relevant substeps from the following list:
                 ...
                 If the media data is corrupted
                     Fatal errors in decoding the media data that occur after the user 
                     agent has established whether the current media resource is usable 
                     must cause the user agent to execute the following steps: 
                         ...
                         4.  If the media element's readyState attribute has a value equal 
                             to HAVE_NOTHING, set the element's networkState attribute to 
                             the NETWORK_EMPTY value, set the element's show poster flag 
                             to true, and fire a simple event named emptied at the element.

All document modes (All versions)

The networkState is not set to NETWORK_EMPTY if src is empty.

V0075: The src attribute incorrectly resolves invalid data: URLs as valid

The specification states:

 4.7.10.5 Loading the media resource
     ...
     The resource selection algorithm for a media element is as follows. ...
         ...
         ...  If mode is attribute ...
             ...
             3.  If absolute URL was obtained successfully, set the currentSrc attribute 
                 to absolute URL.

All document modes (All versions)

The src attribute incorrectly resolves invalid data: URLs as valid.