Commit Graph

1629 Commits

Author SHA1 Message Date
Otto Länd
f15bc097df Bug 1850865: apply code formatting via Lando
# ignore-this-changeset
2023-09-05 18:12:20 +00:00
Jim Blandy
ead739b02b Bug 1850865: Add helpers for stringifying protocol sides. r=ipc-reviewers,nika
Depends on D187167

Differential Revision: https://phabricator.services.mozilla.com/D187213
2023-09-05 18:09:30 +00:00
Jim Blandy
7262779e1f Bug 1850865: Improve MOZ_IPC_MESSAGE_LOG. r=ipc-reviewers,nika
Use MOZ_IPC_MESSAGE_LOG to filter GOODBYE_MESSAGE_TYPE messages.

Interpret MOZ_IPC_MESSAGE_LOG elements without the "Child" or "Parent"
suffix as a request to log both sides of the given protocol.

Differential Revision: https://phabricator.services.mozilla.com/D187167
2023-09-05 18:09:30 +00:00
Kershaw Chang
08e047c5e7 Bug 1758155 - Allow empty top-level IPC protocol, r=nika
Differential Revision: https://phabricator.services.mozilla.com/D187060
2023-08-31 11:45:05 +00:00
Andrew Osmond
25c238ea4e Bug 1845946 - Part 1. Switch GMP process launching IPDL messages from sync to async. r=ipc-reviewers,media-playback-reviewers,alwu,mccr8
When launching the GMP process, or querying its state, via PGMPService,
the design was already asynchronous. As such we can remove the sync
requirement quite easily and allow more flexibility on the parent
process side.

Differential Revision: https://phabricator.services.mozilla.com/D185335
2023-08-15 16:46:12 +00:00
Cristian Tuns
da1e39f50e Backed out 3 changesets (bug 1845946) for causing bug 1848484. CLOSED TREE
Backed out changeset bad73ceb87dd (bug 1845946)
Backed out changeset f984e69872e4 (bug 1845946)
Backed out changeset af600f0290b6 (bug 1845946)
2023-08-13 15:38:36 -04:00
Andrew Osmond
4ca8d166c5 Bug 1845946 - Part 1. Switch GMP process launching IPDL messages from sync to async. r=ipc-reviewers,media-playback-reviewers,alwu,mccr8
When launching the GMP process, or querying its state, via PGMPService,
the design was already asynchronous. As such we can remove the sync
requirement quite easily and allow more flexibility on the parent
process side.

Differential Revision: https://phabricator.services.mozilla.com/D185335
2023-08-10 14:31:47 +00:00
Nika Layzell
e21e43e089 Bug 1845146 - Check numberOfBytes{Read,Written} in TestManyHandles, r=ipc-reviewers,handyman
When running GTests on Windows 7, the TestManyHandles test crashes due
to the lpNumberOfBytesWritten argument to WriteFile not being passed.
This argument is required on earlier versions of Windows like Windows 7.

While we no longer support Windows 7 on Nightly, we still support it on
ESR, and are trying to run GTests on Windows 7 there. It also doesn't
hurt to add extra assertions that the full amount of data is
read/written, so checking this could be valuable on m-c as well.

