Commit Graph

3740 Commits

Author SHA1 Message Date
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
Michelangelo De Simone
6314d37360 Bug 1310020 - Remove DOM/bluetooth and related code. r=jst
MozReview-Commit-ID: IEhwzzBgb3x

--HG--
extra : rebase_source : 664e30c1d3babc71b2ef77c00e393fa767f4c159
2016-10-28 14:25:23 -07: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
Phil Ringnalda
76f5d03bb6 Merge m-c to m-i
MozReview-Commit-ID: LUDPZ08eWBo
2016-10-26 18:58:54 -07:00
Phil Ringnalda
4012e61cc3 Merge m-i to m-c, a=merge
MozReview-Commit-ID: CysKZsvYf69
2016-10-26 18:40:50 -07:00
Jed Davis
dce9969411 Bug 1268733 - Move sandbox interposition shims to their own static library. r=gcp r=glandium
This way they'll continue to be at the beginning of the symbol search
path after mozsandbox returns to being a shared library instead of
statically linked into plugin-container.

--HG--
rename : security/sandbox/linux/SandboxHooks.cpp => security/sandbox/linux/interpose/SandboxHooks.cpp
2016-10-26 16:57:18 -06:00
Josh Matthews
9c847a5ac4 Bug 1277681 - Send HTTP request bodies in chunks. r=mayhemer 2016-09-28 18:38:26 -04:00
Carsten "Tomcat" Book
9031c83f32 Merge mozilla-central to autoland 2016-10-26 17:14:27 +02:00
Aaron Klotz
8cfa990adf Bug 1311834: Make MainThreadInvoker use a spin loop on multiprocessor machines; r=jimm
MozReview-Commit-ID: 5xKdm7Z4oKs

--HG--
extra : rebase_source : f71e3b762501d8e24446ba8913c841cfe03a277b
2016-10-25 15:43:40 -06:00
Aaron Klotz
938166ed49 Bug 1310841: Make mscom registration use CoGetClassObject so that COM will retain a reference to the proxy dll; r=jimm
MozReview-Commit-ID: GZxbLCC6gVi

--HG--
extra : amend_source : 3cee23be271cfd35860869bd9446a3c95aaa4945
extra : histedit_source : 25a8893fff465ffc50dc95c2a8a5f011f0fd381f
2016-10-25 15:04:47 -06: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
Ryan VanderMeulen
3079f45ce5 Merge inbound to m-c. a=merge 2016-10-23 20:04:42 -04:00
Michelangelo De Simone
8641036d15 Bug 1310859 - Remove DOM/nfc and related code. r=jst
MozReview-Commit-ID: FiS7uGytipN

--HG--
extra : rebase_source : cd9be62d334568b4abd850398467bce4c4eb1544
2016-10-18 15:16:56 -07:00
Kan-Ru Chen
1f16719ab5 Bug 1309799 - Change IPC profiler label format to share strings. r=billm
MozReview-Commit-ID: FZtb8qLpKYI

--HG--
extra : rebase_source : 4b347cd1da9b7a30b980ce33b9af7ac36146071b
2016-10-20 14:06:14 +08: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
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
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
Carsten "Tomcat" Book
c2c23abfe2 Backed out changeset 606c7cb149c9 (bug 1287392) for bustage on a CLOSED TREE 2016-11-11 17:03:23 +01:00
Carsten "Tomcat" Book
72dedb5df0 Backed out changeset 7d8ed1ceafd7 (bug 1287392) 2016-11-11 17:03:02 +01:00
Thinker K.F. Li
86ea3b2d69 Bug 1287392 - Part 3: Pass info of TaskTracer along with IPC messages. r=cyu
--HG--
extra : rebase_source : d76de7bae28520e266f1f928e8474837260925c9
2016-11-10 07:59:00 -05:00
Thinker K.F. Li
9f1f17b5dc Bug 1287392 - Part 1: Fix TaskTracer bugs caused by the changes of IPC. r=khuey, r=bgirard
--HG--
extra : rebase_source : d7c6771ada2f19b028760456bd976bf578e58cf6
2016-11-10 07:57:00 -05: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
1f13f73c7f Bug 1306708 - Add prio() for message priority to IPDL (r=dvander) 2016-10-04 20:34:55 -07: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
f2da85c062 Revert "Bug 1306708 - Add prio() for message priority to IPDL (r=dvander)"
This reverts commit 952e64ef2fb51f3e945d92b4ea27be271261e40d.
2016-10-04 15:55:09 -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
3f54eaa3bc Bug 1306708 - Add prio() for message priority to IPDL (r=dvander) 2016-10-04 15:28:26 -07:00
Bill McCloskey
eddd80027c Bug 1306708 - Rename prio to nested in IPDL (r=dvander) 2016-10-04 15:28:14 -07:00
Nathan Froyd
32b4accd77 Bug 1307500 - enhance string sharing between ipdl-generated MOZ_DIAGNOSTIC_ASSERT messages; r=billm
For every protocol's RemoveManagee method, and every sub-protocol that
protocol manages, we generate:

  MOZ_DIAGNOSTIC_ASSERT(mManagedPSubProtcolChild.Contains(actor), "...");

which dumps strings into the binary like:

(mManagedPAsmJSCacheEntryChild).Contains(actor) (actor not managed by this!)
MOZ_RELEASE_ASSERT((mManagedPAsmJSCacheEntryChild).Contains(actor)) (actor not managed by this!)

