We need to add BlobConstructor to DOMWindow.
Created attachment 47209 [details] Proposed Patch
Comment on attachment 47209 [details] Proposed Patch It doesn't seem right that File and Blog have the same prototype.
(In reply to comment #2) > (From update of attachment 47209 [details]) > It doesn't seem right that File and Blog have the same prototype. Thank you for pointing out this. Do you know what causes this problem? Should I make custom constructor?
The reason the test has the output that appears to mean File and Blob have the same prototype is because it marks already-enumerated prototype objects by adding a property to them. Since File is derived from Blob, there is a chain of prototypes. If the Blob prototype is enumerated by the test earlier, the query on the File prototype will yield the same property value, even though the actual prototype object is different. To illustrate: window.Blob.prototype.foo = 153; alert(window.File.prototype.foo) <-- outputs '153' however: window.File.prototype.foo = 153; alert(window.Blob.prototype.foo) <-- outputs 'undefined' This test already does the same for all Element-derived types, like this: window.HTMLAnchorElement.prototype [printed above as window.Element.prototype]
The infinite recursion detection logic in this layout test is broken. I have filed a new bug (https://bugs.webkit.org/show_bug.cgi?id=34018) for this issue. For this patch, I would rather keep the current behavior. So I reactivate this patch.
Committed as http://trac.webkit.org/changeset/53722.