Commit Graph

99 Commits

Author SHA1 Message Date
Perry Jiang
fd4ce6d9d5 Bug 1487463 - implement StructuredCloneTester to be used in testing r=baku
StructuredCloneTester objects can configured to be serializable (or not) and
deserializable (or not) by the structured clone algorithm. They can be used to
test, for example, onmessageerror event handlers, where the messageerror event
is fired when a message fails to be deserialized (but was successfully serialized).
The class is pref'ed with "dom.testing.structuredclonetester.enabled".

Differential Revision: https://phabricator.services.mozilla.com/D5207

--HG--
extra : moz-landing-system : lando
2018-10-02 16:43:57 +00:00
Gurzau Raul
c961dacac0 Backed out changeset 8152c0b1017c (bug 1487463) for bustages at dom/bindings/StructuredCloneTesterBinding.cpp on a CLOSED TREE 2018-09-29 03:52:10 +03:00
Perry Jiang
b61092a88e Bug 1487463 - implement StructuredCloneTester to be used in testing r=baku
StructuredCloneTester objects can configured to be serializable (or not) and
deserializable (or not) by the structured clone algorithm. They can be used to
test, for example, onmessageerror event handlers, where the messageerror event
is fired when a message fails to be deserialized (but was successfully serialized).
The class is pref'ed with "dom.testing.structuredclonetester.enabled".

Differential Revision: https://phabricator.services.mozilla.com/D5207

--HG--
extra : moz-landing-system : lando
2018-09-18 17:15:22 +00:00
Jan de Mooij
4f7b2378dc Bug 1474273 - Add xpc::CurrentNativeGlobal and use it instead of NativeGlobal(JS::CurrentGlobalOrNull(cx)). r=bz 2018-07-11 14:07:02 +02:00
Andrea Marchesini
f71677a0c3 Bug 1452576 - Improve StructuredCloneHolder for fuzzy tests, r=decoder 2018-05-10 09:02:16 +02:00
Andrea Marchesini
cb4b451b23 Bug 1441141 - Update the StructuredCloneAlgorithm to follow the latest version of the spec, r=smaug, r=sfink 2018-03-28 09:23:17 +02:00
Andrea Marchesini
3d7e8db1bc Bug 1441141 - MessagePort cannot be cloned/transferred if disentanged, r=smaug 2018-03-28 09:23:17 +02:00
Andrea Marchesini
a1747f6179 Bug 1445590 - ImageBitmap cannot be cloned/transferred if already closed, r=smaug 2018-03-14 17:37:34 +01:00
Christian Holler
0d3ff9caec Bug 1440627 - Use fallible setLength in StructuredCloneHolder. r=baku 2018-02-23 14:57:00 +01:00
Christian Holler
a7aaab24d3 Bug 1440402 - Handle several unsafe accesses in dom/ipc gracefully for fuzzing. r=baku 2018-02-23 14:51:26 +01:00
Luke Wagner
abb577c772 Bug 1351488 - Avoid temporary RefPtr to silence rooting hazard (r=sfink)
MozReview-Commit-ID: IAvNr1PmEfp

--HG--
extra : rebase_source : 7efb22db6f2fb8da592af2db61ea5c882a12dd53
2017-08-29 10:38:49 -05:00
Boris Zbarsky
5c76874a46 Bug 1371259 part 3. Change UnwrapObject<> and the UNWRAP_OBJECT macro to allow passing in mutable object or value handles for the thing being unwrapped, and do so at various callsites. r=peterv
I did audit all UNWRAP_OBJECT callers to make sure that the lifetimes of all the
temporary Rooted or the RefPtrs they unwrap into are long enough.
2017-07-10 16:05:24 -04:00
Kris Maglione
7bb88fc9de Bug 1371246: Handle serializing Blobs in StructuredCloneHolder instances. r=billm
MozReview-Commit-ID: 2n15NCnLC48

--HG--
extra : rebase_source : b9769b5b79d6d9dd6277a783963d83a0e0ab88eb
extra : amend_source : ac9167122891a374b4fd7219feaa7d7afbf6f5f0
2017-06-12 14:42:49 -07:00
Bill McCloskey
aefa2aa5da Bug 1365097 - Convert NS_GetCurrentThread uses in dom (except for dom/media) (r=smaug)
For the Quatum DOM project, it's better to work in terms of event targets than
threads. This patch converts DOM code to operate on event targets rather than
threads, when possible.

