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

7569 Коммитов

Автор SHA1 Сообщение Дата
Norisz Fay 0dd2f35ce7 Backed out changeset 2ce4fba56cf7 (bug 1816918) for causing bustage on WebTransportParent.cpp 2023-03-28 21:48:35 +03:00
sunil mayya 0ece05ba82 Bug 1816918 - pass ClientInfo via IPC while creating webtransport session. r=necko-reviewers,jesup
Differential Revision: https://phabricator.services.mozilla.com/D173115
2023-03-28 16:53:23 +00:00
Sandor Molnar f2ead1f335 Backed out changeset db2b968157d6 (bug 1816918) for causing xpc assertion failures in mozilla/Maybe.h CLOSED TREE 2023-03-28 05:30:53 +03:00
sunil mayya 4f907068d8 Bug 1816918 - pass ClientInfo via IPC while creating webtransport session. r=necko-reviewers,jesup
Differential Revision: https://phabricator.services.mozilla.com/D173115
2023-03-28 01:39:23 +00:00
Iulian Moraru fa6cfbe289 Backed out changeset 57f13fcb6953 (bug 1816918) for causing build bustages on WebTransportParent.cpp. CLOSED TREE 2023-03-27 18:03:33 +03:00
sunil mayya 3497e2d7c9 Bug 1816918 - pass ClientInfo via IPC while creating webtransport session. r=necko-reviewers,jesup
Differential Revision: https://phabricator.services.mozilla.com/D173115
2023-03-27 12:35:44 +00:00
Andi-Bogdan Postelnicu 4efa1bd0ba Bug 1276351 - Move away from mozilla::tuple to std::tuple. r=necko-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D173256
2023-03-27 07:20:25 +00:00
Sandor Molnar 9db345d4c1 Backed out 2 changesets (bug 1276351) for causing build bustage in image/ClippedImage.cp CLOSED TREE
Backed out changeset e84598eb82c1 (bug 1276351)
Backed out changeset e940b0554484 (bug 1276351)
2023-03-25 14:16:43 +02:00
Andi-Bogdan Postelnicu 447f1e3358 Bug 1276351 - Move away from mozilla::tuple to std::tuple. r=necko-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D173256
2023-03-25 06:58:52 +00:00
Iulian Moraru 6d40eee997 Backed out 2 changesets (bug 1276351) for causing multiple failures.
Backed out changeset eeaf4f1e06af (bug 1276351)
Backed out changeset d44cb5704342 (bug 1276351)
2023-03-25 00:08:24 +02:00
Andi-Bogdan Postelnicu a1b827b503 Bug 1276351 - Move away from mozilla::tuple to std::tuple. r=necko-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D173256
2023-03-24 18:55:39 +00:00
Alexandre Lissy b5389d1492 Bug 1779721 - Make sure utility process tests notifies test harness of SIGKILL r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D173520
2023-03-24 16:37:25 +00:00
Alexandre Lissy a43989bb6a Bug 1824080 - Add rdd/utility process pref disabled info r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D173442
2023-03-23 16:08:00 +00:00
Christian Holler (:decoder) 3cb30b35f1 Bug 1821010 - Remove legacy IPC fuzzing code. r=truber,nika
Differential Revision: https://phabricator.services.mozilla.com/D171981
2023-03-23 14:53:22 +00:00
Landry Breuil b114e49ce6 Bug 1823458 - Call StartOpenBSDSandbox after JS_Init in generic utility process r=gerard-majax,sefeng
otherwise sandboxing is triggered by sysctl(KERN_PROC_PID) which
isnt permitted by the current sandboxing policy.

