Commit Graph

59 Commits

Author SHA1 Message Date
Olli Pettay
c1c8a798cc Bug 1775501 - multipart boundary should be handled as mixed case, r=kershaw
Since https://github.com/w3c/FileAPI/issues/43 is still open, it is unclear how body.type should work.
The current wpts expect some behavior which isn't in the specifications.
So, since the situation is very messy in the specifications, the patch is doing a
spot fix for boundary handling. It is ugly, but shouldn't change other behavior.

Differential Revision: https://phabricator.services.mozilla.com/D150018
2022-07-11 09:18:32 +00:00
Kagami Sascha Rosylight
ccfe82fbd5 Bug 1620560 - Part 5: Mark BlobImpl::CreateSlice as const r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D145671
2022-05-06 09:00:29 +00:00
Kagami Sascha Rosylight
7056197daf Bug 1620560 - Part 4: Mark BlobImpl::GetFileId as const r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D145669
2022-05-06 09:00:29 +00:00
Kagami Sascha Rosylight
8f8ba83440 Bug 1620560 - Part 3: Mark BlobImpl::CreateInputStream as const r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D145668
2022-05-06 09:00:28 +00:00
Kagami Sascha Rosylight
77dc6a1017 Bug 1756070 - Part 2: Apply modernize-use-override to dom/file r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D145662
2022-05-06 09:00:27 +00:00
Matthew Gaudet
ad845e0b67 Bug 1757241 - Remove !MOZ_DOM_STREAMS code from most files r=smaug
I've also tested to verify that JS Streams remains enabled in the JS Shell package

