The IDL constructor has to take separate steps than a DataTransfer that is internally constructed. Notably, an IDL-created object has its own drag data store, and that store is placed in a read-write mode.
new ImageData()
HTMLInputElement
HTMLProgressElement.max
data
location.protocol
location.search