Differential Revision: https://phabricator.services.mozilla.com/D184393
2023-08-02 21:40:19 +00:00
Benjamin VanderSloot
19ec221a97 Bug 1805860 - Remove navigator.permissions.revoke dead code - r=anti-tracking-reviewers,ipc-reviewers,webidl,saschanaz,mccr8,timhuang
Differential Revision: https://phabricator.services.mozilla.com/D182242
2023-07-19 14:51:11 +00:00
Stanca Serban
9e82c693d0 Backed out 8 changesets (bug 1805860, bug 1733556) for causing bp-nu bustages in StorageAccessAPIHelper.cpp.
Backed out changeset fa21a55ce837 (bug 1733556)
Backed out changeset 6c09379cdb5a (bug 1733556)
Backed out changeset d8c19265b981 (bug 1733556)
Backed out changeset d48d415fca83 (bug 1805860)
Backed out changeset 3acd0ba1dba6 (bug 1805860)
Backed out changeset d2a6174bbb14 (bug 1805860)
Backed out changeset 48558ba49efe (bug 1805860)
Backed out changeset c8693b9449d3 (bug 1805860)
2023-07-18 23:39:08 +03:00
Benjamin VanderSloot
0530069978 Bug 1805860 - Remove navigator.permissions.revoke dead code - r=anti-tracking-reviewers,ipc-reviewers,webidl,saschanaz,mccr8,timhuang
Differential Revision: https://phabricator.services.mozilla.com/D182242
2023-07-18 19:14:30 +00:00
sotaro
50ab537300 Bug 1839314 - Force sync IPC if there are many flushed cmds without calling ClientWebGLContext::GetFrontBuffer() r=ipc-reviewers,nika,gfx-reviewers,lsalzman
There were cases that a lot of cmds messages were sent by WebGLChild::FlushPendingCmds() without calling ClientWebGLContext::GetFrontBuffer(). And the IPC messages were waiting to be handled by WebGLParent, since OpenGL handling could take longer. Then there were cases that pending IPC messages were accumulated and it caused out of file descriptor on Linux. The sync IPC could reduce the pending IPC messages if there are a lot of cmds flashes.

async Ping is used for checking if IPC message is congested at WebGLParent. If a count of flushes since last congestion check reaches maybeIPCMessageCongestion, we think that IPC message is congested at WebGLParent. Then send sync SyncPing message to flush pending IPC messages.

Differential Revision: https://phabricator.services.mozilla.com/D181484
2023-06-27 18:23:41 +00:00
James Teh
d762f87c52 Bug 1831035 part 2: Remove DocAccessibleChild::RecvAddToSelection. r=eeejay,ipc-reviewers,mccr8
The sync IPDL RemoteAccessible::AddToSelection was removed in bug 1811092, but the DocAccessibleChildBase method remained.
This is no longer used, so remove it.

Differential Revision: https://phabricator.services.mozilla.com/D181937
2023-06-26 21:20:12 +00:00
James Teh
aecc1ba54a Bug 1831035 part 1: Remove PDocAccessible::SyncTextChangeEvent. r=nlapre,ipc-reviewers,mccr8
I neglected to remove this in bug 1821956.

Differential Revision: https://phabricator.services.mozilla.com/D181847
2023-06-26 21:20:12 +00:00
Eitan Isaacson
b3cea24dfd Bug 1834874 - P2: Remove DocAccessiblePlatformExt. r=Jamie,ipc-reviewers,mccr8
Since we removed the last dependency on this subprotocol, we can now
remove it.

Differential Revision: https://phabricator.services.mozilla.com/D181321
2023-06-20 18:15:43 +00:00
Nika Layzell
fb140add17 Bug 1835647 - Switch FatalError to asynchronously report channel errors under fuzzing, r=ipc-reviewers,mccr8
This should avoid potential fuzzing-only issues which would be caused by
the actor being torn down synchronously after a FatalError or KillHard.
Instead, the state is set to error synchronously, blocking all further
message sending/receiving, and the notification is made async, similar
to how it is handled for normal channel errors.

Differential Revision: https://phabricator.services.mozilla.com/D180254
2023-06-08 23:09:19 +00:00
Mike Hommey
c72ed0e448 Bug 1835185 - Adjust preprocessor conditions knowing that XP_WIN and XP_UNIX are mutually exclusive. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D180137
2023-06-06 21:05:37 +00:00
Mike Hommey
30c664bf9c Bug 1835185 - Replace OS_WIN with XP_WIN in ipc code. r=ipc-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D180044
2023-06-06 21:05:31 +00:00
Mike Hommey
eb02cb32ad Bug 1835185 - Replace OS_POSIX with XP_UNIX in ipc code. r=ipc-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D180043
2023-06-06 21:05:31 +00:00
Eitan Isaacson
4b8822a071 Bug 1826869 - Cache doc mime type and make available via DocAccessibleParent. r=morgan,ipc-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D178887
2023-05-26 22:17:13 +00:00
Eitan Isaacson
63f60f5072 Bug 1826866 - DocAccessible::DocType and remote equivalents. r=Jamie,ipc-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D178886
2023-05-26 22:17:13 +00:00
Eitan Isaacson
9b58fed3a9 Bug 1821965 - P2: Remove sync IPC extension messages for text operations. r=morgan,ipc-reviewers,mccr8
We can get rid the entire local HyperTextAccessible-based implementation as well!

