Commit Graph

1524 Commits

Author SHA1 Message Date
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
88c9f678a0 Bug 792652 - Move mChannel to IProtocol (r=dvander)
This moves the mChannel field to IProtocol. The toplevel protocol still keeps
its own mChannel field that's a MessageChannel (no pointer).
2016-11-08 15:22:41 -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
5f55831a5e Bug 792652 - Store Manager() in IProtocol (r=dvander)
This patch stores mManager in IProtocol rather than in each individual
PFoo. It also adds a generic accessor for that field. Note that each
individual protocol still defines a Manager() function that returns
PFooParent or whatever. I tried to get rid of that but it was a lot
of work.
2016-11-08 15:22:38 -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
Bill McCloskey
5e4a576d00 Bug 792652 - IToplevelProtocol refactoring (r=dvander)
Currently toplevel protocols inherit from both IProtocolManager<IProtocol>
and IToplevelProtocol. This change makes IToplevelProtocol inherit from
IProtocol, so now toplevel protocols only inherit from
IToplevelProtocol.
2016-11-08 15:22:35 -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
67dfdfc8f1 Bug 792652 - Move mId to toplevel protocol (r=dvander) 2016-11-08 11:32:35 -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
a99edd3404 Bug 792652 - Move mChannel to IProtocol (r=dvander)
This moves the mChannel field to IProtocol. The toplevel protocol still keeps
its own mChannel field that's a MessageChannel (no pointer).
2016-11-08 11:32:28 -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
ad7ac34ca4 Bug 792652 - Store Manager() in IProtocol (r=dvander)
This patch stores mManager in IProtocol rather than in each individual
PFoo. It also adds a generic accessor for that field. Note that each
individual protocol still defines a Manager() function that returns
PFooParent or whatever. I tried to get rid of that but it was a lot
of work.
2016-11-08 11:32:27 -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
Bill McCloskey
5dee271cac Bug 792652 - IToplevelProtocol refactoring (r=dvander)
Currently toplevel protocols inherit from both IProtocolManager<IProtocol>
and IToplevelProtocol. This change makes IToplevelProtocol inherit from
IProtocol, so now toplevel protocols only inherit from
IToplevelProtocol.
2016-11-08 11:32:25 -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
Bill McCloskey
1a00da8679 Bug 792652 - Get rid of CloneProtocol (r=dvander)
CloneProtocol is leftover code from Nuwa. We can remove it now.
2016-11-08 11:32:23 -08:00
Olli Pettay
cb803253a5 bug 1306591, add secondary event queue to let high priority messages to be processed sooner, r=billm
--HG--
extra : rebase_source : 2ce6e06783e399e787d0445943f9f39bcef1cc22
2016-11-08 14:05:45 +02:00
Christoph Kerschbaumer
f2776f1b8d Bug 1308889 - Try to explicitly pass aTriggeringPrincipal and aPrincipalToInherit to DoURILoad(). r=bz 2016-11-08 07:23:12 +01:00
David Anderson
fa968bf690 Make it safe to close an IPC channel that has already been closed by its remote endpoint. (bug 1314816 part 2, r=billm) 2016-11-04 18:31:30 -07:00
Jed Davis
a2d3e4e9f2 Bug 1313218 - Preload libmozsandbox.so in child processes on Linux. r=tedd r=billm r=glandium
Preloading libmozsandbox allows the symbol interpositions used by
sandboxing to be defined there instead of statically linked into the
executable; this patch also does that.

MozReview-Commit-ID: FL1QWLSKA0S

