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

56 Коммитов

Автор SHA1 Сообщение Дата
Nika Layzell 5cc51fa13f Bug 1713148 - Part 5: Remove ThreadLink, r=handyman
This removes the last form of unique link between two MessageChannels so that
all MessageChannels communicate using PortLink, as it is fairly straightforward
to use PortLink to communicate between two threads in-process.

Differential Revision: https://phabricator.services.mozilla.com/D116672
2021-06-22 18:17:25 +00:00
Nika Layzell 7dba3a39f8 Bug 1713148 - Part 4: Remove ProcessLink, r=handyman
After the changes in part 3, this type is now dead code and can be fully
removed.

Differential Revision: https://phabricator.services.mozilla.com/D116671
2021-06-22 18:17:25 +00:00
Nika Layzell 985adb750c Bug 1706374 - Part 11: Add NodeController component bridging IPC and Ports, r=handyman
The NodeController and NodeChannel types act as the backbone connecting the
existing IPC logic and driving the ports routing code. Individual NodeChannel
objects wrap and respond to messages from IPC::Channel, and the NodeController
orchestrates all messaging for a process.

The design of these types are inspired by the types with the same names from
Mojo but have been simplified and streamlined to only support features used by
Gecko.

Support for attaching ports or handles to messages hasn't been added yet, but
can be added in follow-up patches.

Differential Revision: https://phabricator.services.mozilla.com/D112775
2021-06-22 18:17:22 +00:00
Butkovits Atila 83f57b5c69 Backed out 22 changesets (bug 1714226, bug 1706374, bug 1713148) for causing build bustages on MessageChannel.cpp. CLOSED TREE
Backed out changeset ea469eaa54ca (bug 1713148)
Backed out changeset fd8523d5126e (bug 1713148)
Backed out changeset f2e5309c914c (bug 1713148)
Backed out changeset 2da57973ed55 (bug 1713148)
Backed out changeset 677e1ee99bb2 (bug 1713148)
Backed out changeset b4c0619e79bf (bug 1706374)
Backed out changeset c02fa459e77d (bug 1706374)
Backed out changeset 72dc6537cf0b (bug 1706374)
Backed out changeset 48088463c656 (bug 1706374)
Backed out changeset b09ae4c3a94b (bug 1706374)
Backed out changeset 04422175004b (bug 1706374)
Backed out changeset 110b2384e7d1 (bug 1706374)
Backed out changeset ab2b086abbd4 (bug 1706374)
Backed out changeset ffde07f73249 (bug 1706374)
Backed out changeset c6303af17ff4 (bug 1706374)
Backed out changeset 02249671c2f9 (bug 1706374)
Backed out changeset a6a5d05b5636 (bug 1706374)
Backed out changeset e21b6defb805 (bug 1706374)
Backed out changeset c72c5be9ddb1 (bug 1706374)
Backed out changeset 23cd961575a6 (bug 1706374)
Backed out changeset b412d6e9e145 (bug 1706374)
Backed out changeset a8ec285d6472 (bug 1714226)
2021-06-22 04:03:56 +03:00
Nika Layzell 8e8aa56ee2 Bug 1713148 - Part 5: Remove ThreadLink, r=handyman
This removes the last form of unique link between two MessageChannels so that
all MessageChannels communicate using PortLink, as it is fairly straightforward
to use PortLink to communicate between two threads in-process.

Differential Revision: https://phabricator.services.mozilla.com/D116672
2021-06-21 21:53:13 +00:00
Nika Layzell 03646b0682 Bug 1713148 - Part 4: Remove ProcessLink, r=handyman
After the changes in part 3, this type is now dead code and can be fully
removed.

Differential Revision: https://phabricator.services.mozilla.com/D116671
2021-06-21 21:53:13 +00:00
Nika Layzell 6de2add6d7 Bug 1706374 - Part 11: Add NodeController component bridging IPC and Ports, r=handyman
The NodeController and NodeChannel types act as the backbone connecting the
existing IPC logic and driving the ports routing code. Individual NodeChannel
objects wrap and respond to messages from IPC::Channel, and the NodeController
orchestrates all messaging for a process.