Depends on D178717

Differential Revision: https://phabricator.services.mozilla.com/D178718
2023-05-26 22:17:13 +00:00
Eitan Isaacson
dbdf01888d Bug 1832353 - P3: Make editable text methods async and return void. r=Jamie,ipc-reviewers,mccr8
Depends on D178715

Differential Revision: https://phabricator.services.mozilla.com/D178724
2023-05-26 22:17:12 +00:00
Nika Layzell
2f2588cf4f Bug 1828389 - Ensure IPC channel is closed with error after KillHard, r=ipc-reviewers,mccr8
This patch changes KillHard() such that the IPC channel is immediately
shut down with an error after a KillHard() is performed. This is done by
fixing the previously-broken CLOSE_CHANNEL_WITH_ERROR support in
ShutDownProcess, and calling that method after KillHard().

This ensures that after the process has been killed, no further messages
will be delivered and processed, even if they were sent before the
process was killed.

In addition, the assertions and KillHard calls which are disabled for
fuzzing were changed to also shut down the channel, making fuzzing IPC
errors cause the connection to be terminated like it is in production
for these actors.

This change does not impact actors which ignore processing errors.

Differential Revision: https://phabricator.services.mozilla.com/D178383
2023-05-26 17:44:57 +00:00
Noemi Erli
ab21b0f95b Backed out 6 changesets (bug 1832353, bug 1821965) for causing build bustages in GeckoTextMarker.mm
Backed out changeset 6df0877f288a (bug 1821965)
Backed out changeset e663ccc0334e (bug 1821965)
Backed out changeset 36b250225e50 (bug 1821965)
Backed out changeset 6df5d07bf19f (bug 1832353)
Backed out changeset 409966c76f0f (bug 1832353)
Backed out changeset 3be446e44436 (bug 1832353)
2023-05-26 02:48:29 +03:00
Eitan Isaacson
0caef88bb0 Bug 1821965 - P2: Remove sync IPC extension messages for text operations. r=morgan,ipc-reviewers,mccr8
We can get rid the entire local HyperTextAccessible-based implementation as well!

Depends on D178717

Differential Revision: https://phabricator.services.mozilla.com/D178718
2023-05-25 20:38:29 +00:00
Eitan Isaacson
2237be2626 Bug 1832353 - P3: Make editable text methods async and return void. r=Jamie,ipc-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D178724
2023-05-25 20:38:29 +00:00
Olli Pettay
3a786da831 Bug 1534586 - Remove unused PBrowser::DispatchFocusToTopLevelWindow, r=aiunusov,ipc-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D178976
2023-05-25 12:15:44 +00:00
James Teh
c9479f6488 Bug 1821956 part 2: Remove content process MSAA id generation. r=nlapre,ipc-reviewers,taskgraph-reviewers,mccr8,jmaher
Because a11y clients only talk to the parent process now, content processes don't need to generate MSAA ids.
They're all generated in the parent process.

Differential Revision: https://phabricator.services.mozilla.com/D177895
2023-05-21 22:23:47 +00:00
James Teh
5d287de1f7 Bug 1821957: Remove RemoteAccessible methods which are already supported by RemoteAccessibleBase/CachedTableAccessible/CachedTableCellAccessible or are no longer used. r=eeejay,ipc-reviewers,mccr8
This removes the following RemoteAccessible methods:

Name
Value
Step
Description
Help
State
Bounds
BoundsInCSSPixels
Language
Attributes
RelationByType
CurValue
MinValue
MaxValue
OffsetAtPoint
TextSubstring
TextBeforeOffset
TextAtOffset
TextAfterOffset
RemoveFromSelection
CaretOffset
SetCaretOffset
ScrollSubstringTo
DOMNodeID
TakeFocus
ChildAtPoint
GroupPosition
SetSelectionBoundsAt
IsSearchbox
LandmarkRole
CharacterCount
SelectionCount
CharAt
TextAttributes
DefaultTextAttributes
TextBounds
CharBounds
SelectionBoundsAt
Text
StartOffset
EndOffset
LinkCount
LinkIndexAtOffset
TableIsProbablyForLayout
SelectedItems
SelectedItemCount
GetSelectedItem
IsItemSelected
AddItemToSelection
RemoveItemFromSelection
SelectAll
UnselectAll
DoAction
ActionCount
ActionNameAt
AccessKey
Extents
AtkKeyBinding
NativeState
Relations
ImagePosition
ImageSize
TableSummary
TableRowAndColumnIndicesAt
TableSelectedCellCount
TableSelectedColumnCount
TableSelectedRowCount
TableSelectedCells
TableSelectedCellIndices
TableOfACell
ColIdx
RowIdx
GetPosition
ColExtent
RowExtent
GetColRowExtents
ColHeaderCells
RowHeaderCells
IsCellSelected
TableCaption
TableColumnCount
TableRowCount
TableCellAt
TableCellIndexAt
TableColumnIndexAt
TableRowIndexAt
TableColumnExtentAt
TableRowExtentAt
TableColumnDescription
TableRowDescription
TableColumnSelected
TableRowSelected
TableSelectedColumnIndices
TableSelectedRowIndices
TableSelectColumn
TableSelectRow
TableUnselectColumn
TableUnselectRow
AtkTableColumnHeader
AtkTableRowHeader

Differential Revision: https://phabricator.services.mozilla.com/D177873
2023-05-21 02:44:36 +00:00
Stanca Serban
0d97343733 Backed out 2 changesets (bug 1807049, bug 1828389) for mozilla::ThreadEventTarget::Dispatch xpcshell related crashes. CLOSED TREE
Backed out changeset bbd8b8bbf677 (bug 1828389)
Backed out changeset 03bd5f26f9af (bug 1807049)
2023-05-20 07:38:09 +03:00
Nika Layzell
c3ca248eeb Bug 1828389 - Ensure IPC channel is closed with error after KillHard, r=ipc-reviewers,mccr8
This patch changes KillHard() such that the IPC channel is immediately
shut down with an error after a KillHard() is performed. This is done by
fixing the previously-broken CLOSE_CHANNEL_WITH_ERROR support in
ShutDownProcess, and calling that method after KillHard().

This ensures that after the process has been killed, no further messages
will be delivered and processed, even if they were sent before the
process was killed.

In addition, the assertions and KillHard calls which are disabled for
fuzzing were changed to also shut down the channel, making fuzzing IPC
errors cause the connection to be terminated like it is in production
for these actors.

This change does not impact actors which ignore processing errors.

Differential Revision: https://phabricator.services.mozilla.com/D178383
2023-05-19 19:21:08 +00:00
Eitan Isaacson
e108daa52d Bug 1826868 - Remove useless Title IPC sync message. r=morgan,ipc-reviewers,mccr8
The message wasn't doing anything useful on Mac. Took the opportunity to
correcty expose the AXTitle/AXDescription of headings.

Differential Revision: https://phabricator.services.mozilla.com/D176824
2023-05-08 16:52:34 +00:00
Eitan Isaacson
822e591e8a Bug 1826865 - Make SetCurValue asynchronous. r=Jamie,ipc-reviewers,jld
Differential Revision: https://phabricator.services.mozilla.com/D176562
2023-04-28 15:59:01 +00:00
Nika Layzell
a73c63f734 Bug 1824465 - Part 24: Require toplevel protocols to be refcounted, r=ipc-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D173739
2023-04-19 22:10:11 +00:00
Nika Layzell
eba8c09686 Bug 1827440 - Stop sending a redundant actor reference in Send__delete__, r=ipc-reviewers,mccr8
Previously we would both send it as the routing target for the actor as
well as as an implicit actor parameter. This patch keeps the same API
from the caller's point of view, but avoids sending the second reference
to the actor in the Send__delete__ message, which also avoids potential
issues with the second reference being null under fuzzing.