--HG--
rename : security/sandbox/linux/interpose/SandboxHooks.cpp => security/sandbox/linux/SandboxHooks.cpp
2016-11-04 18:16:05 -06:00
Bill McCloskey
50e4d05346 Bug 1312960 - Associate each message in IPC queue with the runnable that will run it (r=dvander) 2016-10-30 22:04:03 -07:00
Bill McCloskey
a054d4a461 Bug 1312960 - Remove FlushPendingInterruptQueue (r=dvander) 2016-10-30 22:04:02 -07:00
Bill McCloskey
9244a5787d Bug 1312960 - Use CancelableRunnable for mOnChannelConnectedTask (r=dvander) 2016-10-30 22:04:02 -07:00
Josh Matthews
9c847a5ac4 Bug 1277681 - Send HTTP request bodies in chunks. r=mayhemer 2016-09-28 18:38:26 -04:00
Nathan Froyd
caf3dd0e20 Bug 1312549 - use equality comparison rather than ordered comparison in ~GeckoChildProcessHost; r=billm
clang has recently made |x $RELATIONAL_OP 0|, where |x| is a variable of
pointer type, to be an error.  On Windows,
GeckoChildProcessHost::mChildProcessHandle is a HANDLE, which is really
just a pointer.  So the comparison |> 0| in ~GeckoChildProcessHost is
invalid.  Fortunately, we can use an equality comparison here and it
amounts to the same thing.
2016-10-25 23:08:11 -04:00
Ting-Yu Chou
8b0030d0e6 Bug 1312326 - Use StringFromIPCMessageType() instead for better crash annotation. r=kanru
MozReview-Commit-ID: 1kElBr0X6W

--HG--
extra : rebase_source : 0c4ba3a1345ab4c0165b69b28591e4cedf8249ff
2016-10-24 12:35:19 +08:00
George Wright
d7ed342b5e Bug 1264073 - Remove assertion in SharedMemoryBasic that we didn't initialise fast enough. r=billm 2016-10-21 12:53:00 -04:00
Kan-Ru Chen
2b9f62525d Bug 1309799 - Make error message more stable. r=billm
MozReview-Commit-ID: IzhAfo7eYCC

--HG--
extra : rebase_source : 8c0fffd9dd6b10b48cb14f9393f7eb564322d42b
2016-10-20 22:26:52 +08:00
Kan-Ru Chen
4364802eff Bug 1309799 - Generate StringFromIPCMessageType and use it in MessageChannel::MaybeHandleError. r=billm
MozReview-Commit-ID: HSuAAM0JdjS

--HG--
extra : rebase_source : 0181275a9631f343aedd5a683911d7909fcb5866
2016-10-13 14:18:45 +08:00
Cervantes Yu
9b89fed177 Bug 1278443 - Part 1: Don't open PBackground actors after PContentChild is closed. r=billm
MozReview-Commit-ID: FMtHF3yMQFG

--HG--
extra : rebase_source : 901de005a8f18ea7e406abae48d623fb60537c04
2016-10-04 17:48:46 +08:00
Aaron Klotz
62eaa723f7 Bug 1241921: Remove CreateWindow* hooks from IPC glue; r=jimm
MozReview-Commit-ID: 5YZxwMzMrtx

--HG--
extra : rebase_source : f93b1c8041291a3830b30d9a71f269e4814c8bf8
2016-10-17 12:06:58 -06:00
Ting-Yu Chou
7d65559dd1 Bug 1301022 - Add an API for annotating pending IPC messages. r=ted
MozReview-Commit-ID: GiAMUnjYjvI

