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

106 Коммитов

Автор SHA1 Сообщение Дата
Bob Owen af20a22dd8 Bug 1420922: Remove orphaned TARGET_SANDBOX_EXPORTS defines. r=dmajor 2017-11-27 16:07:15 +00:00
Gabriele Svelto ef3b2f88cc Bug 1402519 - Remove MOZ_CRASHREPORTER directives from ipc; r=billm
MozReview-Commit-ID: 4mDW7cJqHDn

--HG--
extra : rebase_source : 17c51ed796733d4a512e1d6f47273318dcc26b11
2017-10-10 12:06:35 +02:00
shindli fb855aa7ba Backed out 16 changesets (bug 1402519) for conflicts during merge r=backout on a CLOSED TREE
Backed out changeset 07fcf163241a (bug 1402519)
Backed out changeset c6d2ad45d8e2 (bug 1402519)
Backed out changeset 8a3caca61294 (bug 1402519)
Backed out changeset 01425eae2c48 (bug 1402519)
Backed out changeset cf298d3815de (bug 1402519)
Backed out changeset e1964f4389cd (bug 1402519)
Backed out changeset f405337f3569 (bug 1402519)
Backed out changeset a76356fd3359 (bug 1402519)
Backed out changeset d3bb350d1c34 (bug 1402519)
Backed out changeset 9d3bfd9f932c (bug 1402519)
Backed out changeset e3dd6e5b073f (bug 1402519)
Backed out changeset e801b0c00134 (bug 1402519)
Backed out changeset 8a4139fa5dca (bug 1402519)
Backed out changeset 8d01c14ac1ca (bug 1402519)
Backed out changeset 24e0dcd01898 (bug 1402519)
Backed out changeset f8fdf450613f (bug 1402519)
2017-11-23 00:11:44 +02:00
Gabriele Svelto f0b9eb9ff9 Bug 1402519 - Remove MOZ_CRASHREPORTER directives from ipc; r=billm
MozReview-Commit-ID: 4mDW7cJqHDn

--HG--
extra : rebase_source : a13301f4faea301cd528179790f2430171f59a48
2017-10-10 12:06:35 +02:00
Chris Peterson 4a8bdd4ca5 Bug 1412048 - Replace some NS_RUNTIMEABORT(var) calls with MOZ_CRASH_UNSAFE_PRINTF. r=froydnj data-review=francois
MOZ_CRASH_UNSAFE_PRINTF causes data collection because crash strings are annotated to crash-stats and are publicly visible. Firefox data stewards must do data review on usages of this macro. However, all the crash strings this patch collects with MOZ_CRASH_UNSAFE_PRINTF are already collected with NS_RUNTIMEABORT.

MozReview-Commit-ID: 5ujXa9MHH5Z

--HG--
extra : rebase_source : 1367e6ac3c6085341e36cb0859d91417245ea472
extra : source : 3edeb64a40afd79d5c01ae0f0d3ab2777a2e744b
2017-10-26 00:49:00 -07:00
Chris Peterson 73037a0f6a Bug 1412048 - Replace NS_RUNTIMEABORT(var) with MOZ_CRASH_UNSAFE_OOL(var). r=froydnj data-review=francois
And remove unreachable code after MOZ_CRASH_UNSAFE_OOL().

MOZ_CRASH_UNSAFE_OOL causes data collection because crash strings are annotated to crash-stats and are publicly visible. Firefox data stewards must do data review on usages of this macro. However, all the crash strings this patch collects with MOZ_CRASH_UNSAFE_OOL are already collected with NS_RUNTIMEABORT.

MozReview-Commit-ID: IHmJfuxXSqw

--HG--
extra : rebase_source : 031f30934b58a7b87f960e57179641d44aefe5c5
extra : source : fe9f638a56a53c8721eecc4273dcc074c988546e
2017-10-24 23:38:38 -07:00
Nathan Froyd a697f87d36 Bug 1397823 - part 3 - do a better job setting IPC::Message flags; r=kanru
The current IPC::Message constructor takes a large number of arguments,
three of which--the nesting level, the priority, and the
compression--are almost always constant by virtue of the vast majority
of Message construction being done by auto-generated IPDL code.  But
then we take these constant values into the Message constructor, we
check them for various values, and then based on those values, we
perform a bunch of bitfield operations to store flags based on those
values.  This is wasted work.