Differential Revision: https://phabricator.services.mozilla.com/D175545
2023-04-18 19:05:49 +00:00
Natalia Csoregi
d8c2893185 Backed out changeset 4938674bfdf6 (bug 1827440) for causing bustage on ipdl. CLOSED TREE 2023-04-18 20:26:40 +03:00
Nika Layzell
3471f8cd6a Bug 1827440 - Stop sending a redundant actor reference in Send__delete__, r=ipc-reviewers,mccr8
Previously we would both send it as the routing target for the actor as
well as as an implicit actor parameter. This patch keeps the same API
from the caller's point of view, but avoids sending the second reference
to the actor in the Send__delete__ message, which also avoids potential
issues with the second reference being null under fuzzing.

Differential Revision: https://phabricator.services.mozilla.com/D175545
2023-04-18 17:12:22 +00:00
Noemi Erli
d637b3f05e Backed out 24 changesets (bug 1824465) for causing failures in nsISupportsImpl.cpp CLOSED TREE
Backed out changeset a5c8f22b7170 (bug 1824465)
Backed out changeset b551b655ac72 (bug 1824465)
Backed out changeset 0e6768a6419c (bug 1824465)
Backed out changeset fb115ebb7fe0 (bug 1824465)
Backed out changeset aaa7a2c8aa3b (bug 1824465)
Backed out changeset 7ef94bfa90b3 (bug 1824465)
Backed out changeset a4238fd6b86f (bug 1824465)
Backed out changeset 3a88e4cfbe45 (bug 1824465)
Backed out changeset 40c2467d3162 (bug 1824465)
Backed out changeset 8f900395c72c (bug 1824465)
Backed out changeset 92e4c6e4d73c (bug 1824465)
Backed out changeset 445c5d5d9661 (bug 1824465)
Backed out changeset de51ed5389d9 (bug 1824465)
Backed out changeset 72049d72bcb6 (bug 1824465)
Backed out changeset 126773c2427a (bug 1824465)
Backed out changeset 886e76bc80be (bug 1824465)
Backed out changeset a69a851411f0 (bug 1824465)
Backed out changeset 703599cf6189 (bug 1824465)
Backed out changeset 11ecb78ebc15 (bug 1824465)
Backed out changeset 563255aaa1e1 (bug 1824465)
Backed out changeset d1bf32c2a6c6 (bug 1824465)
Backed out changeset ef28b2777487 (bug 1824465)
Backed out changeset a2015d354bb1 (bug 1824465)
Backed out changeset 31d6b53fdc6a (bug 1824465)
2023-04-06 01:50:55 +03:00
Nika Layzell
746286bda3 Bug 1824465 - Part 24: Require toplevel protocols to be refcounted, r=ipc-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D173739
2023-04-05 21:33:45 +00:00
Nika Layzell
83c3e70137 Bug 1822863 - Use Span<...> in IPDL send signatures, r=ipc-reviewers,mccr8
This should make it possible to send data without copying in some
situations.

This requires adding the `rightconst` attribute to the C++ `Type` type
in order to allow specifying `Span<PFoo* const>`, which isn't possible
to specify with a left const. The type is getting very gross with all of
these flags and it's probably worth switching it to be a recursive
type at this point.

Differential Revision: https://phabricator.services.mozilla.com/D173570
2023-04-05 16:29:51 +00:00
Narcis Beleuzu
68d2df6fc6 Backed out changeset a817ea947b55 (bug 1822863) for bustages on lower.py . CLOSED TREE 2023-04-05 00:09:21 +03:00
Nika Layzell
d6481709e6 Bug 1822863 - Use Span<...> in IPDL send signatures, r=ipc-reviewers,mccr8
This should make it possible to send data without copying in some
situations.

This requires adding the `rightconst` attribute to the C++ `Type` type
in order to allow specifying `Span<PFoo* const>`, which isn't possible
to specify with a left const. The type is getting very gross with all of
these flags and it's probably worth switching it to be a recursive
type at this point.

Differential Revision: https://phabricator.services.mozilla.com/D173570
2023-04-04 20:43:32 +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
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
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