Differential Revision: https://phabricator.services.mozilla.com/D173152
2023-03-22 16:04:09 +00:00
Jed Davis 881a15b0e6 Bug 1822728 - Increase the child process shutdown timeout for Unix ccov builds. r=ipc-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D172752
2023-03-20 20:32:31 +00:00
Nika Layzell 0ed9cfe9b6 Bug 1815177 - Use a custom ReadResult to reduce branching during IPDL deserialization, r=ipc-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D169954
2023-03-20 15:40:38 +00:00
Nika Layzell c4bc184bac Bug 1814686 - Part 1b: Add nullable annotations to refcounted types in ipdl, r=ipc-reviewers,mccr8
Manual changes to make all refcounted types be marked as `nullable` after the
changes in part 1a. This was done without any investigation into whether the
actual types want to be nullable, in order to avoid code changes.

Differential Revision: https://phabricator.services.mozilla.com/D168889
2023-03-20 15:40:37 +00:00
Nika Layzell 9e5c372ef3 Bug 1814686 - Part 1a: Wrap refcounted types in NotNull by default, r=ipc-reviewers,mccr8
These are the IPDL compiler changes to make all refcounted types be considered
NotNull by default, building on the changes from bug 1607634.

Existing uses of IPDL refcounted types will be marked as nullable in part 1b.

Differential Revision: https://phabricator.services.mozilla.com/D168888
2023-03-20 15:40:37 +00:00
Nika Layzell 75bbcd0353 Bug 1607634 - Part 4a: Wrap non-nullable actor types in NotNull, r=ipc-reviewers,mccr8
The code changes required for this will be in part 4b. The code is designed to
be generic as it will also be used for RefCounted types in a future patch. This
replaces the manual checking which was previously done in struct and union
serializers for non-nullable actor members.

Differential Revision: https://phabricator.services.mozilla.com/D168886
2023-03-20 15:40:36 +00:00
Nika Layzell 2c767a145a Bug 1607634 - Part 3: Specialize NotNull for SideVariant, r=glandium,ipc-reviewers,mccr8
The idea behind this specialization is to provide the members which would be on
SideVariant<..> on NotNull<SideVariant<..>>, similar to how pointer-like
methods are available on `NotNull<T>`. This makes the type more ergonomic to
use from callers.

In the next part, this will be used for non-nullable actor members in IPDL
structs and IPDL unions.

Differential Revision: https://phabricator.services.mozilla.com/D168885
2023-03-20 15:40:36 +00:00
Nika Layzell aa58ee3c65 Bug 1607634 - Part 2: Add a ParamTraits implementation for NotNull, r=ipc-reviewers,mccr8
For now, this implementation is based on the implementation of the underlying
type, with extra checking that the value is not null before wrapping and
returning.

We may want to swap things around in the future so that types like RefPtr<T>
are deserialized using NotNull<T*> or similar, so that the unnecessary
serialization overhead of tracking nullness is unnecessary, however that is not
implemented in this patch.

Differential Revision: https://phabricator.services.mozilla.com/D168884
2023-03-20 15:40:35 +00:00
Nika Layzell 0e179b3feb Bug 1814683 - Part 5: Support serializing sequences of non-default-constructable types, r=ipc-reviewers,jld
This change allows callers of ReadSequenceParam to return a
Maybe<output_iterator> rather than a T* which will be used to fill the
resulting sequence. Both STL collections and std::array have iterators like
this, which can be returned from these methods without dramatically changing
the signature to support types without default constructors.

For types which support output iterators, they will be used for any type
without a trivial default constructor to avoid unnecessary constructor calls
and initialization when deserializing.

Differential Revision: https://phabricator.services.mozilla.com/D168882
2023-03-20 15:40:34 +00:00
Nika Layzell fc898b85f5 Bug 1814683 - Part 4: Allow IPDL structs to contain non-default-constructable types, r=ipc-reviewers,jld
Previously, we would always generate a default constructor for IPDL structs
which explicitly initializes every member. This would require members to have
default initializers statically. With the new approach, each member is
individually wrapped with a template parameter which will try to ensure value
initiaization, and the default constructor is implemented with `= default;`.