The linker is capable of merging multiple strings together, but
including the sub-protocol in every assert expression effectively
defeats this linker optimization, resulting in ~40KB of unnecessary
strings.

We can improve this situation by taking a reference to the managee
container, and using that reference in the assertion expression.  All
the assertion expressions are identical, and the linker can perform the
expected string merging, for a savings of ~40KB.
2016-10-04 23:42:55 -04:00
Xidorn Quan
2603d68652 Bug 846566 - Add HiDPI support for plugin-container. r=mstange
--HG--
extra : rebase_source : dd3483ff92fdd7f45c10cca5c3097d715591ab17
2014-09-21 16:02:00 +02: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
Tooru Fujisawa
1ef63c4562 Bug 1290337 - Part 18: Replace Value parameter to const Value& in ipc. r=smaug 2016-09-11 18:15:24 +09:00
Tooru Fujisawa
215be0c5d2 Bug 1289050 - Part 3: Use UTF8 variant of JS_ReportError after re-encoding string. r=jwalden 2016-08-15 19:20:04 +09:00
Josh Matthews
ee8da66177 Bug 1294450 - Make AutoIPCStream favour PSendStream for large input streams. r=nfroydj 2016-09-29 06:20:00 +02:00
Carsten "Tomcat" Book
5b45193594 merge mozilla-inbound to mozilla-central a=merge 2016-09-29 11:44:58 +02:00
Tooru Fujisawa
6d493d48ec Bug 1289050 - Part 1: Use ASCII variant of JS_ReportError in simple case. r=jwalden 2016-08-14 20:39:28 +09: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
Aaron Klotz
96c052cf1f Bug 1304883: Modify mscom::MainThreadInvoker and Win32 widget to use atomic boolean to flag pending APCs; r=jimm
MozReview-Commit-ID: 7fXoDkBEd2V

--HG--
extra : rebase_source : 1960f9bf8294bfea15209554dd7fdc0ce1df5dcc
2016-09-22 15:07:01 -06: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
Aaron Klotz
9772dd793a Bug 1306014: Modify ipc/mscom/moz.build to only build essentials when a11y is disabled in build config; r=jimm
MozReview-Commit-ID: 4B08546SS4w

--HG--
extra : rebase_source : bded5176afaf99cb681c1be4b70edb9457ed2028
2016-09-28 14:09:07 -06:00
Carsten "Tomcat" Book
762cd18602 Merge mozilla-central to autoland 2016-09-28 16:52:13 +02:00
Makoto Kato
8edd5c2fd5 Bug 1305690 - GetCurrentProcessArchitecture should return cpu type on aarch64. r=billm
MozReview-Commit-ID: 7kwpZ6cbqfk

--HG--
extra : rebase_source : 65c4a9a9e36948ecaec52abbd07bc94d66f867d3
2016-09-27 20:42:29 +09:00
Josh Matthews
ee501c8947 Bug 1167730 - Make nsTemporaryFileStream serializable. r=baku 2016-09-23 10:34:42 -04:00
Aaron Klotz
98faee3572 Bug 1304876: Fix 64-bit build failure in IPC TestDataStructures test; r=billm
MozReview-Commit-ID: G0b0mvV8gus
2016-09-19 13:15:39 -06: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
Nicholas Nethercote
d6cfd7634f Bug 1302309 - Cast some MaybeDestroy() calls to void. r=billm.
Most calls to MaybeDestroy() have their return value checked, but those that
take a T__None argument legitimately don't. Coverity gets upset by this, so
let's cast those calls to void to make Coverity happier.

--HG--
extra : rebase_source : 798c852371a682372c61cae953cc13c160b9ff9a
2016-09-13 13:48:42 +10:00
Bill McCloskey
bb0a94054a Bug 1303499 - Fix broken IPDL tests (r=me, NPOTB) 2016-09-16 20:35:11 -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
Carsten "Tomcat" Book
0f2c669a48 merge mozilla-inbound to mozilla-central a=merge 2016-09-09 12:02:43 +02:00
Aaron Klotz
fec23fc114 Bug 1301217: Ensure that RegisteredProxy objects are MTA-aware; r=jimm
MozReview-Commit-ID: HStX3pBl5ly
2016-09-07 16:10:45 -06:00
Aaron Klotz
23956d09e2 Bug 1301184: Notify the profiler and hang monitor when we're executing APCs; r=jimm
MozReview-Commit-ID: B4nTiAf9GNk
2016-09-06 14:39:37 -06:00
Kacper Michajlow
47fc1444d9 Bug 1297794 - Fix SetEntriesInAcl failure on non-English Windows version. r=aklotz
MozReview-Commit-ID: 4FJBtUBjPEu

--HG--
extra : rebase_source : 4463d4d897587e9a6427252b4c373b38c2c6331d
2016-08-24 20:57:16 +02:00
Alexandre Lissy
e458f6fbc5 Bug 1301010 - Add missing Unused.h, StorageManager.h r=fabrice
MozReview-Commit-ID: 3ehLQTtBChb
2016-09-07 18:52:58 +02:00
Nicholas Nethercote
34dcc7b852 Bug 1299384 - Use MOZ_MUST_USE with NS_warn_if_impl(). r=erahm.
This change avoids lots of false positives for Coverity's CHECKED_RETURN
warning, caused by NS_WARN_IF's current use in both statement-style and
expression-style.

In the case where the code within the NS_WARN_IF has side-effects, I made the
following change.

> NS_WARN_IF(NS_FAILED(FunctionWithSideEffects()));
> -->
> Unused << NS_WARN_IF(NS_FAILED(FunctionWithSideEffects()));