Furthermore, for replies to IPDL messages, we'll construct a Message
object, and then call mutating setters on the Message object that will
perform even more bitfield manipulations.  Again, these operations are
performing tasks at runtime that are the same every single time, and use
information we already have at compile time.

The impact of these extra operations is not large, maybe 15-30K of extra
code, depending on platform.  Nonetheless, we can easily make them go
away, and make everything cleaner to boot.

This patch adds a HeaderFlags class that encapsulates all the knowledge
about the various kinds of flags Message needs to know about.  We can
construct HeaderFlags objects with strongly-typed enum arguments for the
various kinds of flags, and the compiler can take care of folding all of
those flags together into a constant when possible (and it is possible
for all the IPDL-generated code that instantiates Messages).  The upshot
is that we do no unnecessary work in the Message constructor itself.  We
can also remove various mutating operations on Message, as those
operations were only there to support post-constructor flag twiddling,
which is no longer necessary.
2017-09-15 08:06:11 -04:00
Bill McCloskey ae0dd13fe2 Bug 1397468 - Shmem creation/destruction messages should not be SystemGroup (r=dvander)
It's important that shmem creation/destruction messages be ordered
correctly with respect to other messages that use shmems. For example,
if we create a shmem with ID 10 and then send a message that
references shmem 10, then the creation message must be handled before
the referencing message. If shmem creation/destruction messages go in
a separate queue from other messages, this ordering may not be
preserved.

Leaving shmem creation/destruction unlabeled will give us the correct
ordering. Eventually, though, we'll need to provide a solution that
doesn't bottleneck the event queue.

MozReview-Commit-ID: 88MrslRrfnh
2017-09-07 22:31:34 -07:00
Jan Varga 72d235da4a Bug 1283609 - Part 1: Add an IToplevelProtocol::Open overload that takes an nsIEventTarget; r=billm 2017-08-03 11:21:44 +02:00
Henry Chang 6d648badcb Bug 1348591 - Support custom default segment buffer list size. r=billm
MozReview-Commit-ID: 2Nkj6RPx62f

--HG--
extra : rebase_source : 4e763563e3f9e9927314e804ba4e0fbd291fc9e8
2017-06-21 17:55:13 +08:00
Bill McCloskey b71d032b99 Bug 1363877 - Label IPC shmem messages as SystemGroup (r=dvander)
MozReview-Commit-ID: 3I5ny0wxVHI
2017-05-19 16:38:12 -07:00
Bill McCloskey 8adfa773bb Revert "Bug 1363877 - Label IPC shmem messages as SystemGroup (r=dvander)" for valgrind failures
This reverts commit 1f7a7e259501b47a014959049e2ed069fe2fd9b8.
2017-05-17 12:58:35 -07:00
Bill McCloskey 2f2e996bf5 Bug 1363877 - Label IPC shmem messages as SystemGroup (r=dvander)
MozReview-Commit-ID: 3I5ny0wxVHI
2017-05-17 11:47:40 -07:00
Kevin Chen aa4fe616d0 Bug 1343754 - Add a function for replacing event target for actor and label PTexture; r=bevistseng,billm,nical
MozReview-Commit-ID: KGVBWsexkqC

--HG--
extra : rebase_source : 2ae5e2aa2e54cb2c368310ebdb1fdcbcae3092f4
2017-03-21 03:57:56 +00:00
Sebastian Hengst 0d8a182804 Backed out changeset 25f2e9e2068d (bug 1343754) for crashing e.g. in dom/workers/test/serviceworkers/test_fetch_integrity.html. r=backout 2017-05-03 12:59:36 +02:00
Kevin Chen bdb02a828a Bug 1343754 - Add a function for replacing event target for actor and label PTexture; r=bevistseng,billm,nical
MozReview-Commit-ID: KGVBWsexkqC

--HG--
extra : rebase_source : 5ac2edced51462fd013f0efba0e434d6a2fc7863
2017-03-21 03:57:56 +00:00
Bill McCloskey 5203251704 Bug 1333968 - Add GetSpecificMessageEventTarget method to change the event target for specific IPC messages (r=dvander)
MozReview-Commit-ID: EIyfNgKWCRo
2017-04-11 12:59:13 -07:00
Andrew McCreight 50ab94e943 Bug 1345897 - Use a separate error function for sentinel errors. r=kanru
Using a separate error function will distinguish mismatched sentinels
from other errors, such as array length problems.

MozReview-Commit-ID: Gl8swNhqLns

