Bug 1159401 - patch 2 - Avoid multiple inheritance of nsIDOMBlob, r=bz
☠☠ backed out by 49678aa590e2 ☠ ☠
authorAndrea Marchesini <amarchesini@mozilla.com>
Mon, 11 May 2015 15:20:35 +0100
changeset 243266 4287533203fb5c458e8b6281013a97dd1d421295
parent 243265 96a3ebfe09d801bbc47206d31e10b8e470faa333
child 243267 5b68de5f1dc9af107c2afd6557c5bee1b5e60142
push id59626
push useramarchesini@mozilla.com
push dateMon, 11 May 2015 14:32:49 +0000
treeherdermozilla-inbound@4287533203fb [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbz
bugs1159401
milestone40.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1159401 - patch 2 - Avoid multiple inheritance of nsIDOMBlob, r=bz
dom/base/nsIDOMFile.idl
--- a/dom/base/nsIDOMFile.idl
+++ b/dom/base/nsIDOMFile.idl
@@ -49,18 +49,22 @@ interface nsIDOMBlob : nsISupports
   // Called before the blob is stored in a database to decide if it can be
   // shared or needs to be copied. It can be called on any thread.
   [notxpcom] FileInfo getFileInfo(in FileManager aFileManager);
 
   // Return true if this blob is a memory file.
   [notxpcom] bool isMemoryFile();
 };
 
-[scriptable, builtinclass, uuid(74657f92-aa61-492b-8649-fd1cca62e255)]
-interface nsIDOMFile : nsIDOMBlob
+// We want to avoid multiple inheritance of nsIDOMBlob so we can downcast from
+// nsIDOMBlob to Blob safely.  Our chain is:
+//  - Blob -> nsIDOMBlob
+//  - File -> nsIDOMFile and Blob
+[scriptable, builtinclass, uuid(cc28cf12-f1d4-44ff-843f-9289aa14613b)]
+interface nsIDOMFile : nsISupports
 {
   readonly attribute DOMString name;
 
   readonly attribute DOMString path;
 
   [implicit_jscontext]
   readonly attribute jsval lastModifiedDate;