[whatwg] Autoplaying media elements not in a document

  In the description of the media ready states for HAVE_ENOUGH_DATA [1], 
the spec says:

> If the autoplaying flag 
> <http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#autoplaying-flag> 
> is true, and the |paused 
> <http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#dom-media-paused>| 
> attribute is true, and the media element 
> <http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#media-element> 
> has an |autoplay 
> <http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#attr-media-autoplay>| 
> attribute specified, and the media element 
> <http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#media-element> 
> is in a |Document 
> <http://www.whatwg.org/specs/web-apps/current-work/multipage/infrastructure.html#document>| 
> whose browsing context 
> <http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#browsing-context> 
> did not have the sandboxed automatic features browsing context flag 
> <http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#sandboxed-automatic-features-browsing-context-flag> 
> set when the |Document 
> <http://www.whatwg.org/specs/web-apps/current-work/multipage/infrastructure.html#document>| 
> was created, then the user agent may also set the |paused 
> <http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#dom-media-paused>| 
> attribute to false, queue a task 
> <http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#queue-a-task> 
> to fire a simple event 
> <http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#fire-a-simple-event> 
> named |play 
> <http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#event-media-play>|, 
> and queue a task 
> <http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#queue-a-task> 
> to fire a simple event 
> <http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#fire-a-simple-event> 
> named |playing 
> <http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#event-media-playing>|.

This means that we'll will only autoplay if a media element is in a 
document. Why do we prevent media elements not in a document from 
autoplaying? We allow audio from a media element not in a document to 
play, why not allow autoplay to work while not in a document too?

I note that Firefox, Chrome, Safari and Opera all autoplay when a media 
element is not in a document. It looks like IE9 Beta never autoplays 
unless the media element is hard coded in the HTML file with an autoplay 
attribute; IE9 doesn't seem to honour autoplay set from script.

Unless there's a good reason not to, and since most browsers have 
implemented autoplay when not in a document anyway, perhaps we should 
update the spec to match the implemented behaviour?


Regards,
Chris Pearce.

[1] 
http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#dom-media-have_enough_data
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20101018/d8bc58f4/attachment.htm>

Received on Sunday, 17 October 2010 16:01:00 UTC