--HG--
extra : rebase_source : a40f81a4878205b5edb71ca8ec2f24dc35c677eb
2016-09-20 14:10:43 +08:00
David Anderson
95f369864c Add GPU process support to the crash reporting service. (bug 1278717, r=ted) 2016-10-14 23:59:29 -07:00
David Anderson
963b096cac Use firefox.exe for launching the GPU process on Windows. (bug 1309890, r=jld) 2016-10-13 23:55:07 -07:00
Ben Kelly
4afdb78b8e Bug 1309823 - Forget file descriptors before starting actor destruction. r=billm 2016-10-14 08:27:28 +02:00
David Anderson
45fe47d352 Add a PCrashReporter alternative that uses shmem instead of IPDL. (bug 1278717 part 1, r=billm) 2016-10-11 14:25:17 -07:00
Ehsan Akhgari
3cc4749e5d Bug 1309028 - Remove PProcLoader; r=baku
The code using this protocol was removed in bug 1284674.
2016-10-11 09:37:46 -04:00
Sebastian Hengst
cdcc9e20da Bug 1304829 - rename RELEASE_BUILD to RELEASE_OR_BETA: main part. r=ted,Mossop
MozReview-Commit-ID: 1lCt0xTMV5O
2016-10-08 11:14:49 +02:00
Ting-Yu Chou
35c5bba61c Bug 1301022 - Back out crash annotations which doesn't work in child process. r=me
MozReview-Commit-ID: BMq1lxwDO2u
2016-10-03 10:08:11 +08:00
Bill McCloskey
f478d1188c Bug 1306708 - Rename prio to nested in IPDL (r=dvander) 2016-10-04 20:34:54 -07:00
Bill McCloskey
b83db28a45 Revert "Bug 1306708 - Rename prio to nested in IPDL (r=dvander)" on a CLOSED TREE
This reverts commit b1460c626078afbb9290e7d9ecaf3af605d5e893.
2016-10-04 15:55:19 -07:00
Bill McCloskey
b001750d48 Revert "Bug 1306708 - Fix rebasing bustage on a CLOSED TREE"
This reverts commit cfc7bb2a6a9710dd9963185f264c70950fd5595c.
2016-10-04 15:55:00 -07:00
Bill McCloskey
e7d51e609b Bug 1306708 - Fix rebasing bustage on a CLOSED TREE 2016-10-04 15:43:34 -07:00
Bill McCloskey
eddd80027c Bug 1306708 - Rename prio to nested in IPDL (r=dvander) 2016-10-04 15:28:14 -07:00
Matt Woodrow
a8c2c8fb5b Bug 1297826 - Make FatalError virtual on IPDL generated classes, and propagate calls up to top-level protocols. r=billm 2016-10-04 21:31:25 +13:00
Marco Castelluccio
fd755543b4 Bug 1164133 - Assert that we never send an async high priority message. r=billm 2016-10-01 12:14:49 +01:00
Josh Matthews
ee8da66177 Bug 1294450 - Make AutoIPCStream favour PSendStream for large input streams. r=nfroydj 2016-09-29 06:20:00 +02:00
Wes Kocher
673a0db365 Backed out changeset 57e78c503c4e (bug 1294450) for build bustage a=backout 2016-09-28 17:38:00 -07:00
Josh Matthews
facc06fda2 Bug 1294450 - Make AutoIPCStream favour PSendStream for large input streams. r=froydnj
--HG--
extra : rebase_source : 764aa593bd2734ca15d556a0b5ca55e3f69d25bb
2016-09-28 18:38:51 -04:00
Nathan Froyd
aa23cf7561 Bug 1305814 - fix -Wreorder warning in MessageChannel; r=billm
Initializer lists are supposed to initialize member variables in the
order they're listed in the class definition.
2016-09-28 04:44:11 -04:00
Kate McKinley
c57d400961 Bug 1246540 - HSTS Priming Proof of Concept. r=ckerschb, r=mayhemer, r=jld, r=smaug, r=dkeeler, r=jmaher, p=ally
HSTS priming changes the order of mixed-content blocking and HSTS
upgrades, and adds a priming request to check if a mixed-content load is
accesible over HTTPS and the server supports upgrading via the
Strict-Transport-Security header.

Every call site that uses AsyncOpen2 passes through the mixed-content
blocker, and has a LoadInfo. If the mixed-content blocker marks the load as
needing HSTS priming, nsHttpChannel will build and send an HSTS priming
request on the same URI with the scheme upgraded to HTTPS. If the server
allows the upgrade, then channel performs an internal redirect to the HTTPS URI,
otherwise use the result of mixed-content blocker to allow or block the
load.

nsISiteSecurityService adds an optional boolean out parameter to
determine if the HSTS state is already cached for negative assertions.
If the host has been probed within the previous 24 hours, no HSTS
priming check will be sent.

MozReview-Commit-ID: ES1JruCtDdX

--HG--
extra : rebase_source : 2ac6c93c49f2862fc0b9e595eb0598cd1ea4bedf
2016-09-27 11:27:00 -04:00
Josh Matthews
ee501c8947 Bug 1167730 - Make nsTemporaryFileStream serializable. r=baku 2016-09-23 10:34:42 -04:00
Ehsan Akhgari
5404c2dc93 Bug 1297687 - Part 2: Allow specifying an OriginAttribute when creating an expanded principal; r=bholley 2016-09-22 13:27:40 -04:00
David Anderson
e87d2f8355 Make ipc::Shmem hold a strong reference to underlying SharedMemory. (bug 1303426 part 1, r=billm)
--HG--
extra : rebase_source : 32e182cf5fca848144f472b54a100547a3414f60
2016-09-21 22:40:20 -07:00
Andrea Marchesini
db15f776a7 Bug 1288997 - memory blob should not be shared across processes - part 1 -PSendStream should use nsIContentChild, r=jld, f=bkelly 2016-09-21 12:27:26 +02:00
Ting-Yu Chou
823913da1e Bug 1301022 - Add an API for annotating pending IPC messages. r=ted
MozReview-Commit-ID: GiAMUnjYjvI