The default constructor will produce a warning on clang if it is implicitly
deleted, so that warning is also suppressed.

Differential Revision: https://phabricator.services.mozilla.com/D168881
2023-03-20 15:40:34 +00:00
Nika Layzell 9a282e09c9 Bug 1814683 - Part 3: Use the new Maybe-based ReadParam signature throughout IPDL, r=ipc-reviewers,jld
This builds on top of the work in bug 1775062, by using this new signature
everywhere, including IPDL struct members and in/outparams for IPDL messages.
This is done with relatively minimal changes by using two bindings, one of
which is a reference.

Differential Revision: https://phabricator.services.mozilla.com/D168880
2023-03-20 15:40:32 +00:00
Nika Layzell f965102dee Bug 1814683 - Part 2: Add a constructor for IPDL structs which moves each parameter, r=ipc-reviewers,mccr8
This will be useful after part 3 where it will be used as part of implementing
Read based on Maybe for IPDL structs. Without this change, we'd need to copy to
construct an IPDL struct containing a non-default-constructable type.

Differential Revision: https://phabricator.services.mozilla.com/D169268
2023-03-20 15:40:32 +00:00
Nika Layzell 78fa962afb Bug 1814683 - Part 1: Combine parent/child fields in IPDL structs/unions, r=ipc-reviewers,necko-reviewers,mccr8
This combines the multiple fields or variants which were previously used to
track sided types like protocol types into a single field wrapped with a
SideVariant.

This will be used in the next part to avoid the need for default constructors
for actor types allowing the proper types to be used.

Differential Revision: https://phabricator.services.mozilla.com/D168879
2023-03-20 15:40:31 +00:00
David Parks a7b12174d2 Bug 1821418: Clean up actors in UtilityProcessChild::ActorDestroy r=gerard-majax
Differential Revision: https://phabricator.services.mozilla.com/D172182
2023-03-16 16:21:40 +00:00
Andrew McCreight 4c9ff23fe4 Bug 1822608 - Make PIDs for utility processes consistent with other processes. r=gerard-majax
Other processes print their pid like (pid 12345), so change utility processes to be consistent.

Differential Revision: https://phabricator.services.mozilla.com/D172744
2023-03-16 14:56:59 +00:00
Nika Layzell 3b40268cc1 Bug 1818305 - Part 2: Add a streamStatus method to nsIInputStream, r=xpcom-reviewers,necko-reviewers,geckoview-reviewers,valentin,jesup,m_kato,mccr8
This is semantically similar to the existing available() method, however will
not block, and doesn't need to do the work to actually determine the number of
available bytes.

As part of this patch, I also fixed one available() implementation which was
incorrectly throwing NS_BASE_STREAM_WOULD_BLOCK.

Differential Revision: https://phabricator.services.mozilla.com/D170697
2023-03-15 19:52:34 +00:00
Nika Layzell e61507c3a3 Bug 1818305 - Part 1: Add a streamStatus method to nsIOutputStream, r=necko-reviewers,geckoview-reviewers,jesup,emilio,m_kato,devtools-reviewers
This new method can be used to check if the nsIOutputStream has been
closed without having data available to write. It should avoid blocking
to discover this information.