In the case where the code within the NS_WARN_IF lacks side-effects, I made the
following change.

> NS_WARN_IF(!condWithoutSideEffects);
> -->
> NS_WARNING_ASSERTION(condWithoutSideEffects, "msg");

This has two improvements.
- The condition is not evaluated in non-debug builds.
- The sense of the condition is inverted to the familiar "this condition should
  be true" sense used in assertions.

A common variation on the side-effect-free case is the following.

> nsresult rv = Fn();
> NS_WARN_IF_(NS_FAILED(rv));
> -->
> DebugOnly<nsresult rv> = Fn();
> NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), "Fn failed");

--HG--
extra : rebase_source : 58788245021096efa8372a9dc1d597a611d45611
2016-09-02 17:12:24 +10: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
Cykesiopka
f821d7aff6 Bug 1299743 - Remove unused XPCShellDirProvider class from XPCShellEnvironment.cpp. r=mrbkap
MozReview-Commit-ID: 5QULAP0NtSo

--HG--
extra : rebase_source : 4c66d52d5267aef326fa70e5299b0339428c3ab2
2016-09-03 22:46:13 +08:00
Nathan Froyd
499fc0976b Bug 1297804 - part 4 - avoid array bounds checks in DestroySubtree loops; r=billm
The IPDL compiler generates code like this in DestroySubtree methods:

    // Recursively shutting down PAPZ kids
    nsTArray<PAPZChild*> kids((mManagedPAPZChild).Count());
    // Accumulate kids into a stable structure to iterate over
    ManagedPAPZChild(kids);
    for (uint32_t i = 0; (i) < ((kids).Length()); (++(i))) {
        // Guarding against a child removing a sibling from the list during the iteration.
        if ((mManagedPAPZChild).Contains(kids[i])) {
            (kids[i])->DestroySubtree(subtreewhy);
        }
    }

There are three problems with this code:

1) We initialize |kids| with a capacity, which is wasted work;
   ManagedPAPZChild() is going to resize the array for us anyway.
2) We're constantly reading from |kids.Length()| in the loop, when we
   only really need to read from it once.
3) We're repeatedly accessing kids[i], and doing needless bounds checks.

Let's fix those three problems.
2016-09-02 16:14:28 -04: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
4de7ea1914 Bug 1297804 - part 2 - eschew array bounds checking in nsTArray IPDL-generated code, writer-side; r=billm
For better or worse, the IPDL compiler, for protocols that send or
receive arrays, generates Write methods for transferring those arrays,
rather than going through the standard ParamTraits specializations.
These generated methods perform unnecessary bounds checks when accessing
elements; such checks can be safely bypassed because we know the exact
length of all the arrays involved.  (Some compilers are not smart enough
to eliminate the bounds checks on their own.)
2016-09-02 16:14:28 -04:00
Nathan Froyd
b086521c81 Bug 1297804 - part 1 - eschew array bounds checking in nsTArray IPDL-generated code, reader-side; r=billm
For better or worse, the IPDL compiler, for protocols that send or
receive arrays, generates Read methods for transferring those arrays,
rather than going through the standard ParamTraits specializations.
These generated methods perform unnecessary bounds checks when accessing
elements; such checks can be safely bypassed because we know the exact
length of all the arrays involved.  (Some compilers are not smart enough
to eliminate the bounds checks on their own.)
2016-09-02 16:14:28 -04:00
Nathan Froyd
25c7ca2c50 Bug 1297804 - part 0 - add a RangedFor stament type to IPDL's code generator; r=billm
This addition makes many of the upcoming patches significantly easier to
write, and enables us to avoid unpleasantness trying to fiddle with
ipdl.py's notions of C++ types.  (For instance, there's no good way,
when you have a type in-hand, to say the moral equivalent of
std::add_pointer<T>::type.)
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
Kan-Ru Chen
99748028a6 Bug 1051567 - Make sure we resend file descriptors for the first chunk of a message. r=billm
Check if the buffers iterator was never consumed. This is a regression
introduced when converting ipc to use BufferList in bug 1262671.

MozReview-Commit-ID: LWAoVlI5CKJ

--HG--
extra : rebase_source : c4f16f4f90f56153c10cf1d9113c4c55748595f0
2016-08-30 18:26:59 +08:00
Nathan Froyd
40d6f37643 Bug 1298462 - tidy ipc/mscom/ files to avoid warnings from clang-cl; r=aklotz
Changing classes to `final` avoids complaints about deleting a class with
virtual functions.  Making destructors private avoids static_asserts from
XPCOM code about refcounted classes with public destructors.

MozReview-Commit-ID: IiPrZln1wvj

--HG--
extra : rebase_source : 5d70eea909e9d8c7f191c465b700b778b7ff564c
2016-08-26 14:26:29 -04:00
Wes Kocher
6c4583e52f Merge m-c to inbound, a=merge 2016-08-29 17:54:53 -07:00
Wes Kocher
ecea29f6a3 Backed out changeset 0f53bc1a9aea (bug 1290619) a=merge 2016-08-29 17:40:59 -07:00
Aaron Klotz
63a3869bb8 Bug 1298412: Fix Interceptor construction to use Move semantics for STAUniquePtr instead of pass-by-reference; r=jimm
MozReview-Commit-ID: 8DzeT35Ao4O