--HG--
extra : rebase_source : fdae4651f902f2d540b584c584de07f30a00bb8f
2016-09-20 14:10:43 +08:00
Christoph Kerschbaumer
8500d497a7 Bug 1297338 - Extend LoadInfo with a PrincipalToInherit member. r=bz 2016-09-20 08:35:45 +02:00
David Anderson
df6a78744b Allow passing an empty Endpoint over IPDL. (bug 1302009, r=billm) 2016-09-19 19:18:20 -07:00
David Anderson
f8b7f5c0ac Don't allow double-closing of IPC channels. (bug 1301481, r=billm) 2016-09-19 19:17:09 -07:00
Haik Aftandilian
9de1898bc2 Bug 1290619 - Content sandbox rules should use actual profile directory, not Profiles/*/ regex's; r=jimm
Passes the profile dir to the content process as a -profile CLI
option so that the correct profile dir can be used in the OS X content
sandbox rules.  Only enabled on OS X for now.

On Nightly, profile directories will now be read/write protected
from the content process (apart from a few profile subdirectories) even
when they don't reside in ~/Library.

xpcshell tests invoke the content process without providing a
profile directory. In that case, we don't need to add filesystem
profile dir. read/write exclusion rules to the sandbox.

This patch adds two new macros to the content sandbox rule set:
|profileDir| holds the path to the profile or the emptry string;
|hasProfileDir| is a boolean (1 or 0) that indicates whether or
not the profile directory rules should be added. If |hasProfileDir|
is 0, profile directory exclusion rules don't need to be added
and |profileDir| is not used.

MozReview-Commit-ID: rrTcQwTNdT

--HG--
extra : rebase_source : 3d5b612c8eb3a1d0da028eba277cd9d6f0c9ac00
2016-08-30 13:32:21 -07:00
Bob Owen
add3717103 Bug 1287426 Part 2: Remove uneeded base/basictypes.h include from WindowsMessageLoop.h r=jimm
MozReview-Commit-ID: AZ9cUmxHk4R
2016-09-06 08:57:20 +01:00
Nathan Froyd
2d2dec7fe4 Bug 1297804 - part 3 - avoid array bounds checking when writing nsTArray<T> to messages; r=billm
We know we're not going to perform out-of bounds accesses here.
2016-09-02 16:14:28 -04:00
Nathan Froyd
9d05d5014b Bug 1299594 - part 3 - remove gProtocolMutex; r=billm
It no longer protects any global state, and is therefore pure overhead.
2016-09-02 16:13:50 -04:00
Nathan Froyd
29e8bfeb34 Bug 1299594 - part 2 - remove opened actor tracking from IToplevelProtocol; r=billm
The only thing we needed opened actor tracking for was the ability to
clone all the actors.  But now that we no longer have support for
cloning actors, we no longer need to track the actors that we've cloned,
which makes a number of things significantly simpler.
2016-09-02 16:13:50 -04:00
Nathan Froyd
fff9bd3854 Bug 1299594 - part 1 - remove CloneManagees/CloneToplevel code from IPDL; r=billm
CloneOpenedToplevels, which is never called, is the only interesting
caller of CloneToplevel.  And CloneToplevel, in turn, is the only
interesting caller of CloneManagees.  Which means we can ditch all this
code for a decent amount of space savings, both in code and writable
static data (no more useless virtual function entries in vtables).
2016-09-02 16:13:50 -04:00
Nicholas Nethercote
b71747b2ac Bug 1299727 - Rename NS_WARN_IF_FALSE as NS_WARNING_ASSERTION. r=erahm.
The new name makes the sense of the condition much clearer. E.g. compare:

  NS_WARN_IF_FALSE(!rv.Failed());

with:

  NS_WARNING_ASSERTION(!rv.Failed());

The new name also makes it clearer that it only has effect in debug builds,
because that's standard for assertions.

--HG--
extra : rebase_source : 886e57a9e433e0cb6ed635cc075b34b7ebf81853
2016-09-01 15:01:16 +10:00
Wes Kocher
ecea29f6a3 Backed out changeset 0f53bc1a9aea (bug 1290619) a=merge 2016-08-29 17:40:59 -07:00
Haik Aftandilian
3c44a5f111 Bug 1290619 - Content sandbox rules should use actual profile directory, not Profiles/*/ regexes. r=jimm
Passes the profile dir to the content process as a -profile CLI option so
that the correct profile dir can be used in the OS X content sandbox rules.
Only enabled on OS X for now.

