Граф коммитов

16 Коммитов

Автор SHA1 Сообщение Дата
unknown 7f28f17f33 Bug 1665280 - For RawBuffer reads, return a view into the shmem. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D90354
2020-09-16 07:16:48 +00:00
David Parks 01d313e47b Bug 1659523: Secure bool and enum serialization in remote WebGL r=jgilbert
"Validate" bools to guarantee they always (de)serialize to proper values.  Require that all enums use EnumSerializer or their own special handlers.

Differential Revision: https://phabricator.services.mozilla.com/D87367
2020-08-25 16:10:21 +00:00
Jeff Gilbert f25a4cdbe8 Bug 1607940 - IPC TexImage. r=lsalzman,nika,handyman
Differential Revision: https://phabricator.services.mozilla.com/D83291
2020-07-21 22:57:01 +00:00
Jeff Gilbert 35f892e782 Bug 1607940 - Stand up webgl.out-of-process:true path. r=handyman,nika,froydnj
* Use clearer pref names.
* Default (and only support) IPDL dispatching.
* Make DispatchCommands async-only.
* Sync ipdl command per sync webgl entrypoint.
  * Eat the boilerplate cost, since there's not too many.
* Run SerializedSize off same path as Serialize.
* All shmem uploads go through normal DispatchCommands.
* Defer pruning of dead code for now so we can iterate quickly.
* Use Read/Write(begin,end) instead of (begin,size).
  * This would have prevented a bug where we read/wrote N*sizeof(T)*sizeof(T).

Differential Revision: https://phabricator.services.mozilla.com/D81495
2020-07-21 22:56:52 +00:00
Simon Giesecke cd8b8939b9 Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
David Parks a037a1dfed Bug 1624726: Part 6 - Eliminate pointers from QueueParamTraits::Read r=jgilbert
Since we are no longer peeking or removing without copying, Read always gets a valid object.  This makes its parameter a reference and removes extraneous null checks.

Differential Revision: https://phabricator.services.mozilla.com/D78544
2020-06-08 23:42:37 +00:00
David Parks 8de1bbb2c8 Bug 1624726: Part 5 - Eliminate pointers in QueueParamTraits::MinSize r=jgilbert
Since we are no longer peeking or removing without copying, MinSize always gets a valid object.  This converts its parameter to a reference and removes extraneous null checks.

Differential Revision: https://phabricator.services.mozilla.com/D78543
2020-06-08 23:35:56 +00:00
David Parks 8564a55a42 Bug 1624726: Part 4 - Remove peeking and no-copy remove methods from ProducerConsumerQueue r=jgilbert
Peeking or pulling entries from the queue without deserializing them into an object requires making QueueParamTraits more complex.  We don't currently need the functionality; the added complexity isn't worth it.

Differential Revision: https://phabricator.services.mozilla.com/D78542
2020-06-08 23:35:48 +00:00
David Parks 759997410f Bug 1624726: Part 3 - Add EnumSerializers for WebGL QueueParamTraits r=jgilbert
EnumSerializers allow for easy enum validation in deserialization.  The implementation is taken from IPDL's EnumSerializers and uses the IPDL EnumValidator classes and is used in exactly the same way.

Differential Revision: https://phabricator.services.mozilla.com/D78541
2020-06-08 23:35:46 +00:00
David Parks 2ef85f1eaa Bug 1624726: Part 2 - Clean up some WebGL QueueParamTraits code r=jgilbert
Removing dead code, cleaning up comments, etc.

Differential Revision: https://phabricator.services.mozilla.com/D78540
2020-06-08 23:35:44 +00:00
David Parks 7d1357d041 Bug 1624726: Part 1 - Remove argument type checking in WebGL remoting r=jgilbert
Type checking these queues turned out not to be useful.  It added tokens to the stream that validated the type of the data in the stream against the type of the objects that it would deserialize into.  However, the IPC mechanism is already completely type safe at the source code level so it was not useful in debugging.

Differential Revision: https://phabricator.services.mozilla.com/D78539
2020-06-08 23:35:39 +00:00
David Parks c8256d77c7 Bug 1635956: Part 1 - Refactor WebGL QueueParamTraits to use Push/PopShmem r=jgilbert
The old style of using SharedMemory objects was fine for Windows but was incompatible with Mac and Linux because the objects were not sent to the remote process with the proper socket scheme.  This meant that shared memory could not be read by the destination process.  Shmems are capable of this on all platforms so we use them instead.

Differential Revision: https://phabricator.services.mozilla.com/D74972
2020-06-02 06:16:42 +00:00
Kershaw Chang bdbecde447 Bug 1539819 - P1: Make TRRService work in socket process r=dragana,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D68880
2020-05-18 20:18:03 +00:00
David Parks 7ac7bc9be6 Bug 1621762: Part 4 - Move some code from ProducerConsumerQueue.h to QueueParamTraits.h r=jgilbert
Move QueueParamTraits, which are common between PCQ and IpdlQueue, to a file they both include.  This also changes the namespace of a handful of the classes, like the Marshaller.

Differential Revision: https://phabricator.services.mozilla.com/D68260
2020-04-30 22:23:10 +00:00
Daniel Varga 452acadb3b Backed out 7 changesets (bug 1621762) for causing build bustages at builds/worker/workspace/obj-build/dist/include/mozilla/dom/ProducerConsumerQueue.h
CLOSED TREE

Backed out changeset 03903e8f368e (bug 1621762)
Backed out changeset 21ef72486643 (bug 1621762)
Backed out changeset 70d103786c83 (bug 1621762)
Backed out changeset a3e1332998c3 (bug 1621762)
Backed out changeset 010f653b87d2 (bug 1621762)
Backed out changeset 0496adcb4582 (bug 1621762)
Backed out changeset 8d85420fd2e6 (bug 1621762)
2020-04-30 06:06:33 +03:00
David Parks 7b22a25f49 Bug 1621762: Part 4 - Move some code from ProducerConsumerQueue.h to QueueParamTraits.h r=jgilbert
Move QueueParamTraits, which are common between PCQ and IpdlQueue, to a file they both include.  This also changes the namespace of a handful of the classes, like the Marshaller.

Differential Revision: https://phabricator.services.mozilla.com/D68260
2020-04-30 01:02:58 +00:00