--HG--
extra : rebase_source : 14a94903843e54c1c4a4b6c980805ed37d878911
2016-08-26 10:03:17 -06: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
ed976e566d Bug 1298882 - ensure mozilla/mscom/Utils.h is included with uniform casing; r=aklotz
We install mozilla/mscom/Utils.h, but include it with an all-lowercased
path in some places.  clang-cl warns about this, and even though this is
Windows-only code and will therefore work, it's better to make
everything consistent.
2016-08-29 21:55:37 -04:00
Nathan Froyd
6d0ffbfa26 Bug 1298840 - declare dependent type with typename in ParamTraits<COMPtrHolder<Interface, _IID>>; r=aklotz
MSVC lets this slide, but clang-cl complains about the missing typename.
2016-08-29 21:47:03 -04:00
Ryan VanderMeulen
1c0c6ec5d4 Merge m-c to inbound. a=merge 2016-08-29 12:56:19 -04:00
Nathan Froyd
286887898c Bug 1297801 - part 4 - use non-null-checked operator new in IPDL code; r=billm
The standard placement new function requires a null check, implicitly
generated by the compiler, on its returned value.  For places we know
don't deal with null pointers, such as all the generated methods of IPDL
code, we can use an overloaded operator new that doesn't require the
null check.
2016-08-29 20:41:22 -04: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
fda65898ab Bug 1297801 - part 2 - make IPDL Transition functions take an inout parameter for State; r=billm
The calls to IPDL Transition() functions consistently look like:

  Transition(VAR, ..., &VAR);

We can save space by only passing &VAR and deriving the state we're
coming from by loading VAR in Transition itself.  It's not great using
inout parameters here, but we call Transition enough times that this
change saves a reasonable amount of space: about 10K on x86-64 Linux.
The unsightliness of inout parameters here is lessened by the only
callers of Transition being generated code.
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
Kan-Ru Chen
c49f09db99 Bug 1297981 - Delete BufferList::FlattenBytes and Pickle::FlattenBytes. r=billm
MozReview-Commit-ID: G3a4DN4Lovi

--HG--
extra : rebase_source : 17818efb7578117b708636d06e6a2f5d14532c94
2016-08-25 17:15:38 +08:00
Makoto Kato
92eed83142 Bug 1288625 - Part 1. Allow compiling of ipc/chromium for Android 64-bit. r=billm
MozReview-Commit-ID: Fyv21xmrGXl

--HG--
extra : rebase_source : 5b1248ee9e9c2ca003c06bd6ef889d632acfea50
2016-07-22 15:28:53 +09: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
Ryan VanderMeulen
69113163cf Merge m-c to inbound. a=merge 2016-08-24 09:09:05 -04:00
Cykesiopka
a16f7b0f6a Bug 1296316 - Convert nsNSSShutDownObject::CalledFromType to an enum class. r=mgoodwin
enum classes are in general safer than plain enums, and as such should be
preferred.

MozReview-Commit-ID: 1FK89SNhdk4

--HG--
extra : rebase_source : 764c4855026c02d8c9e33ca33637fec54ea5ca31
2016-08-20 23:00:19 +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
Kan-Ru Chen
6f3e6b1234 Bug 1264642 - Part 2. Add BufferList::Extract and Pickle::ExtractBuffers. r=billm
These methods allow us to move some buffers out of a pickle with minimum
copying. It's useful when the IPC deserialized type uses BufferList to
store data and we want to take the buffers from IPC directly.

Borrowing is not suitable to use for IPC to hand out data because we
often want to store the data somewhere for processing after IPC has
released the underlying buffers.

MozReview-Commit-ID: F1K2ZMkACqq
2016-08-23 00:40:45 +08:00
Ryan VanderMeulen
833833b8c5 Merge inbound to m-c. a=merge 2016-08-22 09:40:41 -04: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
Nathan Froyd
9c219dbf17 Bug 1296642 - avoid compiling {Read,Write}Sentinel calls in non-sentinel checking builds; r=billm
Pickle::{Read,Write}Sentinel were introduced as a way of catching
problems with corrupted IPDL messages at the point of message
serialization, rather than the point of use of the bad data.  The
checking itself is only done on debug or non-release builds, but the
calls to the functions are compiled in regardless of whether checking is
done.  While LTO could plausibly optimize away all the calls, we don't
have LTO on all of our platforms, particularly mobile.  Therefore, we
should move the non-checking versions of the calls inline, so the
compiler can eliminate those calls entirely, even in non-LTO builds.
2016-08-19 21:22:28 -04:00
Sebastian Hengst
1ab23ac869 Backed out changeset dd26b9ddef2c (bug 1292452) 2016-08-19 10:02:02 +02:00
Wes Kocher
a58f8b89a0 Merge m-c to inbound, a=merge 2016-08-18 16:32:58 -07:00
Wes Kocher
66098b3d43 Merge m-c to autoland, a=merge 2016-08-17 17:25:57 -07:00
Aaron Klotz
2745382e59 Bug 1293486: Add tearoff IDispatch handler to mscom interceptor; r=jimm
MozReview-Commit-ID: 9PSbpkNcOOh

--HG--
extra : rebase_source : 13ba9a670a43dc68b7760410fd808e03e1ac6d9c
2016-08-12 12:12:48 -06:00
Aaron Klotz
cf36a3119b Bug 1292452: MainThreadHandoff enhancements to support array outparams in IA2; r=jimm
MozReview-Commit-ID: LTxj7fHEoAb
2016-08-08 18:06:51 -06:00
Aaron Klotz
54e228e02f Bug 1296333: Ensure better handling of nullptr and IUnknown in ipc::mscom; r=jimm
MozReview-Commit-ID: H1PvH3PIWdK