Differential Revision: https://phabricator.services.mozilla.com/D142620
2022-04-13 18:57:48 +00:00
Matthew Gaudet
7cf26082b1 Bug 1734873 - Fetch/Response/Blob ReadableStream integration r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D131550
2022-01-14 21:09:20 +00:00
Matthew Gaudet
616369e40b Bug 1730589 - Initial Implementation of ReadableStreams using WebIDL and DOM technologies r=smaug
This patch begins re-implements ReadableStreams using WebIDL and DOM technology (vs the existing JS streams implementation).   Some more background is [here](https://docs.google.com/document/d/1MWRkF32KV60ngOY-Ip4PnKbCMvl6VK_Y9QLED8MJJxg/edit#)

This is guarded under a configure flag `--enable-dom-streams`

1. ByteStreams and ReadableStream.tee will come in future patches.
2. I intentionally crash in other parts of the DOM that require streams (Fetch, Response, Blob), until the integration work is done in future patches.

   My current plan for that integration doesn't involve re-creating the alternative 'external streams' API from SpiderMonkey's implementation, but I have yet to do enough development to verify that will work.

Differential Revision: https://phabricator.services.mozilla.com/D122643
2021-10-06 18:43:01 +00:00
Peter Van der Beken
5771bce2ad Bug 1712725 - Stop clearing JS things when calling mozilla::DropJSObjects. r=mccr8
There's a pattern of clearing JS things when calling mozilla::DropJSObjects,
but mozilla::DropJSObjects already clears the JS things itself by calling
CycleCollectedJSRuntime::RemoveJSHolder.

Differential Revision: https://phabricator.services.mozilla.com/D115885
2021-05-27 08:35:40 +00:00
Simon Giesecke
46908cfb51 Bug 1660470 - Add missing include directives/forward declarations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87865
2020-11-23 16:21:38 +00:00
Sylvestre Ledru
68b806d604 Bug 1674637 - Use nested namespaces in dom/ r=sg,andi
Also add some missing namespace qualifications

Done with:
./mach static-analysis check --checks="-*,modernize-concat-nested-namespaces" --fix dom/
./mach clang-format -p $(hg status dom/|grep ^M|awk '{print $2}')

Differential Revision: https://phabricator.services.mozilla.com/D95456
2020-11-04 17:04:01 +00:00
Butkovits Atila
a6e7dcc53f Backed out changeset c0adbf7522dc (bug 1674637) for bustage on GMPParent.cpp. CLOSED TREE 2020-11-04 10:54:36 +02:00
Sylvestre Ledru
8f709b39e8 Bug 1674637 - Use nested namespaces in dom/ r=sg,andi
Also add some missing namespace qualifications

Done with:
./mach static-analysis check --checks="-*,modernize-concat-nested-namespaces" --fix dom/
./mach clang-format -p $(hg status dom/|grep ^M|awk '{print $2}')

Differential Revision: https://phabricator.services.mozilla.com/D95456
2020-11-04 08:29:00 +00:00
Tom Tung
a3f318f54e Bug 1586761 - P4 - Use new methods in dom/file and dom/events; r=baku
For the usecases in dom/file, I'm not so sure how to get the global at
callsites, so I let aIsSystemPrincipal and aCrossOriginIsolated to be false for
now.

Differential Revision: https://phabricator.services.mozilla.com/D63905
2020-03-25 14:14:37 +00:00
Boris Zbarsky
be3d4f8c4d Bug 1618744. Use the correct name for the 'EndingType' enum. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D64702
2020-02-28 08:23:01 +00:00
Kris Maglione
232ff37e9f Bug 1535617: Part 2 - Clear weak references for most cycle collected objects on unlink. r=mccr8
This covers most cycle collected objects which support weak references, but
not the ones which inherit from a cycle collected class and don't do any cycle
collection on their own.

Differential Revision: https://phabricator.services.mozilla.com/D63962
2020-02-25 19:44:39 +00:00
Andrea Marchesini
546c197101 Bug 1030481 - Remove nsIMutable, r=smaug
nsIMutable is used only by DOM Blob/File. But Blobs are immutable by spec.
FileBlobImpl has a couple of lazy member values, but those are called when
the object is cloned in order to be sent to a different thread/process.

Differential Revision: https://phabricator.services.mozilla.com/D58946
2020-01-07 15:02:00 +00:00
Brindusan Cristian
4156a74796 Backed out changeset 61101e3eebb3 (bug 1030481) for mochitest failures at test_file.xhtml. CLOSED TREE 2020-01-07 16:30:53 +02:00
Andrea Marchesini
dbb0802ad0 Bug 1030481 - Remove nsIMutable, r=smaug
nsIMutable is used only by DOM Blob/File. But Blobs are immutable by spec.
FileBlobImpl has a couple of lazy member values, but those are called when
the object is cloned in order to be sent to a different thread/process.

Differential Revision: https://phabricator.services.mozilla.com/D58716
2020-01-07 12:37:12 +00:00
Andrea Marchesini
b80e4fd342 Bug 1585284 - Force global in Blob CTOR, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D49629
2019-10-21 05:33:19 +00:00
Andrea Marchesini
de63797ea7 Bug 1585284 - Use BlobImpl in MutableBlobStorage instead of Blob, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D49436
2019-10-21 05:33:33 +00:00
Andrea Marchesini
e5c5bd4530 Bug 1585284 - Use nsIGlobalObject in any Blob/File CTOR, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D49392
2019-10-21 05:33:33 +00:00
Tom Tung
1db66c6b3b Bug 1577311 - Ensure the js object is dropped while the holder is unlinked and destructored; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D47218
2019-10-04 16:32:38 +00:00
Andreas Pehrson
b599f578e4 Bug 1014393 - Add Blob::CreateEmptyBlob. r=baku
I needed empty blobs in MediaRecorder and seeing that there was no
Blob::CreateEmptyBlob, nor an export of EmptyBlobImpl, I thought
Blob::CreateEmptyBlob would be the cleaner solution, so here it is.

Differential Revision: https://phabricator.services.mozilla.com/D35310
2019-08-03 17:27:15 +00:00
Andreea Pavel
127afbbe71 Backed out 15 changesets (bug 1014393) for causing test_mediarecorder_record_gum_video_timeslice_mixed.html a=backout
Backed out changeset 83a1758bc6fa (bug 1014393)
Backed out changeset be1f1f82f92c (bug 1014393)
Backed out changeset 21ec9e104912 (bug 1014393)
Backed out changeset ea6314a61a77 (bug 1014393)
Backed out changeset e35a1a354bb5 (bug 1014393)
Backed out changeset 5c4b5620be2e (bug 1014393)
Backed out changeset 579d7f15d4f2 (bug 1014393)
Backed out changeset f9a9b2fc3335 (bug 1014393)
Backed out changeset c49241bad727 (bug 1014393)
Backed out changeset fc24872739e4 (bug 1014393)
Backed out changeset fd846ac16731 (bug 1014393)
Backed out changeset 4b11f19aa613 (bug 1014393)
Backed out changeset 4a57b865b461 (bug 1014393)
Backed out changeset 147d5aeaab46 (bug 1014393)
Backed out changeset c58e17df9c99 (bug 1014393)
2019-08-03 20:23:02 +03:00
Andreea Pavel
3b975ec6e1 Backed out changeset 6954782553c7 (bug 1014393) for build bustages a=backout 2019-08-03 20:09:29 +03:00
Gurzau Raul
ec2308f20a Backed out 15 changesets (bug 1014393) for permafailing at test_mediarecorder_record_gum_video_timeslice_mixed.html a=backout 2019-08-03 19:22:18 +03:00
Andreas Pehrson
6ae0ddcec0 Bug 1014393 - Add Blob::CreateEmptyBlob. r=baku
I needed empty blobs in MediaRecorder and seeing that there was no
Blob::CreateEmptyBlob, nor an export of EmptyBlobImpl, I thought
Blob::CreateEmptyBlob would be the cleaner solution, so here it is.

Differential Revision: https://phabricator.services.mozilla.com/D35310
2019-08-01 08:48:25 +00:00
Gurzau Raul
af2ed480d2 Backed out 15 changesets (bug 1014393) for build bustage at TestMuxer.cpp on a CLOSED TREE.
Backed out changeset e6d834f3786e (bug 1014393)
Backed out changeset 2d880ea6e67c (bug 1014393)
Backed out changeset 9a087b7459cc (bug 1014393)
Backed out changeset 0dd76879ff03 (bug 1014393)
Backed out changeset b88188e0d590 (bug 1014393)
Backed out changeset 24f244ea8fff (bug 1014393)
Backed out changeset 0e85d193f8ff (bug 1014393)
Backed out changeset 12f932aeb3e9 (bug 1014393)
Backed out changeset 8bcbc931942b (bug 1014393)
Backed out changeset a16bcc633362 (bug 1014393)
Backed out changeset bf46f2a2e519 (bug 1014393)
Backed out changeset aa508d83a2c3 (bug 1014393)
Backed out changeset 085fb3e97aaa (bug 1014393)
Backed out changeset e872361b9f3b (bug 1014393)
Backed out changeset b4fb228c8624 (bug 1014393)
2019-07-31 23:28:47 +03:00
Andreas Pehrson
b41f8fbfb1 Bug 1014393 - Add Blob::CreateEmptyBlob. r=baku
I needed empty blobs in MediaRecorder and seeing that there was no
Blob::CreateEmptyBlob, nor an export of EmptyBlobImpl, I thought
Blob::CreateEmptyBlob would be the cleaner solution, so here it is.

Differential Revision: https://phabricator.services.mozilla.com/D35310
2019-07-31 11:30:08 +00:00
Andrea Marchesini
22632f00d8 Bug 1567419 - Ensure the BodyStreamHolder has a valid stream always, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D38814
2019-07-23 23:23:41 +00:00
Mihai Alexandru Michis
5e76c04034 Backed out 15 changesets (bug 1014393) for causing bustages in TestMuxer.cpp and gmock-internal-utils.h CLOSED TREE
Backed out changeset 0ddbdbfa87f6 (bug 1014393)
Backed out changeset 37399c83d3bf (bug 1014393)
Backed out changeset fe652475a785 (bug 1014393)
Backed out changeset 2812ca77d87d (bug 1014393)
Backed out changeset 6755ef7b361c (bug 1014393)
Backed out changeset 72e545bdcce3 (bug 1014393)
Backed out changeset 2f030ee55722 (bug 1014393)
Backed out changeset e9416b502170 (bug 1014393)
Backed out changeset 5a01d6d44634 (bug 1014393)
Backed out changeset 3457a5065dc4 (bug 1014393)
Backed out changeset 2a4999e0475b (bug 1014393)
Backed out changeset 0be3804dc04e (bug 1014393)
Backed out changeset 234994d8f136 (bug 1014393)
Backed out changeset d17f91ff2014 (bug 1014393)
Backed out changeset 25f58baa8159 (bug 1014393)
2019-07-12 17:18:23 +03:00
Andreas Pehrson
634719ecd8 Bug 1014393 - Add Blob::CreateEmptyBlob. r=baku
I needed empty blobs in MediaRecorder and seeing that there was no
Blob::CreateEmptyBlob, nor an export of EmptyBlobImpl, I thought
Blob::CreateEmptyBlob would be the cleaner solution, so here it is.

Differential Revision: https://phabricator.services.mozilla.com/D35310
2019-07-12 13:41:48 +00:00
Andrea Marchesini
e4cc92b420 Bug 1563032 - BodyStream must check the return value of BodyStreamHolder::GetReadableStreamBody(), r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D36717
2019-07-03 16:08:30 +00:00
Andrea Marchesini
229026c8bf Bug 1557781 - Better life-time management for BodyStream/FetchStream - part 2 - BodyStream, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D35529
2019-07-01 20:01:17 +00:00
Andrea Marchesini
f265478570 Bug 1557121 - Implement Blob.text()/Blob.arrayBuffer()/Blob.stream() - part 5 - blob.stream(), r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D33830
2019-06-07 13:10:33 +00:00
Andrea Marchesini
c469460b6c Bug 1557121 - Implement Blob.text()/Blob.arrayBuffer()/Blob.stream() - part 4 - blob.text()/blob.arrayBuffer(), r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D33829
2019-06-07 13:10:16 +00:00
Jon Coppeard
42e512df3d Bug 1536154 - Update JS_updateMallocCounter callers to use the new API r=bzbarsky
This updates existing callers to use the new JS::AddAssociatedMemory API and adds calls to RemoveAssociatedMemory in finalizers.

The associated memory doesn't need to be exact, so some simplifiations are made, e.g. in CanvasRenderingContext2D where we don't wait for memory to be allocated but update the number of bytes when the dimensions change, and for stream blobs where the value returned by SizeOfIncludingThis changes over the lifetime of the object.

Differential Revision: https://phabricator.services.mozilla.com/D28692
2019-04-24 15:58:42 +01:00
Ryan Hunt
ad7b7dbb30 Bug 1523969 part 6 - Move method definition inline comments to new line in 'dom/'. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D21106
2019-02-25 16:05:29 -06:00
Andrea Marchesini
77e5df8361 Bug 1513596 - Introduce a Blob.blobImplType attribute, chrome-only, for testing, r=smaug 2018-12-15 21:40:05 +01:00
Sylvestre Ledru
e5a134f73a Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset
2018-11-30 11:46:48 +01:00
Jeff Gilbert
70a22b2878 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Emilio Cobos Álvarez
4b8b5e1717 Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Kris Maglione
0e9ef0c4fc Bug 1463287: Add QueryInterface helper macro for concrete class types. r=bz
Using concrete class types with static IIDs in QueryInterface methods is a
pretty common pattern which isn't supported by any existing helper macros.
That's lead to separate ad-hoc implementations, with varying degrees of
dodginess, being scattered around the tree.

This patch adds a helper macro with a canonical (and safe) implementation, and
updates existing ad-hoc users to use it.

MozReview-Commit-ID: HaTGF7MN5Cv
2018-05-21 16:33:18 -07:00
Kris Maglione
7e3b82a9eb Bug 1462964: Remove obsolete nsIDOMBlob interface. r=bz
MozReview-Commit-ID: 2HIlaSrvfBe
2018-05-21 17:32:44 -07:00
Thomas Wisniewski
64ad6daa5a Bug 792808 - Migrate BodyExtractor away from using nsIXHRSendable; r=baku
MozReview-Commit-ID: 1fNcm1mPJJB
2017-09-19 21:32:12 -04:00
Nika Layzell
20ee9a4927 Bug 1419597 - Part 18: Remove IsInnerWindow and IsOuterWindow methods, r=smaug
MozReview-Commit-ID: DAAm6tLubhJ
2017-11-23 13:12:13 -05:00
Andrea Marchesini
1179cf83b7 Bug 1409325 - Update FileReader WebIDL File, r=smaug 2017-10-17 13:41:01 +02:00
Andrea Marchesini
d22f2da8e5 Bug 1403706 - Remove race conditions in temporary blob - part 7 - Remove TemporaryBlobImpl, r=smaug 2017-10-05 07:41:43 +02:00
Andrea Marchesini
74bc0e9cfd Bug 1404845 - Renaming BlobImpl::GetInternalStream to BlobImpl::CreateInputStream, r=smaug 2017-10-02 13:53:12 +02:00