MozReview-Commit-ID: 5FgvpKadUA2
2017-06-12 20:20:08 -07:00
Kris Maglione
761a458cda Bug 1356546: Part 1 - Add a StructuredCloneHolder JS helper to hold opaque structured clone blobs. r=billm
There are several places in the WebExtensions framework where we currently
need to repeatedly serialize and deserialize structured clone data as it
passes through message managers, which can lead to significant performance
issues.

This helper class lets us serialize a value directly from the source extension
context into an opaque blob, and then directly deserialize it into the target
context on the other end, with no X-ray overhead or clones into privileged
scopes in-between.

MozReview-Commit-ID: 4QzHi89onxc

--HG--
extra : rebase_source : 2ec196ca9ce9be90b7eadf136c938373ac7d3fdd
2017-05-20 15:09:24 -07:00
Andrea Marchesini
281c7e8cdd Bug 1359718 - Get rid of PBlob - part 2 - PBlob, r=smaug, r=kanru 2017-05-23 18:05:19 +02:00
Sebastian Hengst
4ac10ab053 Backed out changeset c3251f5022dd (bug 1359718) 2017-05-23 19:12:25 +02:00
Andrea Marchesini
f512688b0b Bug 1359718 - Get rid of PBlob - part 2 - PBlob, r=smaug, r=kanru 2017-05-23 18:05:19 +02:00
Sebastian Hengst
89e8ea64b1 Backed out changeset 537abc431472 (bug 1359718) 2017-05-23 18:34:40 +02:00
Andrea Marchesini
7db3365daf Bug 1359718 - Get rid of PBlob - part 2 - PBlob, r=smaug, r=kanru 2017-05-23 18:05:19 +02:00
Andrea Marchesini
7148fa4c27 Bug 1359005 - Cleanup the use of PBlob in StructuredCloneHolder - part 2 - StructuredCloneHolder, r=smaug 2017-05-23 07:50:09 +02:00
Andrea Marchesini
df043c04b6 Bug 1350386 - Make nsInputStream structuredCloneable, r=mystor 2017-04-05 19:02:57 +02:00
Andrea Marchesini
e59b21d582 Bug 1351250 - StructuredCloneAlgorithm must cleanup mWasmModule correctly, r=qdot 2017-03-29 08:47:49 +02:00
Andrea Marchesini
b400713a16 Bug 1346801 - Make Directory object always cloneable, r=qdot 2017-03-14 11:38:31 +01:00
Michael Layzell
befc7b0924 Bug 1331434 - Part 9: Return after ErrorResult::Throw in /dom, r=ehsan
MozReview-Commit-ID: CWjx4L8LTr9
2017-03-07 19:06:48 -05:00
Andrea Marchesini
298618870f Bug 1331849 - Replace NS_NewNativeLocalFile with NS_NewLocalFile in dom, r=smaug 2017-01-18 14:58:37 +01:00
Jeff Gilbert
8a9c965490 Bug 1324924 - Support ImageBitmap for Tex*Image*. (flattened) - r=bz,daoshengmu,mtseng
MozReview-Commit-ID: JzcbzeFHyHn
2016-12-20 19:24:25 -08:00
Andrea Marchesini
8bbeee69cf Bug 1321261 - create dom/file for File APIs, r=qdot
--HG--
rename : dom/base/BlobSet.cpp => dom/file/BlobSet.cpp
rename : dom/base/BlobSet.h => dom/file/BlobSet.h
rename : dom/base/File.cpp => dom/file/File.cpp
rename : dom/base/File.h => dom/file/File.h
rename : dom/base/FileList.cpp => dom/file/FileList.cpp
rename : dom/base/FileList.h => dom/file/FileList.h
rename : dom/base/FileReader.cpp => dom/file/FileReader.cpp
rename : dom/base/FileReader.h => dom/file/FileReader.h
rename : dom/base/MultipartBlobImpl.cpp => dom/file/MultipartBlobImpl.cpp
rename : dom/base/MultipartBlobImpl.h => dom/file/MultipartBlobImpl.h
rename : dom/base/MutableBlobStorage.cpp => dom/file/MutableBlobStorage.cpp
rename : dom/base/MutableBlobStorage.h => dom/file/MutableBlobStorage.h
rename : dom/base/MutableBlobStreamListener.cpp => dom/file/MutableBlobStreamListener.cpp
rename : dom/base/MutableBlobStreamListener.h => dom/file/MutableBlobStreamListener.h
rename : dom/ipc/Blob.cpp => dom/file/ipc/Blob.cpp
rename : dom/ipc/BlobChild.h => dom/file/ipc/BlobChild.h
rename : dom/ipc/BlobParent.h => dom/file/ipc/BlobParent.h
rename : dom/ipc/BlobTypes.ipdlh => dom/file/ipc/BlobTypes.ipdlh
rename : dom/ipc/PBlob.ipdl => dom/file/ipc/PBlob.ipdl
rename : dom/ipc/PBlobStream.ipdl => dom/file/ipc/PBlobStream.ipdl
rename : dom/ipc/nsIRemoteBlob.h => dom/file/ipc/nsIRemoteBlob.h
rename : dom/base/nsHostObjectProtocolHandler.cpp => dom/file/nsHostObjectProtocolHandler.cpp
rename : dom/base/nsHostObjectProtocolHandler.h => dom/file/nsHostObjectProtocolHandler.h
rename : dom/base/nsHostObjectURI.cpp => dom/file/nsHostObjectURI.cpp
rename : dom/base/nsHostObjectURI.h => dom/file/nsHostObjectURI.h
rename : dom/base/nsIDOMBlob.idl => dom/file/nsIDOMBlob.idl
rename : dom/base/nsIDOMFileList.idl => dom/file/nsIDOMFileList.idl
rename : dom/base/test/create_file_objects.js => dom/file/tests/create_file_objects.js
rename : dom/base/test/file_blobURL_expiring.html => dom/file/tests/file_blobURL_expiring.html
rename : dom/base/test/file_mozfiledataurl_audio.ogg => dom/file/tests/file_mozfiledataurl_audio.ogg
rename : dom/base/test/file_mozfiledataurl_doc.html => dom/file/tests/file_mozfiledataurl_doc.html
rename : dom/base/test/file_mozfiledataurl_img.jpg => dom/file/tests/file_mozfiledataurl_img.jpg
rename : dom/base/test/file_mozfiledataurl_inner.html => dom/file/tests/file_mozfiledataurl_inner.html
rename : dom/base/test/file_mozfiledataurl_text.txt => dom/file/tests/file_mozfiledataurl_text.txt
rename : dom/base/test/file_nonascii_blob_url.html => dom/file/tests/file_nonascii_blob_url.html
rename : dom/base/test/fileapi_chromeScript.js => dom/file/tests/fileapi_chromeScript.js
rename : dom/base/test/fileutils.js => dom/file/tests/fileutils.js
rename : dom/base/test/test_blobURL_expiring.html => dom/file/tests/test_blobURL_expiring.html
rename : dom/base/test/test_blob_fragment_and_query.html => dom/file/tests/test_blob_fragment_and_query.html
rename : dom/base/test/test_blobconstructor.html => dom/file/tests/test_blobconstructor.html
rename : dom/base/test/test_file_from_blob.html => dom/file/tests/test_file_from_blob.html
rename : dom/base/test/test_file_negative_date.html => dom/file/tests/test_file_negative_date.html
rename : dom/base/test/test_fileapi.html => dom/file/tests/test_fileapi.html
rename : dom/base/test/test_fileapi_slice.html => dom/file/tests/test_fileapi_slice.html
rename : dom/base/test/test_ipc_messagemanager_blob.html => dom/file/tests/test_ipc_messagemanager_blob.html
rename : dom/base/test/test_mozfiledataurl.html => dom/file/tests/test_mozfiledataurl.html
rename : dom/base/test/test_nonascii_blob_url.html => dom/file/tests/test_nonascii_blob_url.html
2016-12-01 15:12:42 +01:00
Sebastian Hengst
2fff66aaac Backed out changeset d3ef6f3e9193 (bug 1321261) for build bustage (calling missing file BlobParent.h from dom/ipc/TabParent.cpp). r=backout on a CLOSED TREE
--HG--
rename : dom/file/BlobSet.cpp => dom/base/BlobSet.cpp
rename : dom/file/BlobSet.h => dom/base/BlobSet.h
rename : dom/file/File.cpp => dom/base/File.cpp
rename : dom/file/File.h => dom/base/File.h
rename : dom/file/FileList.cpp => dom/base/FileList.cpp
rename : dom/file/FileList.h => dom/base/FileList.h
rename : dom/file/FileReader.cpp => dom/base/FileReader.cpp
rename : dom/file/FileReader.h => dom/base/FileReader.h
rename : dom/file/MultipartBlobImpl.cpp => dom/base/MultipartBlobImpl.cpp
rename : dom/file/MultipartBlobImpl.h => dom/base/MultipartBlobImpl.h
rename : dom/file/MutableBlobStorage.cpp => dom/base/MutableBlobStorage.cpp
rename : dom/file/MutableBlobStorage.h => dom/base/MutableBlobStorage.h
rename : dom/file/MutableBlobStreamListener.cpp => dom/base/MutableBlobStreamListener.cpp
rename : dom/file/MutableBlobStreamListener.h => dom/base/MutableBlobStreamListener.h
rename : dom/file/nsHostObjectProtocolHandler.cpp => dom/base/nsHostObjectProtocolHandler.cpp
rename : dom/file/nsHostObjectProtocolHandler.h => dom/base/nsHostObjectProtocolHandler.h
rename : dom/file/nsHostObjectURI.cpp => dom/base/nsHostObjectURI.cpp
rename : dom/file/nsHostObjectURI.h => dom/base/nsHostObjectURI.h
rename : dom/file/nsIDOMBlob.idl => dom/base/nsIDOMBlob.idl
rename : dom/file/nsIDOMFileList.idl => dom/base/nsIDOMFileList.idl
rename : dom/file/tests/create_file_objects.js => dom/base/test/create_file_objects.js
rename : dom/file/tests/file_blobURL_expiring.html => dom/base/test/file_blobURL_expiring.html
rename : dom/file/tests/file_mozfiledataurl_audio.ogg => dom/base/test/file_mozfiledataurl_audio.ogg
rename : dom/file/tests/file_mozfiledataurl_doc.html => dom/base/test/file_mozfiledataurl_doc.html
rename : dom/file/tests/file_mozfiledataurl_inner.html => dom/base/test/file_mozfiledataurl_inner.html
rename : dom/file/tests/file_mozfiledataurl_text.txt => dom/base/test/file_mozfiledataurl_text.txt
rename : dom/file/tests/file_nonascii_blob_url.html => dom/base/test/file_nonascii_blob_url.html
rename : dom/file/tests/fileapi_chromeScript.js => dom/base/test/fileapi_chromeScript.js
rename : dom/file/tests/fileutils.js => dom/base/test/fileutils.js
rename : dom/file/tests/test_blobURL_expiring.html => dom/base/test/test_blobURL_expiring.html
rename : dom/file/tests/test_blob_fragment_and_query.html => dom/base/test/test_blob_fragment_and_query.html
rename : dom/file/tests/test_blobconstructor.html => dom/base/test/test_blobconstructor.html
rename : dom/file/tests/test_file_from_blob.html => dom/base/test/test_file_from_blob.html
rename : dom/file/tests/test_file_negative_date.html => dom/base/test/test_file_negative_date.html
rename : dom/file/tests/test_fileapi.html => dom/base/test/test_fileapi.html
rename : dom/file/tests/test_fileapi_slice.html => dom/base/test/test_fileapi_slice.html
rename : dom/file/tests/test_ipc_messagemanager_blob.html => dom/base/test/test_ipc_messagemanager_blob.html
rename : dom/file/tests/test_nonascii_blob_url.html => dom/base/test/test_nonascii_blob_url.html
rename : dom/file/ipc/Blob.cpp => dom/ipc/Blob.cpp
rename : dom/file/ipc/BlobChild.h => dom/ipc/BlobChild.h
rename : dom/file/ipc/BlobParent.h => dom/ipc/BlobParent.h
rename : dom/file/ipc/BlobTypes.ipdlh => dom/ipc/BlobTypes.ipdlh
rename : dom/file/ipc/PBlob.ipdl => dom/ipc/PBlob.ipdl
rename : dom/file/ipc/PBlobStream.ipdl => dom/ipc/PBlobStream.ipdl
rename : dom/file/ipc/nsIRemoteBlob.h => dom/ipc/nsIRemoteBlob.h
2016-12-01 12:27:28 +01:00
Andrea Marchesini
5fa67a1046 Bug 1321261 - create dom/file for File APIs, r=qdot
--HG--
rename : dom/base/BlobSet.cpp => dom/file/BlobSet.cpp
rename : dom/base/BlobSet.h => dom/file/BlobSet.h
rename : dom/base/File.cpp => dom/file/File.cpp
rename : dom/base/File.h => dom/file/File.h
rename : dom/base/FileList.cpp => dom/file/FileList.cpp
rename : dom/base/FileList.h => dom/file/FileList.h
rename : dom/base/FileReader.cpp => dom/file/FileReader.cpp
rename : dom/base/FileReader.h => dom/file/FileReader.h
rename : dom/base/MultipartBlobImpl.cpp => dom/file/MultipartBlobImpl.cpp
rename : dom/base/MultipartBlobImpl.h => dom/file/MultipartBlobImpl.h
rename : dom/base/MutableBlobStorage.cpp => dom/file/MutableBlobStorage.cpp
rename : dom/base/MutableBlobStorage.h => dom/file/MutableBlobStorage.h
rename : dom/base/MutableBlobStreamListener.cpp => dom/file/MutableBlobStreamListener.cpp
rename : dom/base/MutableBlobStreamListener.h => dom/file/MutableBlobStreamListener.h
rename : dom/ipc/Blob.cpp => dom/file/ipc/Blob.cpp
rename : dom/ipc/BlobChild.h => dom/file/ipc/BlobChild.h
rename : dom/ipc/BlobParent.h => dom/file/ipc/BlobParent.h
rename : dom/ipc/BlobTypes.ipdlh => dom/file/ipc/BlobTypes.ipdlh
rename : dom/ipc/PBlob.ipdl => dom/file/ipc/PBlob.ipdl
rename : dom/ipc/PBlobStream.ipdl => dom/file/ipc/PBlobStream.ipdl
rename : dom/ipc/nsIRemoteBlob.h => dom/file/ipc/nsIRemoteBlob.h
rename : dom/base/nsHostObjectProtocolHandler.cpp => dom/file/nsHostObjectProtocolHandler.cpp
rename : dom/base/nsHostObjectProtocolHandler.h => dom/file/nsHostObjectProtocolHandler.h
rename : dom/base/nsHostObjectURI.cpp => dom/file/nsHostObjectURI.cpp
rename : dom/base/nsHostObjectURI.h => dom/file/nsHostObjectURI.h
rename : dom/base/nsIDOMBlob.idl => dom/file/nsIDOMBlob.idl
rename : dom/base/nsIDOMFileList.idl => dom/file/nsIDOMFileList.idl
rename : dom/base/test/create_file_objects.js => dom/file/tests/create_file_objects.js
rename : dom/base/test/file_blobURL_expiring.html => dom/file/tests/file_blobURL_expiring.html
rename : dom/base/test/file_mozfiledataurl_audio.ogg => dom/file/tests/file_mozfiledataurl_audio.ogg
rename : dom/base/test/file_mozfiledataurl_doc.html => dom/file/tests/file_mozfiledataurl_doc.html
rename : dom/base/test/file_mozfiledataurl_img.jpg => dom/file/tests/file_mozfiledataurl_img.jpg
rename : dom/base/test/file_mozfiledataurl_inner.html => dom/file/tests/file_mozfiledataurl_inner.html
rename : dom/base/test/file_mozfiledataurl_text.txt => dom/file/tests/file_mozfiledataurl_text.txt
rename : dom/base/test/file_nonascii_blob_url.html => dom/file/tests/file_nonascii_blob_url.html
rename : dom/base/test/fileapi_chromeScript.js => dom/file/tests/fileapi_chromeScript.js
rename : dom/base/test/fileutils.js => dom/file/tests/fileutils.js
rename : dom/base/test/test_blobURL_expiring.html => dom/file/tests/test_blobURL_expiring.html
rename : dom/base/test/test_blob_fragment_and_query.html => dom/file/tests/test_blob_fragment_and_query.html
rename : dom/base/test/test_blobconstructor.html => dom/file/tests/test_blobconstructor.html
rename : dom/base/test/test_file_from_blob.html => dom/file/tests/test_file_from_blob.html
rename : dom/base/test/test_file_negative_date.html => dom/file/tests/test_file_negative_date.html
rename : dom/base/test/test_fileapi.html => dom/file/tests/test_fileapi.html
rename : dom/base/test/test_fileapi_slice.html => dom/file/tests/test_fileapi_slice.html
rename : dom/base/test/test_ipc_messagemanager_blob.html => dom/file/tests/test_ipc_messagemanager_blob.html
rename : dom/base/test/test_nonascii_blob_url.html => dom/file/tests/test_nonascii_blob_url.html
2016-12-01 11:43:18 +01:00
Sebastian Hengst
3d3ca51d8d Backed out changeset 806c3d121dd4 (bug 1321261) for timing out in test_fileapi.html, test_mozfiledataurl.html and test_nonascii_blob_url.html on Linux x64 asan and debug. r=backout
--HG--
rename : dom/file/BlobSet.cpp => dom/base/BlobSet.cpp
rename : dom/file/BlobSet.h => dom/base/BlobSet.h
rename : dom/file/File.cpp => dom/base/File.cpp
rename : dom/file/File.h => dom/base/File.h
rename : dom/file/FileList.cpp => dom/base/FileList.cpp
rename : dom/file/FileList.h => dom/base/FileList.h
rename : dom/file/FileReader.cpp => dom/base/FileReader.cpp
rename : dom/file/FileReader.h => dom/base/FileReader.h
rename : dom/file/MultipartBlobImpl.cpp => dom/base/MultipartBlobImpl.cpp
rename : dom/file/MultipartBlobImpl.h => dom/base/MultipartBlobImpl.h
rename : dom/file/MutableBlobStorage.cpp => dom/base/MutableBlobStorage.cpp
rename : dom/file/MutableBlobStorage.h => dom/base/MutableBlobStorage.h
rename : dom/file/MutableBlobStreamListener.cpp => dom/base/MutableBlobStreamListener.cpp
rename : dom/file/MutableBlobStreamListener.h => dom/base/MutableBlobStreamListener.h
rename : dom/file/nsHostObjectProtocolHandler.cpp => dom/base/nsHostObjectProtocolHandler.cpp
rename : dom/file/nsHostObjectProtocolHandler.h => dom/base/nsHostObjectProtocolHandler.h
rename : dom/file/nsHostObjectURI.cpp => dom/base/nsHostObjectURI.cpp
rename : dom/file/nsHostObjectURI.h => dom/base/nsHostObjectURI.h
rename : dom/file/nsIDOMBlob.idl => dom/base/nsIDOMBlob.idl
rename : dom/file/nsIDOMFileList.idl => dom/base/nsIDOMFileList.idl
rename : dom/file/tests/file_blobURL_expiring.html => dom/base/test/file_blobURL_expiring.html
rename : dom/file/tests/file_nonascii_blob_url.html => dom/base/test/file_nonascii_blob_url.html
rename : dom/file/tests/fileutils.js => dom/base/test/fileutils.js
rename : dom/file/tests/test_blobURL_expiring.html => dom/base/test/test_blobURL_expiring.html
rename : dom/file/tests/test_blob_fragment_and_query.html => dom/base/test/test_blob_fragment_and_query.html
rename : dom/file/tests/test_blobconstructor.html => dom/base/test/test_blobconstructor.html
rename : dom/file/tests/test_file_from_blob.html => dom/base/test/test_file_from_blob.html
rename : dom/file/tests/test_file_negative_date.html => dom/base/test/test_file_negative_date.html
rename : dom/file/tests/test_fileapi.html => dom/base/test/test_fileapi.html
rename : dom/file/tests/test_fileapi_slice.html => dom/base/test/test_fileapi_slice.html
rename : dom/file/tests/test_ipc_messagemanager_blob.html => dom/base/test/test_ipc_messagemanager_blob.html
rename : dom/file/tests/test_mozfiledataurl.html => dom/base/test/test_mozfiledataurl.html
rename : dom/file/tests/test_nonascii_blob_url.html => dom/base/test/test_nonascii_blob_url.html
rename : dom/file/ipc/Blob.cpp => dom/ipc/Blob.cpp
rename : dom/file/ipc/BlobChild.h => dom/ipc/BlobChild.h
rename : dom/file/ipc/BlobParent.h => dom/ipc/BlobParent.h
rename : dom/file/ipc/BlobTypes.ipdlh => dom/ipc/BlobTypes.ipdlh
rename : dom/file/ipc/PBlob.ipdl => dom/ipc/PBlob.ipdl
rename : dom/file/ipc/PBlobStream.ipdl => dom/ipc/PBlobStream.ipdl
rename : dom/file/ipc/nsIRemoteBlob.h => dom/ipc/nsIRemoteBlob.h
2016-12-01 11:05:56 +01:00
Andrea Marchesini
0606c6006d Bug 1321261 - create dom/file for File APIs, r=qdot
--HG--
rename : dom/base/BlobSet.cpp => dom/file/BlobSet.cpp
rename : dom/base/BlobSet.h => dom/file/BlobSet.h
rename : dom/base/File.cpp => dom/file/File.cpp
rename : dom/base/File.h => dom/file/File.h
rename : dom/base/FileList.cpp => dom/file/FileList.cpp
rename : dom/base/FileList.h => dom/file/FileList.h
rename : dom/base/FileReader.cpp => dom/file/FileReader.cpp
rename : dom/base/FileReader.h => dom/file/FileReader.h
rename : dom/base/MultipartBlobImpl.cpp => dom/file/MultipartBlobImpl.cpp
rename : dom/base/MultipartBlobImpl.h => dom/file/MultipartBlobImpl.h
rename : dom/base/MutableBlobStorage.cpp => dom/file/MutableBlobStorage.cpp
rename : dom/base/MutableBlobStorage.h => dom/file/MutableBlobStorage.h
rename : dom/base/MutableBlobStreamListener.cpp => dom/file/MutableBlobStreamListener.cpp
rename : dom/base/MutableBlobStreamListener.h => dom/file/MutableBlobStreamListener.h
rename : dom/ipc/Blob.cpp => dom/file/ipc/Blob.cpp
rename : dom/ipc/BlobChild.h => dom/file/ipc/BlobChild.h
rename : dom/ipc/BlobParent.h => dom/file/ipc/BlobParent.h
rename : dom/ipc/BlobTypes.ipdlh => dom/file/ipc/BlobTypes.ipdlh
rename : dom/ipc/PBlob.ipdl => dom/file/ipc/PBlob.ipdl
rename : dom/ipc/PBlobStream.ipdl => dom/file/ipc/PBlobStream.ipdl
rename : dom/ipc/nsIRemoteBlob.h => dom/file/ipc/nsIRemoteBlob.h
rename : dom/base/nsHostObjectProtocolHandler.cpp => dom/file/nsHostObjectProtocolHandler.cpp
rename : dom/base/nsHostObjectProtocolHandler.h => dom/file/nsHostObjectProtocolHandler.h
rename : dom/base/nsHostObjectURI.cpp => dom/file/nsHostObjectURI.cpp
rename : dom/base/nsHostObjectURI.h => dom/file/nsHostObjectURI.h
rename : dom/base/nsIDOMBlob.idl => dom/file/nsIDOMBlob.idl
rename : dom/base/nsIDOMFileList.idl => dom/file/nsIDOMFileList.idl
rename : dom/base/test/file_blobURL_expiring.html => dom/file/tests/file_blobURL_expiring.html
rename : dom/base/test/file_nonascii_blob_url.html => dom/file/tests/file_nonascii_blob_url.html
rename : dom/base/test/fileutils.js => dom/file/tests/fileutils.js
rename : dom/base/test/test_blobURL_expiring.html => dom/file/tests/test_blobURL_expiring.html
rename : dom/base/test/test_blob_fragment_and_query.html => dom/file/tests/test_blob_fragment_and_query.html
rename : dom/base/test/test_blobconstructor.html => dom/file/tests/test_blobconstructor.html
rename : dom/base/test/test_file_from_blob.html => dom/file/tests/test_file_from_blob.html
rename : dom/base/test/test_file_negative_date.html => dom/file/tests/test_file_negative_date.html
rename : dom/base/test/test_fileapi.html => dom/file/tests/test_fileapi.html
rename : dom/base/test/test_fileapi_slice.html => dom/file/tests/test_fileapi_slice.html
rename : dom/base/test/test_ipc_messagemanager_blob.html => dom/file/tests/test_ipc_messagemanager_blob.html
rename : dom/base/test/test_mozfiledataurl.html => dom/file/tests/test_mozfiledataurl.html
rename : dom/base/test/test_nonascii_blob_url.html => dom/file/tests/test_nonascii_blob_url.html
2016-12-01 09:21:54 +01:00
Andrea Marchesini
24085dac28 Bug 1317725 -Correct creation of Sliced Remote Blob actorss when used in FormData in workers, r=smaug
--HG--
rename : dom/workers/test/script_bug1301094.js => dom/workers/test/script_createFile.js
2016-11-16 15:04:23 +01:00
Andrea Marchesini
a39665a2a2 Bug 1312817 - support {window,worker}.postMessage() of WebAssembly.Module, r=qdot, r=luke 2016-10-28 14:44:04 +02:00
Carsten "Tomcat" Book
fa86fa4b7f Backed out changeset 19e79becc540 (bug 1312817) for failures in own test on android 2016-10-28 12:14:30 +02:00
Andrea Marchesini
937298e1fb Bug 1312817 - support {window,worker}.postMessage() of WebAssembly.Module, r=qdot, r=luke 2016-10-27 20:50:23 +02:00
Andrea Marchesini
92035ed242 Bug 1313004 - ServiceWorkerMessageEvent can be generated code, r=qdot 2016-10-26 22:00:17 +02:00
Lars T Hansen
9f439ac1de Bug 1302036 - DOM changes to conform to new JS engine API for cloning. r=baku
--HG--
extra : rebase_source : bc9bda42eb0769f2fe76d702a41278e01bb497d7
2016-10-24 15:14:45 +02:00
Michelangelo De Simone
8641036d15 Bug 1310859 - Remove DOM/nfc and related code. r=jst
MozReview-Commit-ID: FiS7uGytipN