--HG--
extra : amend_source : 7d41fb7bfcd2576d316900361d23f966b478e277
2016-08-18 09:48:48 -06: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
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
Igor
175543fda8 Bug 1293384 - Part 2: Rename Snprintf.h header to Sprintf.h. r=froydnj 2016-08-14 23:43:21 -07:00
Igor
a57972337d Bug 1293384 - Part 1: Rename snprintf_literal to SprintfLiteral. r=froydnj 2016-08-14 23:44:00 -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
Wes Kocher
37a02d441d Backed out 6 changesets (bug 1264642) for marionette failures a=backout CLOSED TREE
Backed out changeset f0067001c059 (bug 1264642)
Backed out changeset 078e5c447f21 (bug 1264642)
Backed out changeset 7c60fc4144fb (bug 1264642)
Backed out changeset 9f434697ef2e (bug 1264642)
Backed out changeset 06fc278fcedf (bug 1264642)
Backed out changeset 162098402acc (bug 1264642)
2016-08-17 10:49:25 -07:00
Wes Kocher
45575a7f86 Merge m-c to autoland, a=merge
a=release for the webidl hook for a comment-only change

--HG--
extra : amend_source : e590e515ab273d097f88b35be0e5c999502ebdf4
2016-08-16 22:07:30 -07:00
Jonathan Chan
4b87f11bd9 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-16 18:37:48 -07:00
Gregory Szorc
1794619188 Backed out changesets dcdb85fc5517, 702bca0deee2, 9cKX8gC1ATA (bug 1293739) for build bustage; a=bustage
The merge from inbound to central conflicted with the merge from
autoland to central, it appears. Per tree rules, the commit from the
autoland repo wins and the inbound commit gets backed out.

CLOSED TREE

--HG--
extra : amend_source : 927e1cdfa8e55ccbd873d404d905caf6871c8c4f
extra : histedit_source : 07095868c3f767258e1d7d2645193bf4811b13bb%2Ca49ae5a28bf6e67298b6208ee9254c25a2539712
2016-08-16 17:50:40 -07:00
Aaron Klotz
bed7a5af8c Bug 1292452: MainThreadHandoff enhancements to support array outparams in IA2; r=jimm
MozReview-Commit-ID: LTxj7fHEoAb

--HG--
extra : histedit_source : cbf34c9dac0acee94f0a8fe6488567530ededd0d
2016-08-08 18:06:51 -06:00
Jan de Mooij
0ad12515f4 Bug 1292892 part 1 - Stop using JSRuntime outside SpiderMonkey. r=bz,terrence,fitzgen,kanru 2016-08-11 14:39:22 +02:00
Honza Bambas
c581ae6d18 Bug 1290975 - turn mListener to a raw ptr, r=billm 2016-08-10 10:53:00 +02:00
Nicholas Nethercote
bab6d17ebf Bug 1293117 (part 4) - Change many NS_IMETHODIMP occurrences to NS_IMETHOD. r=froydnj.
This patch makes the following changes on many in-class methods.

- NS_IMETHODIMP F() override;      --> NS_IMETHOD F() override;
- NS_IMETHODIMP F() override {...} --> NS_IMETHOD F() override {...}
- NS_IMETHODIMP F() final;         --> NS_IMETHOD F() final;
- NS_IMETHODIMP F() final {...}    --> NS_IMETHOD F() final {...}

Using NS_IMETHOD is the preferred way of marking in-class virtual methods.
Although these transformations add an explicit |virtual|, they are safe --
there's an implicit |virtual| anyway because |override| and |final| only work
with virtual methods.

--HG--
extra : rebase_source : 386ee4e4ea2ecd8d5001efabc3ac87b4d6c0659f
2016-08-08 10:54:47 +10:00
Nicholas Nethercote
e7f10a07fd Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.

--HG--
extra : rebase_source : 815d0018b0b13329bb5698c410f500dddcc3ee12
2016-08-08 12:18:10 +10: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
Kan-Ru Chen
0db1ae055b Bug 1264642 - Part 4. Use BufferList to replace raw buffers in StructuredClone. r=baku,billm,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

--HG--
extra : rebase_source : 59a1f04de0d09709e9dc71a68c33025a6c13731c
2016-04-22 18:04:20 +08:00
Kan-Ru Chen
43631b1c31 Bug 1264642 - Part 2. Add BufferList::Extract and Pickle::ExtractBuffers. r=billm
These methods allow us to move some buffers out of a pickle with minimum
copying. It's useful when the IPC deserialized type uses BufferList to
store data and we want to take the buffers from IPC directly.

Borrowing is not suitable to use for IPC to hand out data because we
often want to store the data somewhere for processing after IPC has
released the underlying buffers.

MozReview-Commit-ID: F1K2ZMkACqq

--HG--
extra : rebase_source : eb67256e78f16189a62f441300e0dd06fe6ed687
2016-07-21 17:04:12 +08:00
Kyle Huey
cf5845e98a Bug 1274431: Fix some non-unified build issues. r=jld 2016-08-05 12:00:19 -07:00
Aaron Klotz
2bbffe8138 Bug 1273635: Enable alertable waits in content process main thread; r=jimm
MozReview-Commit-ID: 2qGdGj41M0n

