Transforming DataTransfer.setData HTML content

Safari, Firefox and Chrome all have different behavior when handling a call like event.clipboardData.setData("text/html", "text"):

Safari puts "text" on the pasteboard.
Firefox puts <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body>text</body></html>
Chrome puts <meta charset='utf-8'>text

Is there any provision in any applicable spec that allows for such transformation? From what I could find, Safari behavior is the only one allowed. Did I miss something? Should the specs be changed?

Note that Firefox and Chrome implementations appear to be fairly naive. So Firefox for example can end up with something like this when trying to repair the string:

<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body><meta charset='us-ascii'><body>text</body></html></body></html>

- WBR, Alexey Proskuryakov

Received on Friday, 28 February 2014 21:44:23 UTC