--HG--
extra : rebase_source : cd9be62d334568b4abd850398467bce4c4eb1544
2016-10-18 15:16:56 -07:00
Nathan Froyd
817fe1571d Bug 1304017 - improve MultipartBlobImpl refcounting; r=baku
MultipartBlobImpl always requires copying the incoming BlobImpl array.
This copying, and its associated refcounting, is unnecessary in many
cases, as we're just going to delete the copied-from array anyway.  We
might as well pass in ownership when creating the multipart blob and
avoid all the overhead associated with copying and refcounting.
2016-09-20 21:29:28 -04:00
Fariskhi Vidyan
ff45e94bf0 Bug 1300886 - Add URLSearchParamsBinding.h to StructuredCloneHolder header. r=baku
--HG--
extra : amend_source : 23bd5fe3de8d4a63e59c91f7e7dcbe7e3f609db5
extra : histedit_source : 2b666a337390726f1c969e018f9c7ed7513daffa
2016-09-06 16:02:00 -04:00
Kan-Ru Chen
506dfe6ea3 Bug 1264642 - Part 4. Use BufferList to replace raw buffers in StructuredClone. r=baku r=billm r=jorendorff
In JS StructuredClone BufferList<SystemAllocPolicy> is typedef'd to
JSStructuredCloneData and use everywhere in gecko that stores structured
clone data.