--HG--
extra : rebase_source : e404ba43a47151d38330052c9ac93e7b252ad0f4
2016-08-03 11:54:35 -06:00
David Anderson
7bdb79f9ac Generate template-friendly value readers for IPDL unions. (bug 1288259 part 1, r?=billm)
--HG--
extra : rebase_source : 7376052d8a50427ab64205246463917fbd0e0d61
2016-08-04 11:13:38 -07: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
Cervantes Yu
8a0ce84d5e Bug 1253575 - Fallback to DuplicateHandle() when base::OpenPrivilegedProcessHandle() fails when starting a child process. r=krizsa
MozReview-Commit-ID: 2nglWFJgfja

--HG--
extra : rebase_source : 01d7b167bc0573c72aa8ef6dac8fce6bb5d4eaef
2016-06-23 17:50:37 +08:00
Cervantes Yu
8a084acd4c Bug 1266440 - Remove diagnostic funciton mozilla::ipc::AnnotateProcessInformation() that contains PII. r=krizsa
MozReview-Commit-ID: AJyNT68zJlF
2016-08-01 18:41:09 +08:00
Aaron Klotz
fc25b0f50c Bug 1287875: Don't try to obtain NS_APP_CONTENT_PROCESS_TEMP_DIR unless MOZ_CONTENT_SANDBOX is defined; r=haik
MozReview-Commit-ID: Li1I4CtmXvE

--HG--
extra : rebase_source : 72357591259f261b5310e9679f752d9c949951f8
2016-07-29 12:20:01 -06:00
Carsten "Tomcat" Book
37be51f16a merge mozilla-inbound to mozilla-central a=merge 2016-07-28 17:43:03 +02:00
Iris Hsiao
f9707fb68a Backed out changeset 48d06bcb9c65 (bug 1273635) for Mochitest failures 2016-07-28 14:25:47 +08:00
Yoshi Huang
84039380cc Bug 1287073 - remove SEC_FORCE_INHERIT_PRINCIPAL_WAS_DROPPED from nsILoadInfo r=sicking 2016-07-28 15:56:32 +08:00
David Anderson
a733ab7fa3 Add the GPU process as a sandbox broker peer. (bug 1289895, r=bobowen) 2016-07-27 23:17:54 -07:00
Makoto Kato
534829a9e2 Bug 1289500 - Don't load GTK IM module on content process. r=masayuki
Now content sandbox process is enabled.  Since uim-mozc uses vfork, it causes sandbox violation.  It is unnecessary to load IM module on content process becasue we don't use GTK IM APIs on content process.

MozReview-Commit-ID: GrPlmazzEMd

--HG--
extra : rebase_source : e12ec563807627a7fb84b2ca56eaa552aac22643
2016-07-27 10:24:42 +09:00
Carsten "Tomcat" Book
25aa8617fc Backed out changeset 1825b8fa636a (bug 1246540) for bustage
--HG--
extra : rebase_source : 45defacae713b2c2f75813fea6f2f289ebc481cd
2016-07-26 12:52:15 +02:00
Fabrice Desré
e415e8f407 Bug 1289316 - Update ProcessUtils_linux with PlatformHandle changes r=valentin 2016-07-26 03:47:18 -07:00
Bob Owen
22830b7f8f Bug 1287984: Add rule to allow content process to duplicate handles to other non-broker processes. r=jimm
MozReview-Commit-ID: A79P9G9t7Ax

--HG--
extra : transplant_source : %C2%0A-%FB%7E%AF%99%95%C7%AF%A6%21%BC%18%D4a%9C%24z%8C
2016-07-20 14:41:18 +01:00
Kate McKinley
01cbd73591 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.

(r=ckerschb,r=mayhemer,r=jld,r=smaug,r=dkeeler,r=jmaher,p=ally)
2016-07-25 12:37:00 +02:00
Xidorn Quan
8d8f13a7d5 Bug 1264566 followup - Fix build on VS2015u3.
MozReview-Commit-ID: Bi58Q1NCQD
2016-07-26 09:45:44 +10:00
Carsten "Tomcat" Book
0a5622c093 Backed out changeset 640247e978ba (bug 1246540) for bustage 2016-07-24 15:59:31 +02:00
Kate McKinley
547500d5a7 Bug 1246540 - HSTS Priming Proof of Concept. r=honzab
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.

(r=ckerschb,r=mayhemer,r=jld,r=smaug,r=dkeeler,r=jmaher,p=ally)
2016-07-22 18:35:00 +02:00
Wei-Cheng Pan
fd87664d8e Bug 1264566 - Part 2: Refactor all usage of FileDescriptor. r=valentin
Callers should use a UniquePtr to hold the platform handle.

MozReview-Commit-ID: 6BWnyAf4b3a

--HG--
extra : transplant_source : %26%CA%0D%28%08%9BT%97Z%A1%3Dq%CD%21%A1_%EFE%83%0E
extra : histedit_source : 77f8ed3d0fdec6cce0c95469130ade0fb547bb91
2016-05-27 16:12:51 +08:00
Wei-Cheng Pan
885cdcfe3a Bug 1264566 - Part 1: Refactor FileDescriptor to fix leaks in content processes. r=valentin, r=baku
Now FileDescriptor takes the ownership of the platform handle, in both parent
and content processes.
Copying will duplicate the underlying handle.
It also comes with a move constructor to avoid duplicating if possible.

The getter will duplicate a new handle, so a UniquePtr is needed to hold the
duplicated handle.

MozReview-Commit-ID: DgvjmTI4tpf