--HG--
extra : rebase_source : 494759b105086c6c26f3ac53fb644bbf51c12800
2017-03-09 13:37:55 -08:00
Bevis Tseng 8d2b101ac7 Bug 1339014 - Add IProtocol::GetActorEventTarget() to Retrieve the EventTarget of the Actor if Set. r=billm
MozReview-Commit-ID: Czg5hxJBcYN

--HG--
extra : rebase_source : f4d1dbc63f6092c6e02f742ee490bb276da88f9b
2017-02-13 14:04:58 +08:00
Tom Tromey d2667a2b27 Bug 1060419 - make AppendPrintf and nsPrintfCString use Printf.h, r=froydnj
MozReview-Commit-ID: 2E8FoiNxU8L

--HG--
extra : rebase_source : 810ac727bef0751f24edea18c52e0ec170bf367d
2016-12-14 09:32:21 -07:00
Bill McCloskey 563f66dae7 Bug 1318506 - Assign a TabGroup to every PBrowser (r=mystor,ehsan)
Every new PBrowser, whether it's created by the parent or the child, needs
to get a TabGroup assigned to it. That way IPC messages for the PBrowser will
be dispatched to that TabGroup.

For new PBrowsers created by the child, we just create a new TabGroup or reuse
the opener's TabGroup.

For PBrowsers created by the parent, the child needs to intercept the
PBrowserConstructor message and assign a TabGroup immediately. PBrowsers created
by the parent never have an opener so we can always create a new TabGroup.

In both cases, the nsGlobalWindow::TabGroupOuter logic needs to be updated to
read the TabGroup out of the IPC code. Otherwise the DOM and IPC code will get
out of sync about TabGroups.

MozReview-Commit-ID: D5iEdgirfvK
2016-12-23 11:48:13 -08:00
Bill McCloskey 92bc2d9707 Bug 1317844 - Allow an event target to be specified for each IPC actor (r=dvander)
MozReview-Commit-ID: 1xuWFTS8skZ
2016-11-21 17:03:39 -08:00
Bill McCloskey ce28731f8b Revert "Bug 1317844 - Allow an event target to be specified for each IPC actor (r=dvander)"
This reverts commit 30396b9e84304ad7ee7d5a253ec886325a0f0cbe.
2016-11-21 16:49:44 -08:00
Bill McCloskey 60edaca23d Bug 1317844 - Allow an event target to be specified for each IPC actor (r=dvander)
MozReview-Commit-ID: 1xuWFTS8skZ
2016-11-21 16:43:15 -08:00
Bill McCloskey a8bd0983dc Bug 1317844 - Convert IDMap so it can store nsCOMPtr (r=dvander)
MozReview-Commit-ID: 5fCM4u1QZLE
2016-11-21 16:43:05 -08:00
Kan-Ru Chen f8100451db Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm
We will use the new type for the generated IPDL message handler
prototype to make sure correct error handling method is called.

MozReview-Commit-ID: AzVbApxFGZ0
2016-11-15 04:26:00 +01:00
Bill McCloskey 16cd6076eb Bug 792652 - Move over toplevel shmem code (r=dvander) 2016-11-08 15:22:54 -08:00
Bill McCloskey be9065397e Bug 792652 - Move toplevel actor map to IToplevelProtocol (r=dvander) 2016-11-08 15:22:53 -08:00
Bill McCloskey ef443ad460 Bug 792652 - Move TakeMinidump to IToplevelProtocol (r=dvander) 2016-11-08 15:22:52 -08:00
Bill McCloskey a6224b4684 Bug 792652 - Move some channel methods to IToplevelProtocol (r=dvander)
Move Open, Close, SetReplyTimeoutMs to IToplevelProtocol.
2016-11-08 15:22:51 -08:00
Bill McCloskey 4e0c0139b2 Bug 792652 - Move over toplevel process ID field (r=dvander)
Moves some state to IToplevelProtocol.
2016-11-08 15:22:49 -08:00
Bill McCloskey 57135907a4 Bug 792652 - Remove pointless OnFoo methods (r=dvander)
A bunch of these methods just delegate from OnFoo to Foo. Not
sure why we have OnFoo.
2016-11-08 15:22:48 -08:00
Bill McCloskey bbb256b840 Bug 792652 - Move shmem methods to ProtocolUtils (r=dvander)
This patch moves some shmem management code into IProtocol. Someday
maybe we can get rid of IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead.
2016-11-08 15:22:46 -08:00
Bill McCloskey b47737ed9f Bug 792652 - Move FatalError to IProtocol (r=dvander)
This patch moves FatalError to IProtocol. I had to make a few changes.
- I added a ProtocolName() method to find the name of the protocol.
- I gave the two-argument version of FatalError its own name. Otherwise
  C++ doesn't like there to be two virtual methods with the same name
  in cases where one is overridden and the other isn't (as happens
  in IToplevelProtocol).