This patch changed some raw pointers to UniquePtr<JSStructuredCloneData>
and some to stack allocated JSStructuredCloneData for better life time
management. Some parameters or methods are deleted because of changing
to the new data structure.

MessagePortMessage now has the exactly same structure with
ClonedMessageData. Maybe in the future they can be consolidated.

MozReview-Commit-ID: 1IY9p5eKLgv
2016-08-23 00:40:46 +08:00
Andrea Marchesini
248823da76 Bug 1264053 - MessagePort should support transferable objects in multi-e10s - part 2, r=sfink 2016-08-17 07:54:00 +02:00
Andrea Marchesini
a183983968 Bug 1264053 - MessagePort should support transferable objects in multi-e10s, r=sfink, r=smaug, r=jorendorff, r=janv 2016-07-21 15:29:42 +02:00
Andrea Marchesini
3c6ff93c8f Bug 1186932 - Implement support for form submission of a picked directory - part 1 - FormData and Directory, r=smaug 2016-07-14 09:01:31 +02:00
Thomas Wisniewski
b66fa4f6c0 Bug 1207233 - Part 2: Make URLSearchParams nsIXHRSendable as well as clonable, and have XHRs set the correct request content type for them. r=baku 2016-07-11 15:03:44 -04:00
Carsten "Tomcat" Book
c33672a846 Backed out changeset ff7dbda6a6d0 (bug 1207233) 2016-07-12 11:40:00 +02:00
Thomas Wisniewski
458f4f42b3 Bug 1207233 - Part 2: Make URLSearchParams nsIXHRSendable as well as clonable, and have XHRs set the correct request content type for them. r=baku
--HG--
extra : rebase_source : de17309ef5704f288f309605dbb7744eadea3bd8
2016-07-11 15:03:44 -04:00
Andrea Marchesini
47c21b1f75 Bug 1279889 - Some rv.SuppressException() missing in StructuredCloneHolder, r=smaug 2016-06-14 13:10:39 +01:00
Andrea Marchesini
13337bbba2 Bug 1279883 - Directory should not always be clonable across threads and processes, r=smaug 2016-06-14 12:51:41 +01:00