--HG--
extra : transplant_source : %8A%CA%96l%40iZ%08%D1J%F3%8C%F2%D0%8B6%E5%9EH%13
extra : histedit_source : ee9856a5a1b650663d65380847712691ac8e84bf
2016-05-27 15:58:51 +08:00
Carsten "Tomcat" Book
336105a0de merge mozilla-inbound to mozilla-central a=merge 2016-07-22 11:58:02 +02:00
Tom Tromey
5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Carsten "Tomcat" Book
4a64baa9d4 merge mozilla-inbound to mozilla-central a=merge 2016-07-21 16:24:36 +02:00
Chris Peterson
b175c9fdd5 Bug 1277106 - Part 2: Expand MOZ_UTF16() strings to u"" string literals. r=Waldo 2016-07-20 22:03:25 -07:00
Aaron Klotz
52f2033824 Bug 1277075: Add MainThreadRuntime class to mscom glue, enabling safe initialization of COM security and exception handlers; r=jimm
MozReview-Commit-ID: 9Ig9wb4KVps

--HG--
extra : rebase_source : 6a8da83dbdae9b7407598997ffbe56eeca3a4d26
2016-07-20 11:10:46 -06:00
Carsten "Tomcat" Book
021bec0a4e Merge mozilla-central to mozilla-inbound 2016-07-20 11:35:42 +02:00
Carsten "Tomcat" Book
8428cd56e3 merge mozilla-inbound to mozilla-central a=merge 2016-07-20 11:20:15 +02:00
David Anderson
6aca1d9865 Use Endpoints for content-process ImageBridges. (bug 1287366 part 2, r=billm)
--HG--
extra : rebase_source : 388c44e8df0ff45eb32e12d2b98c654cb0592bf0
2016-07-20 00:18:30 -07:00
Iris Hsiao
a024afd017 Backed out changeset 26fe03ac12be (bug 1277075) for Windows build bustage 2016-07-19 12:36:27 +08:00
Aaron Klotz
20b5649ee9 Bug 1277075: Add MainThreadRuntime class to mscom glue, enabling safe initialization of COM security and exception handlers; r=jimm
MozReview-Commit-ID: BKDnWQLCYGI

--HG--
extra : rebase_source : 091ed78a5b30c674ad8a7964b0ae5ffe66e905e5
2016-07-14 16:54:53 -06:00
Aaron Klotz
f92a107e86 Bug 1287002: Add DynamicallyLinkedFunctionPtr helper class to mscom glue; r=jimm
MozReview-Commit-ID: JnsXxi3oQ9r

--HG--
extra : rebase_source : fd0806fcd47b3d060236db00277415a4cf07e9c7
2016-06-03 12:56:24 -06:00
Aaron Klotz
67768a9eb7 Bug 1287002: Utility functions for Microsoft COM glue; r=jimm
MozReview-Commit-ID: DTH2lIvKjX9

--HG--
extra : rebase_source : e7e4e32f2175322c4ab20a205e37f6b2d34822f8
2016-07-14 16:55:31 -06:00
Aaron Klotz
140fb74701 Bug 1287002: Add RAII class for entering a COM apartment; r=jimm
MozReview-Commit-ID: DEwU3vU1P5P

--HG--
extra : rebase_source : 05f2ce1b51e32e369965c189ead9071b05b6e498
2016-06-03 12:30:31 -06:00
Aaron Klotz
c8479a9f4c Bug 1287002: Skeleton moz.build for ipc/mscom directory; r=billm
MozReview-Commit-ID: 4SDUWyTCppL

--HG--
extra : rebase_source : fd96ce17f38936e4e51bcc837c615cc80932f3f5
2016-06-03 12:29:21 -06:00
Aaron Klotz
cca20d7ddd Bug 1285356: Fix blocklist initialization regressions; r=bsmedberg
MozReview-Commit-ID: AlWyzVhtPLL

--HG--
extra : rebase_source : 865aff712f83a567c16b81f4512e072a04f7c6df
2016-07-07 17:00:23 -06:00
Thomas Zimmermann
4bee1b2945 Bug 1288077: Forward declare arrays by including 'nsTArrayForwardDeclare.h', r=froydnj
MozReview-Commit-ID: 4RBeHDyhQgr
2016-07-20 17:29:36 +02:00
Ting-Yu Chou
9876771de6 Bug 1287044 - Annotate pending IPC messages when OOM due to too many of them. r=billm
--HG--
extra : rebase_source : 7d4493eb9d88eeb6a2d7912f01020f7831fb8dd3
2016-07-04 13:36:34 +08:00
Aaron Klotz
1e94ab2a1b Bug 1263224: Add ability to wrap a COM method invocation and hand it off to the main thread for execution; r=jimm
MozReview-Commit-ID: EfoH3imaev5

--HG--
extra : rebase_source : d158c737c5ae789ea64bec99ab09b14a92e8c4f3
2016-07-19 13:31:25 -06:00
Aaron Klotz
76d0ed29d4 Bug 1263224: Adds COM interception that allows us to proxy COM invocations; r=jimm
MozReview-Commit-ID: 7dp0Jokg0X3

--HG--
extra : rebase_source : 6c8e2a85b896dbb143dfc5ecd8088b24524689d7
2016-07-27 11:44:56 -06:00
Aaron Klotz
05c8c56d9d Bug 1263224: Add support for thread-safe weak references for COM-based objects; r=jimm
MozReview-Commit-ID: JxVMyDhNPs4

