On Thu, 10 Sep 2009 11:15:06 +0200, Robert O'Callahan <[email protected]> wrote:

On Thu, Sep 10, 2009 at 7:41 PM, Maciej Stachowiak <[email protected]> wrote:

On Sep 9, 2009, at 10:26 PM, Robert O'Callahan wrote:

If you call cloneNode on a media element, the state of the resulting media
element seems unspecified. Should it be playing the same media resource at
the same current time as the original?

Similar questions arise when you clone form elements; is the state that's
not visible in the DOM cloned?

Who should be responsible for defining this?


Does cloneNode require copying any state besides an element's qualified
name, attributes and DOM children? The definition in DOM3Core doesn't say anything else should be copied. Is form control state (such as set of items
selected in a <list multiple>) copied?

Reference for cloneNode:
http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-3A0ED0A4

My assumption based on the spec is that no element-specific internal state
should be copied, the cloning should only be DOM-wise.


It's not obvious to me that DOM 3 Core's silence means nothing else is
copied, since non-DOM state is outside its scope.

I wonder if authors would be surprised if the non-DOM state is not copied.

I would suggest only copying state when it is needed for web compatibility or when there's a compelling use case. In the case of HTMLMediaElement the complexity of setting up a second decoding pipeline and trying to get it into the same state as the first must also be taken into account. A true clone may simply not be possible in all implementations.

--
Philip Jägenstedt
Core Developer
Opera Software

Reply via email to