Differential Revision: https://phabricator.services.mozilla.com/D170696
2023-03-15 19:52:33 +00:00
Butkovits Atila f4a0d95530 Backed out changeset 7f4d99410d00 (bug 1821010) for causing bustages at content_parent_ipc_libfuzz.cpp. CLOSED TREE 2023-03-15 16:20:30 +02:00
Christian Holler (:decoder) 8e538acac8 Bug 1821010 - Remove legacy IPC fuzzing code. r=truber,nika
Differential Revision: https://phabricator.services.mozilla.com/D171981
2023-03-15 13:44:29 +00:00
serge-sans-paille 860ac9660a Bug 1820573 - Make security/ buildable outside of a unified build environment r=andi,keeler
Differential Revision: https://phabricator.services.mozilla.com/D171732
2023-03-15 07:30:36 +00:00
Andrew Sutherland 17cdd0ba6c Bug 1775784 - Make PRemoteWorkerService refcounted instead of ManualDealloc. r=dom-worker-reviewers,smaug
Differential Revision: https://phabricator.services.mozilla.com/D166261
2023-03-14 23:57:56 +00:00
Andrew Sutherland 74f305b424 Bug 1775784 - Make PRemoteWorker refcounted instead of ManualDealloc. r=dom-worker-reviewers,smaug
Differential Revision: https://phabricator.services.mozilla.com/D164643
2023-03-14 23:57:56 +00:00
Alexandre Lissy 41b99855dd Bug 1804291 - Add RDD Telemetry r=alwu,chutten
Differential Revision: https://phabricator.services.mozilla.com/D164232
2023-03-14 23:13:15 +00:00
Alexandre Lissy 231b4b1aad Bug 1804249 - Add telemetry for audio decoding process type r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D163951
2023-03-14 23:13:15 +00:00
Iulian Moraru 801dae8f2c Backed out 14 changesets (bug 1607634, bug 1814683, bug 1815177, bug 1814686) for causing build bustages on MaybeStorageBase. CLOSED TREE
Backed out changeset ae1c0551cea5 (bug 1815177)
Backed out changeset a11cafaa1884 (bug 1814686)
Backed out changeset 621507521762 (bug 1814686)
Backed out changeset ad692c73e381 (bug 1814686)
Backed out changeset 3be031e503dc (bug 1607634)
Backed out changeset aebbaa145d2d (bug 1607634)
Backed out changeset 9aa1f346fe14 (bug 1607634)
Backed out changeset e3eb77ad55ca (bug 1607634)
Backed out changeset e60591e5d5cf (bug 1607634)
Backed out changeset 6e43042d204a (bug 1814683)
Backed out changeset 1706e88652d6 (bug 1814683)
Backed out changeset 6878a1590e91 (bug 1814683)
Backed out changeset b1c980c834d8 (bug 1814683)
Backed out changeset 94480b82d102 (bug 1814683)
2023-03-15 01:58:36 +02:00
Nika Layzell a8e03b0bf5 Bug 1815177 - Use a custom ReadResult to reduce branching during IPDL deserialization, r=ipc-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D169954
2023-03-14 19:31:42 +00:00
Nika Layzell a07f4ca7c9 Bug 1814686 - Part 1b: Add nullable annotations to refcounted types in ipdl, r=ipc-reviewers,mccr8
Manual changes to make all refcounted types be marked as `nullable` after the
changes in part 1a. This was done without any investigation into whether the
actual types want to be nullable, in order to avoid code changes.

Differential Revision: https://phabricator.services.mozilla.com/D168889
2023-03-14 19:31:41 +00:00
Nika Layzell de0614a91a Bug 1814686 - Part 1a: Wrap refcounted types in NotNull by default, r=ipc-reviewers,mccr8
These are the IPDL compiler changes to make all refcounted types be considered
NotNull by default, building on the changes from bug 1607634.

Existing uses of IPDL refcounted types will be marked as nullable in part 1b.

Differential Revision: https://phabricator.services.mozilla.com/D168888
2023-03-14 19:31:41 +00:00
Nika Layzell 81205eb92d Bug 1607634 - Part 4a: Wrap non-nullable actor types in NotNull, r=ipc-reviewers,mccr8
The code changes required for this will be in part 4b. The code is designed to
be generic as it will also be used for RefCounted types in a future patch. This
replaces the manual checking which was previously done in struct and union
serializers for non-nullable actor members.