--HG--
extra : rebase_source : 66366989c31c6b4fb1e640e54ba3b81d3729526b
2016-07-19 13:36:55 -06:00
Aaron Klotz
89a48d5463 Bug 1263224: Adds MainThreadInvoker class for posting Asynchronous Procedure Calls to the main thread; r=jimm
MozReview-Commit-ID: 6Be0p0z9CXI

--HG--
extra : rebase_source : ca9f37da2e3da31efbdb1b770d70c7f28f07c37f
2016-07-19 13:35:36 -06:00
Aaron Klotz
62f0203838 Bug 1263224: Smart pointers for passing COM interface pointers around in other apartments; r=jimm
MozReview-Commit-ID: 377VvQ5PMCJ

--HG--
extra : rebase_source : c64ed8690ee42141ebe6aa97ef0b750c7e058647
2016-07-19 13:13:31 -06:00
Aaron Klotz
fcdf74c9f5 Bug 1287875: Adds a logging facility for intercepted COM traffic; r=jimm
MozReview-Commit-ID: BfjSAVOo18G

--HG--
extra : rebase_source : 70dd4a9fc6464f4168b0e97554efc8c8c416fb58
2016-07-14 17:11:33 -06:00
Aaron Klotz
a0b2e7cafa Bug 1286986: Add glue to enable process-local registration of COM proxies at runtime; r=jimm
MozReview-Commit-ID: 7VTCPQa90Vv

--HG--
extra : rebase_source : 58808455042378883a4df8f97010702d03824e00
2016-07-27 11:45:08 -06:00
Aaron Klotz
85608bd12a Bug 1273635: Enable alertable waits in content process main thread; r=jimm
MozReview-Commit-ID: 2qGdGj41M0n

--HG--
extra : rebase_source : 894ec7ef23b18fd2ed72bc909bc2c743aedaf40c
2016-05-11 12:49:49 -06:00
Aaron Klotz
b99626af7a Bug 1261107: Adds code to marshal a Microsoft COM object and transfer its serialized proxy across IPDL; r=billm,jimm
MozReview-Commit-ID: BpSpue4Fq6G

--HG--
extra : rebase_source : 32a33339b3c6dcd69fadd6d2987bafd2ded9c689
2016-07-27 11:44:29 -06:00
Aaron Klotz
39c0509759 Bug 1261107: Add EnsureMTA class to ipc/mscom/Utils. This class synchronously executes a function on a background thread that resides in Microsoft COM's multithreaded apartment; r=jimm
MozReview-Commit-ID: KTE1VdCYS0O

--HG--
extra : rebase_source : e5dc30a20447830c1c33e4bc7479b56627ad52f9
2016-07-18 13:49:28 -06:00
Aaron Klotz
7f91347e43 Bug 1261107: Add IsCurrentThreadMTA() to ipc/mscom/Utils; r=jimm
MozReview-Commit-ID: 3ezKIAmvZZM

--HG--
extra : rebase_source : 50fc20f3e7fa19c94cdc37afc15e262ac479ac28
2016-07-18 13:47:34 -06:00
Aaron Klotz
6470186455 Bug 1268151: Clean up some dependencies in IPDL headers; r=billm
MozReview-Commit-ID: n0FkC1zcay

--HG--
extra : rebase_source : a56c34e5ab1fe9354be7b586a917b6eecff4cb31
2016-05-17 16:01:25 -06:00
David Anderson
6b2b817ec9 Add a callback for top-level actors to free themselves. (bug 1285364, r=billm)
--HG--
extra : rebase_source : 6954a2b34b521c886fba536cd7bedd5f30b94763
2016-07-13 11:21:58 -07:00
Nicholas Nethercote
a913f99107 Bug 1285554 - Remove remnants of widget/qt. r=dougt,mshal.
Because bug 1282866 removed Qt support but missed a bunch of things.
* * *
Bug 1285554 - more

--HG--
extra : rebase_source : c48d2485f1fdf1c961e08d91651bbca41e3a1a53
2016-07-12 09:16:45 +10:00
Alexandre Lissy
fd4d75f34b Bug 1285157 - Remove SetTransport(aChannel) for NUWA r=cyu
MozReview-Commit-ID: HR8r9flyJDQ

--HG--
extra : rebase_source : bc0e284f6469292a0495501dc71017902247ddd3
2016-07-07 10:07:24 +02:00
Thomas Zimmermann
a8ff73abe9 Bug 1280600: Cleanup Bluetooth config and build scripts, r=glandium
Bluetooth availability depends on available driver; not the base system's
version. This patch separates both. Following other modules, it also moves
search-path setup for BT header files into the affected moz.build scripts.

MozReview-Commit-ID: 2hzjcJVTaLY
2016-07-11 15:16:56 +02:00
Chris Peterson
43c2748f66 Bug 1277775 - Replace MOZ_CONSTEXPR{_VAR,_TMPL} with constexpr. r=froydnj 2016-07-08 14:39:53 -07:00
Benjamin Smedberg
bf05496a83 Bug 1282866 - remove widget/qt and other supporting QT code, r=dougt. This patch does not remove all of the checks for MOZ_WIDGET_QT (which are dead code), but that will be a followup mentored bug.
MozReview-Commit-ID: EGqHHhCD7vD

--HG--
extra : rebase_source : a4b9593959dd3ba80189db47eabb056ea207490f
extra : amend_source : a744d833693f0fe7adbea961c00bb5fb55a91580
2016-07-07 12:14:25 -04:00
David Anderson
e6a98dc91b Clean up Transport memory management in IPDL. (bug 1283744, r=billm) 2016-07-06 18:51:20 -07:00