The design of these types are inspired by the types with the same names from
Mojo but have been simplified and streamlined to only support features used by
Gecko.

Support for attaching ports or handles to messages hasn't been added yet, but
can be added in follow-up patches.

Differential Revision: https://phabricator.services.mozilla.com/D112775
2021-06-21 21:53:10 +00:00
Simon Giesecke fdf6246294 Bug 1677466 - Remove unnecessary includes from MessageChannel.h and MessageLink.h. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D93567

Depends on D93564
2020-11-23 16:06:24 +00:00
Andrew McCreight 0442082a5e Bug 1090374 - Convert MessageChannel::mLink to a UniquePtr. r=froydnj
The change to MessageChannel::Clear() makes mLink get cleared before
we call ~ThreadLink. This causes a race because Clear() is not
holding the monitor. To work around this, I introduced a new method
PrepareToDestroy() that handles the ThreadLink splitting. Once the
ThreadLinks are split, MessageChannel can clear mLink without a
race.

An alternative approach would be to hold the monitor in Clear()
before mLink is cleared, but then we'd end up acquiring the lock
when we didn't need to in the case where mLink is a ProcessLink.

Differential Revision: https://phabricator.services.mozilla.com/D79185
2020-06-16 22:33:55 +00:00
Andrew McCreight 8eefcc3e76 Bug 1642631 - Make the message argument to Channel::Send() a UniquePtr. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D77876
2020-06-02 21:23:08 +00:00
Andrew McCreight 82c3c9a58a Bug 1642619 - Remove the unused MessageChannel::Echo(). r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D77804
2020-06-02 13:56:07 +00:00
Nika Layzell c56289e054 Bug 1557739 - Be more consistent with IPC Transport APIs, r=jld
Differential Revision: https://phabricator.services.mozilla.com/D60285

--HG--
extra : moz-landing-system : lando
2020-02-06 22:41:56 +00:00
Nika Layzell c293c9007f Bug 1540731 - Part 1: Manage actor object lifecycles within IPC, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D28572

--HG--
extra : moz-landing-system : lando
2019-05-21 17:04:14 +00:00
Sylvestre Ledru e226046cb8 Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan
# ignore-this-changeset

Depends on D28954

Differential Revision: https://phabricator.services.mozilla.com/D28956

--HG--
extra : moz-landing-system : lando
2019-05-01 08:47:10 +00:00
Tooru Fujisawa 7983faeb5d Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
Benjamin Bouvier a7f1d173a0 Bug 1511383: Update vim modelines after clang-format; r=sylvestre
- modify line wrap up to 80 chars; (tw=80)
- modify size of tab to 2 chars everywhere; (sts=2, sw=2)

--HG--
extra : rebase_source : 7eedce0311b340c9a5a1265dc42d3121cc0f32a0
extra : amend_source : 9cb4ffdd5005f5c4c14172390dd00b04b2066cd7
2018-11-30 16:39:55 +01:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Sylvestre Ledru 4e9cf83ee8 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG

--HG--
extra : rebase_source : 7235b3802f25bab29a8c6ba40a181a722f3df0ce
2017-07-06 14:00:35 +02:00
David Anderson 4d70e0e711 Fix MessageChannel when constructed with a broken Transport. (bug 1316473, r=billm) 2016-11-14 14:54:00 -08:00
Bill McCloskey 81c169c2a9 Bug 792652 - Remove methods from MessageListener (r=dvander)
With this change, MessageChannel stores mListener as an IToplevelProtocol
rather than a MessageListener (which isn't really a useful concept on
its own). The MessageListener methods are split out to IProtocol and
IToplevelProtocol. MessageListener gets deleted. Some of the inline
functions in MessageChannel had to be moved to MessageChannel.cpp since
IToplevelProtocol isn't defined in MessageChannel.h.
2016-11-08 15:22:36 -08:00
Wes Kocher 4b3d16605a Backed out 18 changesets (bug 792652) for build bustage on linux64 a=backout CLOSED TREE
Backed out changeset 90eaf6aec002 (bug 792652)
Backed out changeset ddd915ab4a48 (bug 792652)
Backed out changeset 95eff6c45cae (bug 792652)
Backed out changeset 75855b5a9ab9 (bug 792652)
Backed out changeset b658ebaad5d7 (bug 792652)
Backed out changeset 2ba36b8ac60c (bug 792652)
Backed out changeset 94fcd3bf3f34 (bug 792652)
Backed out changeset cf9c4164eb43 (bug 792652)
Backed out changeset 59e6d0a4f35b (bug 792652)
Backed out changeset bdf86b8b9c43 (bug 792652)
Backed out changeset 8edf4b247250 (bug 792652)
Backed out changeset 63a3c8e4016e (bug 792652)
Backed out changeset e3e496eab991 (bug 792652)
Backed out changeset 5a1e3136323a (bug 792652)
Backed out changeset dbbe3a8c00e7 (bug 792652)
Backed out changeset 1829d5358808 (bug 792652)
Backed out changeset 004cd692ba6d (bug 792652)
Backed out changeset 92e7fee81fa2 (bug 792652)
2016-11-08 12:05:28 -08:00
Bill McCloskey 1f23e3694d Bug 792652 - Remove methods from MessageListener (r=dvander)
With this change, MessageChannel stores mListener as an IToplevelProtocol
rather than a MessageListener (which isn't really a useful concept on
its own). The MessageListener methods are split out to IProtocol and
IToplevelProtocol. MessageListener gets deleted. Some of the inline
functions in MessageChannel had to be moved to MessageChannel.cpp since
IToplevelProtocol isn't defined in MessageChannel.h.
2016-11-08 11:32:26 -08:00
Alexandre Lissy 0af5b943b6 Bug 1284674 - Remove NUWA r=cyu
MozReview-Commit-ID: GyMRNzOBKw6

--HG--
extra : rebase_source : 293af1cd55f2035ce6a99f4ebf144059c32a2b8f
2016-08-02 14:54:00 +02:00
Andrea Marchesini a9b65ecfb0 Bug 1261094 - Improve how MessageChannel::mInterruptStack is used in IPC code, r=jld 2016-04-28 07:21:49 +08:00
Bill McCloskey d148e665af Bug 1235633 - IPC OOM mitigation by eliminating buffer copying (r=jld) 2016-04-07 17:15:26 -07:00
Bill McCloskey 70bb5a0c46 Bug 1240985 - IPC fuzzer (r=gabor) 2016-03-04 14:51:08 -08:00
Bill McCloskey ece4f66221 Bug 1240985 - Make intentional crash happen sooner when cancelling a racy sync message (r=dvander) 2016-01-27 15:08:59 -08:00
Wes Kocher 5648c229cc Backed out 10 changesets (bug 1242097, bug 1240985) for near-permafailing in test_plugin_focus.html
Backed out changeset 30f1acd9387f (bug 1240985)
Backed out changeset 6d7f80a057f0 (bug 1240985)
Backed out changeset c3dfc2c674ff (bug 1240985)
Backed out changeset b7f2ce03b34e (bug 1240985)
Backed out changeset 2c0c0ed35656 (bug 1240985)
Backed out changeset 85c8cb422bad (bug 1240985)
Backed out changeset 06b4cb890ab0 (bug 1240985)
Backed out changeset f10c0445c450 (bug 1240985)
Backed out changeset 62eaf89ab82f (bug 1242097)
Backed out changeset b94c1a472d46 (bug 1240985)

