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

1631 Коммитов

Автор SHA1 Сообщение Дата
Lee Salzman f793972d4c Bug 1553691 - Implement CrossProcessSemaphore on macOS using Mach semaphores. r=nika
Unnamed POSIX semaphores are not supported on macOS, nor is timed wait supported on
named POSIX semaphores. SysV semaphores have similar limitations.

Mach semaphores are one of the only clean ways to create unnamed, shareable semaphores
on macOS. As of bug 1734735, we now can transparently send the mach ports across to
other processes without much added code, overall making this implementation of Mach
semaphores fairly easy.

Differential Revision: https://phabricator.services.mozilla.com/D188429
2023-09-19 21:16:46 +00:00
Logan Rosen f024d94b2b Bug 1786490 - reformat the tree using black 23.3.0 r=sylvestre,webdriver-reviewers,taskgraph-reviewers,whimboo,jmaher,ahal,perftest-reviewers,geckoview-reviewers,afinder,m_kato
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D186092
2023-09-06 16:14:30 +00:00
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