Differential Revision: https://phabricator.services.mozilla.com/D168886
2023-03-14 19:31:40 +00:00
Nika Layzell 86509aaa1a Bug 1607634 - Part 3: Specialize NotNull for SideVariant, r=glandium,ipc-reviewers,mccr8
The idea behind this specialization is to provide the members which would be on
SideVariant<..> on NotNull<SideVariant<..>>, similar to how pointer-like
methods are available on `NotNull<T>`. This makes the type more ergonomic to
use from callers.

In the next part, this will be used for non-nullable actor members in IPDL
structs and IPDL unions.

Differential Revision: https://phabricator.services.mozilla.com/D168885
2023-03-14 19:31:39 +00:00
Nika Layzell 7c9385cad1 Bug 1607634 - Part 2: Add a ParamTraits implementation for NotNull, r=ipc-reviewers,mccr8
For now, this implementation is based on the implementation of the underlying
type, with extra checking that the value is not null before wrapping and
returning.

We may want to swap things around in the future so that types like RefPtr<T>
are deserialized using NotNull<T*> or similar, so that the unnecessary
serialization overhead of tracking nullness is unnecessary, however that is not
implemented in this patch.

Differential Revision: https://phabricator.services.mozilla.com/D168884
2023-03-14 19:31:39 +00:00
Nika Layzell f06c460d94 Bug 1814683 - Part 5: Support serializing sequences of non-default-constructable types, r=ipc-reviewers,jld
This change allows callers of ReadSequenceParam to return a
Maybe<output_iterator> rather than a T* which will be used to fill the
resulting sequence. Both STL collections and std::array have iterators like
this, which can be returned from these methods without dramatically changing
the signature to support types without default constructors.

For types which support output iterators, they will be used for any type
without a trivial default constructor to avoid unnecessary constructor calls
and initialization when deserializing.

Differential Revision: https://phabricator.services.mozilla.com/D168882
2023-03-14 19:31:38 +00:00
Nika Layzell 11639b965c Bug 1814683 - Part 4: Allow IPDL structs to contain non-default-constructable types, r=ipc-reviewers,jld
Previously, we would always generate a default constructor for IPDL structs
which explicitly initializes every member. This would require members to have
default initializers statically. With the new approach, each member is
individually wrapped with a template parameter which will try to ensure value
initiaization, and the default constructor is implemented with `= default;`.

The default constructor will produce a warning on clang if it is implicitly
deleted, so that warning is also suppressed.

Differential Revision: https://phabricator.services.mozilla.com/D168881
2023-03-14 19:31:38 +00:00
Nika Layzell 0139e1501c Bug 1814683 - Part 3: Use the new Maybe-based ReadParam signature throughout IPDL, r=ipc-reviewers,jld
This builds on top of the work in bug 1775062, by using this new signature
everywhere, including IPDL struct members and in/outparams for IPDL messages.
This is done with relatively minimal changes by using two bindings, one of
which is a reference.

Differential Revision: https://phabricator.services.mozilla.com/D168880
2023-03-14 19:31:37 +00:00
Nika Layzell 99fb1dbf3f Bug 1814683 - Part 2: Add a constructor for IPDL structs which moves each parameter, r=ipc-reviewers,mccr8
This will be useful after part 3 where it will be used as part of implementing
Read based on Maybe for IPDL structs. Without this change, we'd need to copy to
construct an IPDL struct containing a non-default-constructable type.

Differential Revision: https://phabricator.services.mozilla.com/D169268
2023-03-14 19:31:37 +00:00
Nika Layzell 97577629c0 Bug 1814683 - Part 1: Combine parent/child fields in IPDL structs/unions, r=ipc-reviewers,necko-reviewers,mccr8
This combines the multiple fields or variants which were previously used to
track sided types like protocol types into a single field wrapped with a
SideVariant.

This will be used in the next part to avoid the need for default constructors
for actor types allowing the proper types to be used.

Differential Revision: https://phabricator.services.mozilla.com/D168879
2023-03-14 19:31:36 +00:00