On Nightly, profile directories will now be read/write protected from the
content process (apart from a few profile subdirectories) even when they
don't reside in ~/Library.

MozReview-Commit-ID: rrTcQwTNdT

--HG--
extra : rebase_source : d91d8939cabb0eed36b640766756548a790a301c
2016-08-25 15:19:52 -07:00
Nathan Froyd
72439d5587 Bug 1297801 - part 3 - make mozilla::ipc::Trigger 4 bytes instead of 8; r=billm
We construct Trigger structures for every IPDL send and recv to run
the (currently defunct) IPDL state machine for each protocol.  These
structures are 64 bits to hold an enum that could be represented in 1
bit and an IPDL message enum that can easily be represented in 31 bits.
Therefore, we can make the Trigger structure smaller by storing the
members as bitfields, rather than full-width integers.  (The message
enums are formed from a 16-bit protocol enum and a 16-bit
protocol-specific message enum; since the protocol enum goes in the
upper bits, we'd need 32768 protocols to overflow the bitfield we're
using in Trigger...a number that we're not going to hit anytime soon.)

This change saves ~15K of space on x86-64 Linux.
2016-08-29 20:41:22 -04:00
Nathan Froyd
a8474a5f11 Bug 1297801 - part 1 - commonize the managee->array functions in IPDL generated code; r=billm
There's no reason to generate identical code for every kind of managed
protocol; we can have a single instance that operates on void* and cast
our way to victory.  This change saves ~60K of text on x86-64 Linux.
2016-08-29 20:41:22 -04:00
Nicholas Nethercote
c2306345d5 Bug 1297658 - Avoid unnecessary checking in memory reporters. r=erahm.
This patch removes checking of all the callback calls in memory reporter
CollectReport() functions, because it's not useful.

The patch also does some associated clean-up.

- Replaces some uses of nsIMemoryReporterCallback with the preferred
  nsIHandleReportCallback typedef.

- Replaces aCallback/aCb/aClosure with aHandleRepor/aData for CollectReports()
  parameter names, for consistency.

- Adds MOZ_MUST_USE/[must_use] in a few places in nsIMemoryReporter.idl.

- Uses the MOZ_COLLECT_REPORT macro in all suitable places.

Overall the patch reduces code size by ~300 lines and reduces the size of
libxul by about 37 KiB on my Linux64 builds.

--HG--
extra : rebase_source : e94323614bd10463a0c5134a7276238a7ca1cf23
2016-08-24 15:23:45 +10:00
Wes Kocher
3343f6c576 Backed out changeset b357fab2feb4 (bug 1290619) for osx e10s crashes a=backout CLOSED TREE 2016-08-24 10:59:04 -07:00
Haik Aftandilian
d1e8cf113e Bug 1290619 - Content sandbox rules should use actual profile directory, not Profiles/*/ regex's. r=jimm
Passes the profile dir to the content process as a -profile CLI option so
that the correct profile dir can be used in the OS X content sandbox rules.
Only enabled on OS X for now.

On Nightly, profile directories will now be read/write protected from the
content process (apart from a few profile subdirectories) even when they
don't reside in ~/Library.

--HG--
extra : rebase_source : 7bf426f14f31b35c8b541e6d21183226db9836c7
2016-08-22 11:58:18 -07:00
Kan-Ru Chen
b6d880aca1 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES


--HG--
rename : mfbt/unused.h => mfbt/Unused.h
2016-08-24 14:47:04 +08:00
David Anderson
44a97e25c9 Make BackgroundImpl optional in the GPU process. (bug 1294350 part 7, r=billm) 2016-08-22 22:57:36 -07:00
David Anderson
a8c8bf4196 Add crash-report instrumentation to diagnose bug 1293580. r=billm 2016-08-22 22:52:04 -07:00
Kan-Ru Chen
506dfe6ea3 Bug 1264642 - Part 4. Use BufferList to replace raw buffers in StructuredClone. r=baku r=billm r=jorendorff
In JS StructuredClone BufferList<SystemAllocPolicy> is typedef'd to
JSStructuredCloneData and use everywhere in gecko that stores structured
clone data.

This patch changed some raw pointers to UniquePtr<JSStructuredCloneData>
and some to stack allocated JSStructuredCloneData for better life time
management. Some parameters or methods are deleted because of changing
to the new data structure.

MessagePortMessage now has the exactly same structure with
ClonedMessageData. Maybe in the future they can be consolidated.

MozReview-Commit-ID: 1IY9p5eKLgv
2016-08-23 00:40:46 +08:00
Cervantes Yu
ade760040e Bug 1295544 - Typo fix of MOZ_CRASHREPORTER build config. r=krizsa
MozReview-Commit-ID: 73DSJTef14E

--HG--
extra : rebase_source : 9d96e86754c455d8cda9d6042d4536f06a676c3a
2016-08-16 19:32:30 +08:00
Ben Kelly
9d7b33a00b Bug 1293690 P2 Set explicit status levels to fail at when calling WorkerHolder::HoldWorker. r=baku 2016-08-18 07:11:04 -07:00
Phil Ringnalda
4083fafafc Backed out 10 changesets (bug 1290116, bug 1293690) for build bustage
CLOSED TREE

Backed out changeset bbc14d107fca (bug 1290116)
Backed out changeset a81b6ce5c25f (bug 1290116)
Backed out changeset e0b9c25b6125 (bug 1290116)
Backed out changeset 8e9a9ba04ce5 (bug 1290116)
Backed out changeset 2d5ad5e9ed20 (bug 1290116)
Backed out changeset eb7da0dbfc72 (bug 1290116)
Backed out changeset 6a4e8c92faae (bug 1290116)
Backed out changeset 0342d98afa10 (bug 1293690)
Backed out changeset d84b0768f0ce (bug 1293690)
Backed out changeset f9f62ade9508 (bug 1293690)
2016-08-17 21:16:43 -07:00
Ben Kelly
fa520e1fdd Bug 1293690 P2 Set explicit status levels to fail at when calling WorkerHolder::HoldWorker. r=baku 2016-08-17 20:01:35 -07:00
Aaron Klotz
a8b5e5f85f Bug 1273635: Follow-up - ensure that MessageChannel's event is reset when signalled; r=jimm, billm
--HG--
extra : amend_source : ea92d0cfce457517bdc0ce5ca81bede4ec936f89
2016-08-14 15:23:12 -06:00
Nicholas Nethercote
ca40b738e4 Bug 1294620 - Use infallible XPIDL attribute getters more. r=erahm.
This makes a lot of code more compact, and also avoids some redundant nsresult
checks.

The patch also removes a handful of redundant checks on infallible setters.

--HG--
extra : rebase_source : f82426e7584d0d5cddf7c2524356f0f318fbea7d
2016-08-12 15:19:29 +10:00
Jonathan Chan
9c62a2c11c Bug 1293739 - Part 1: Rename nsCSSProperty to nsCSSPropertyID. r=dholbert
This patch is generated by the following commands (note: if you're running
using OS X's sed, which accepts slightly different flags, you'll have to
specify an actual backup suffix in -i, or use gsed from Homebrew):

  hg stat -c \
  | cut -c 3-  \
  | tr '\n' '\0' \
  | xargs -0 -P 8 gsed --follow-symlinks 's/\bnsCSSProperty\b/nsCSSPropertyID/g' -i''

Then:

  hg mv layout/style/nsCSSProperty.h layout/style/nsCSSPropertyID.h

... and finally, manually renaming nsCSSProperty in the include guard in
nsCSSProperty.h.

MozReview-Commit-ID: ZV6jyvmLfA

--HG--
rename : layout/style/nsCSSProperty.h => layout/style/nsCSSPropertyID.h
2016-08-09 16:28:19 -07:00