2016-11-08 15:22:45 -08:00
Bill McCloskey 12585264a1 Bug 792652 - Add mSide to IProtocol (r=dvander)
This patch adds a field to hold ParentSide/ChildSide state. Useful for
later changes.
2016-11-08 15:22:43 -08:00
Bill McCloskey a4ec434a63 Bug 792652 - Stop generating some simple sub-protocol methods (r=dvander)
This moves some of the generated methods in subprotocols that simply defer
to the parent protocol to IProtocol. These methods are still overridden in
the toplevel protocol.
2016-11-08 15:22:39 -08:00
Bill McCloskey 4e78a26c74 Bug 792652 - Simplify IPDL type hierarchy (r=dvander)
Currently all our protocols inherit from IProtocolManager<IProtocol>. I have
no idea why. This patch switches everything over to IProtocol, without any
templates. I had to move ReadActor to the .cpp file to avoid redefinition
errors.
2016-11-08 15:22:34 -08:00
Bill McCloskey d9f445e359 Bug 792652 - Get rid of CloneProtocol (r=dvander)
CloneProtocol is leftover code from Nuwa. We can remove it now.
2016-11-08 15:22:33 -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 9d9cc9e45c Bug 792652 - Move over toplevel shmem code (r=dvander) 2016-11-08 11:32:34 -08:00
Bill McCloskey ab22794700 Bug 792652 - Move toplevel actor map to IToplevelProtocol (r=dvander) 2016-11-08 11:32:34 -08:00
Bill McCloskey 999339c203 Bug 792652 - Move TakeMinidump to IToplevelProtocol (r=dvander) 2016-11-08 11:32:33 -08:00
Bill McCloskey c0782dea68 Bug 792652 - Move some channel methods to IToplevelProtocol (r=dvander)
Move Open, Close, SetReplyTimeoutMs to IToplevelProtocol.
2016-11-08 11:32:32 -08:00
Bill McCloskey 21ae8ace50 Bug 792652 - Move over toplevel process ID field (r=dvander)
Moves some state to IToplevelProtocol.
2016-11-08 11:32:32 -08:00
Bill McCloskey 5f4e75da9e Bug 792652 - Remove pointless OnFoo methods (r=dvander)
A bunch of these methods just delegate from OnFoo to Foo. Not
sure why we have OnFoo.
2016-11-08 11:32:31 -08:00
Bill McCloskey 2ddcd52630 Bug 792652 - Move shmem methods to ProtocolUtils (r=dvander)
This patch moves some shmem management code into IProtocol. Someday
maybe we can get rid of IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead.
2016-11-08 11:32:31 -08:00
Bill McCloskey 35fc224b71 Bug 792652 - Move FatalError to IProtocol (r=dvander)
This patch moves FatalError to IProtocol. I had to make a few changes.
- I added a ProtocolName() method to find the name of the protocol.
- I gave the two-argument version of FatalError its own name. Otherwise
  C++ doesn't like there to be two virtual methods with the same name
  in cases where one is overridden and the other isn't (as happens
  in IToplevelProtocol).
2016-11-08 11:32:30 -08:00
Bill McCloskey 215c366d52 Bug 792652 - Add mSide to IProtocol (r=dvander)
This patch adds a field to hold ParentSide/ChildSide state. Useful for
later changes.
2016-11-08 11:32:30 -08:00
Bill McCloskey 4b9d7f03a5 Bug 792652 - Stop generating some simple sub-protocol methods (r=dvander)
This moves some of the generated methods in subprotocols that simply defer
to the parent protocol to IProtocol. These methods are still overridden in
the toplevel protocol.
2016-11-08 11:32:27 -08:00
Bill McCloskey 2dc5f495db Bug 792652 - Simplify IPDL type hierarchy (r=dvander)
Currently all our protocols inherit from IProtocolManager<IProtocol>. I have
no idea why. This patch switches everything over to IProtocol, without any
templates. I had to move ReadActor to the .cpp file to avoid redefinition
errors.
2016-11-08 11:32:24 -08:00