--HG--
extra : commitid : 2iDH7HLUMiO
2016-01-26 09:55:59 -08:00
Bill McCloskey 20989f2902 Bug 1240985 - Make intentional crash happen sooner when cancelling a racy sync message (r=dvander) 2016-01-25 21:49:42 -08:00
Bill McCloskey 35328ff29a Bug 1215167 - Forbid unsafe browser CPOWs (disabled by default for now) (r=mrbkap) 2015-11-05 13:17:04 -08:00
Wes Kocher cad6f9789a Backed out changeset 89446bf8d6b8 (bug 1215167) for introducing a hazard
--HG--
extra : commitid : 19K8BX0d4Wz
2015-11-04 16:16:59 -08:00
Bill McCloskey ac2ca63fc1 Bug 1215167 - Forbid unsafe browser CPOWs (disabled by default for now) (r=mrbkap) 2015-11-04 13:40:15 -08:00
Trevor Saunders dda4730c3c bug 1212906 - don't handle windows messages while waiting for a sync a11y ipc message r=billm
Windows messages can trigger sync ipc messages to the child process.  That
means if we handle windows messages while waiting for the response to a sync
a11y ipc message we can end up reentering the code to send ipc messages which
is bad.  Try and avoid this situation by not handling windows messages while
waiting for a sync a11y message.
2015-10-14 14:02:47 -04:00
Cervantes Yu 3c09a9761d Bug 1166207 - Load preload.js in the Nuwa process. r=khuey
--HG--
extra : rebase_source : 292c5e5dbee5fa49a78fd1997d97094ef2190143
2015-08-28 17:57:44 +08:00
Andrew McCreight 0c176ddcff Bug 1062479 - Use static strings for WeakReference type names. r=ehsan 2015-04-24 09:43:01 -07:00
Ehsan Akhgari 883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Nicholas Nethercote 242708cf72 Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo.
--HG--
extra : rebase_source : 488e401ff87e31a2074c4108c4df0572d9536667
2015-02-09 14:34:50 -08:00
Andrew McCreight d3826daa16 Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00
Nicholas Nethercote d34f0301b8 Bug 1127201 (part 2) - Convert all NS_ABORT_IF_FALSE calls to MOZ_ASSERT. r=Waldo.
--HG--
extra : rebase_source : 99182e70335d2b5ff95f8c528ae992d37294be3a
2015-02-04 20:05:36 -08:00
Bill McCloskey c04f106018 Bug 1124933 - Include crash reason when intentionally crashing content process (r=bent) 2015-02-03 09:09:27 -08:00
Bill McCloskey f6534c08fb Bug 1118618 - [e10s] Slow script/plugin hang UI (r=mrbkap,mconley,bent) 2015-01-16 18:34:47 -08:00
Carsten "Tomcat" Book 1160541f6f Backed out changeset f7d82a8a8e94 (bug 1118618) for Bustage on a CLOSED TREE 2015-01-13 08:44:29 +01:00
Bill McCloskey eec94c71f5 Bug 1118618 - IPDL notifications when sending sync messages (r=bent) 2015-01-12 23:06:48 -08:00
Brad Lassey b536664cf4 bug 1097998 - Warn when using CPOWs when content process isn't in a safe state r=billm, bholley 2015-01-02 13:50:21 -05:00
Patrick Wang (Chih-Kai Wang) a6fea7c09c Bug 1032125: Part 1: Prevent from sending message to Nuwa after Nuwa frozen. r=khuey 2014-09-30 22:12:11 +08:00
Carsten "Tomcat" Book 54645ad792 Backed out changeset 0b73bd6d5d9c (bug 1032125) for causing regressions 2014-09-22 12:45:48 +02:00
Patrick Wang (Chih-Kai Wang) c8e896b33c Bug 1032125: Part 1: Prevent from sending message to Nuwa after Nuwa frozen. r=khuey 2014-09-19 17:11:15 +08:00
Carsten "Tomcat" Book 8c30ba3274 Backed out changeset 78b119af926a (bug 1032125) for bustage on B2g non-unified builds on a CLOSED TREE 2014-09-18 15:14:19 +02:00
Patrick Wang (Chih-Kai Wang) c5cc9fe0f1 Bug 1032125: Part 1: Prevent from sending message to Nuwa after Nuwa frozen. r=khuey 2014-09-18 10:29:13 +08:00
Ben Turner 43649dec8a Bug 1044322 - Reset the channel listener on the correct thread. r=bsmedberg
CLOSED TREE
2014-08-08 18:19:33 -07:00