Commit Graph

2874 Commits

Author SHA1 Message Date
Nicholas Nethercote
51aed272e1 Bug 1205942 (part 1) - Fix overflows in time_posix.cc. r=jld.
We get the following warnings with clang.

> ipc/chromium/src/base/time_posix.cc:103:57: error: overflow in expression; result is 0 with type 'long' [-Werror,-Winteger-overflow]
> ipc/chromium/src/base/time_posix.cc:106:58: error: overflow in expression; result is -1000 with type 'long' [-Werror,-Winteger-overflow]

This is a genuine bug. The upstream code in Chromium has changed (commit
2a278516943eee02e0206506a4b907fc0b55f27b) and this patch changes our code to be
similar. I did tests and confirmed that instead of getting 0 or -1 for
|milliseconds|, we now get -2147483648000 or 2147483647999, which is much
better.

--HG--
extra : rebase_source : f01a4f03bc1576980010426328116d03eb71079b
2015-09-21 15:35:26 -07:00
Gian-Carlo Pascutto
c3a8478c8b Bug 1200477 - Allow building with WebRTC disabled. r=glandium,mrbkap 2015-09-18 08:29:14 +02:00
Ehsan Akhgari
f4821262f5 Add two missing includes to SharedMemoryBasic_mach.cpp, no bug 2015-09-17 19:35:21 -04:00
Cervantes Yu
f47edecb4b Bug 1204405: Don't access prefs off main thread in testing ProcessLink::Open(). r=khuey 2015-09-17 14:40:23 +08:00
Chris Peterson
230c67672b Bug 1203232 - Fix -Wshadow warnings in some ipc/chromium headers. r=njn 2015-09-13 02:06:14 -07:00
Carsten "Tomcat" Book
aa816da5bb Merge mozilla-central to b2g-inbound 2015-09-15 15:13:57 +02:00
Thomas Zimmermann
948e27e61b Bug 1203092: Remove void pointers from Bluetooth's daemon backend, r=shuang 2015-09-15 12:55:02 +02:00
Thomas Zimmermann
6f6cab8895 Bug 1203092: Add |DaemonSocketResultHandler| base class to HAL IPC, r=shuang 2015-09-15 12:55:02 +02:00
Nigel Babu
2637edc2dc Backed out changeset 23cb9eb406f9 (bug 1203092) for build bustage 2015-09-15 15:17:40 +05:30
Nigel Babu
7a16edd7a4 Backed out changeset bed325ace368 (bug 1203092) 2015-09-15 15:17:30 +05:30
Thomas Zimmermann
22f375913e Bug 1203092: Remove void pointers from Bluetooth's daemon backend, r=shuang 2015-09-15 10:38:13 +02:00
Thomas Zimmermann
8f4a8a6aa1 Bug 1203092: Add |DaemonSocketResultHandler| base class to HAL IPC, r=shuang 2015-09-15 10:38:13 +02:00
Nicholas Nethercote
9d68ee2953 Bug 1204277 - Disallow warnings in six more directories. r=glandium.
These are all conditional uses of ALLOW_COMPILER_WARNINGS=True that are no
longer necessary.

--HG--
extra : rebase_source : e654fa940aed18b1d5ef7b2bebb45bbef59cfd84
2015-09-14 21:16:37 -07:00
Michael Layzell
0097c41e01 Bug 1201190 - Part 3: Mark every consumer of GUARD_OBJECT as MOZ_RAII, r=ehsan 2015-09-12 16:53:33 -04:00
Phil Ringnalda
9565dedf7d Merge m-c to m-i
CLOSED TREE
2015-09-10 15:30:31 -07:00
Thomas Zimmermann
6340e04b99 Bug 1202386: Output clear HAL IPC errors, r=shuang
This patch improves error logging in the IPC PDU packing and unpacking
code.
2015-09-10 11:32:26 +02:00
Thomas Zimmermann
eaad9f6f6d Bug 1202386: Add logging macros for HAL IPC, r=shuang
The code for packing and unpacking IPC messages does currently not
output detailed error message. This patch adds macros that display
information about the failed operation and arguments. The overhead
of the macros is small and the fast path can be inlined.
2015-09-10 11:32:26 +02:00
Wes Kocher
3687626c35 Merge inbound to central, a=merge CLOSED TREE 2015-09-09 13:47:08 -07:00
David Major
ac5d2ca462 Bug 1188045: Don't delayload xul.dll or nss3.dll on clang-cl builds. r=glandium
--HG--
extra : rebase_source : d36b7f7599939065dd0b36687b447bb935aa85a8
2015-09-08 15:07:45 -04:00
Thomas Zimmermann
369854d84e Bug 1202704: Move Bluetooth's |UnpackPDUInitOp| to generic HAL IPC code, r=shuang 2015-09-09 13:40:26 +02:00
Thomas Zimmermann
5621b29006 Bug 1202704: Move Bluetooth IPC unpack functions to generic HAL IPC, r=shuang 2015-09-09 13:40:26 +02:00
Thomas Zimmermann
551c2206d6 Bug 1202704: Move Bluetooth IPC pack functions to generic HAL IPC, r=shuang 2015-09-09 13:40:26 +02:00
Bob Owen
cd5643f4d3 Bug 1201438: Add non-sandboxed Windows content processes as target peers for handle duplication. r=bbondy 2015-09-08 11:18:12 +01:00
Jacek Caban
1acd823579 Bug 1201438 - Fixup for builds with disabled sandbox. 2015-09-09 14:17:12 +02:00
Jan Varga
2a061d3c3b Bug 771288 - Multiprocess FileHandle support (FileHandle on PBackground); r=baku
--HG--
rename : dom/filehandle/FileHandle.cpp => dom/filehandle/FileHandleBase.cpp
rename : dom/filehandle/FileHandle.h => dom/filehandle/FileHandleBase.h
rename : dom/filehandle/FileRequest.h => dom/filehandle/FileRequestBase.h
rename : dom/filehandle/MutableFile.cpp => dom/filehandle/MutableFileBase.cpp
rename : dom/filehandle/MutableFile.h => dom/filehandle/MutableFileBase.h
2015-09-09 13:15:05 +02:00
Andrea Marchesini
896e177461 Bug 1201806 - part 1 - Remove OwningSerializedStructuredCloneBuffer and use StructuredCloneIPCHelper everywhere in IPC code, r=smaug 2015-09-09 08:10:32 +01:00
David Major
694eea169f Bug 1194834: Don't use static libs on Windows ASan builds. r=glandium 2015-09-10 16:55:15 -04:00
Andrea Marchesini
cd4473d62f Bug 1203426 - Rename StructuredCloneIPCHelper to StructuredCloneData, r=smaug
--HG--
rename : dom/ipc/StructuredCloneIPCHelper.cpp => dom/ipc/StructuredCloneData.cpp
rename : dom/ipc/StructuredCloneIPCHelper.h => dom/ipc/StructuredCloneData.h
2015-09-10 21:50:58 +01:00
Ms2ger
d65d89b426 Bug 1200131 - Avoid shadowing members in tuple.h; r=njn 2015-09-10 13:49:19 +02:00
Jed Davis
c2c83b8933 Bug 1201329 - Use AlignedStorage2 instead of char[] for IPDL union members. r=billm
In addition to fixing the alignment, this helps our static analysis
reason about them; see bug for more info.
2015-09-03 21:56:59 -07:00
Cervantes Yu
2c8c57b9d7 Bug 1192255: Clean up ContentParent's observer topics for the Nuwa process. r=khuey
--HG--
extra : rebase_source : 8350c348f79459ad04453be6a02b7c66a4e04b0a
2015-08-14 15:41:54 +08:00
Gian-Carlo Pascutto
19500b256d Bug 1104616 - Proxy video capture access to the main process. r=jesup,glandium,mrbkap 2015-08-31 14:51:29 +02:00
Nicholas Nethercote
f44287005f Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.

--HG--
extra : rebase_source : 82e3387abfbd5f1471e953961d301d3d97ed2973
2015-08-27 20:44:53 -07:00
Jan Varga
2c0217f2ab Bug 1173756 - Part 1: Update asmjscache to use PBackground; r=luke 2015-08-29 07:45:04 +02:00
Aaron Klotz
b5620ac836 Bug 1189709 - Reduce scope of MessageChannel window neutering. r=jimm
CLOSED TREE

--HG--
extra : amend_source : 76d39b5b5e7af9384c583b71659adddb72ab169c
2015-08-26 15:57:29 -06:00
Cervantes Yu
3c09a9761d Bug 1166207 - Load preload.js in the Nuwa process. r=khuey
--HG--
extra : rebase_source : 292c5e5dbee5fa49a78fd1997d97094ef2190143
2015-08-28 17:57:44 +08:00
Yoshi Huang
4347bb2318 Bug 1165272 - Part 1: remove getAppCodebasePrincipal. r=bholley 2015-08-17 17:03:19 +08:00
Bobby Holley
edfe287f26 Backed out 3 changesets (bug 1165272) for b2g sanity blocker. 2015-08-25 11:16:21 -07:00
Yoshi Huang
12efacfa8c Bug 1165272 - Part 1: Remove getAppCodebasePrincipal. r=bholley 2015-08-24 01:31:00 -04:00
Mike Hommey
8d4c5b336d Bug 1189967 - Be slightly more explicit about some conversions to std::wstring. r=nfroyd 2015-08-23 22:20:19 +09:00
Mike Conley
322c7d8d00 Bug 1191976 - Intentionally crash if we hit an IPC FatalError in the parent process. r=billm
When the parent process has trouble deserializing an IPC message from the content
process, it originally killed that content process. This doesn't result in us
creating a crash report (and doing so is difficult if the FatalError is hit
off main thread). We now crash the parent process if we hit such a FatalError
in the parent process. This will hopefully give us an idea of how frequent
these FatalErrors are, since up until now we've been getting no crash data
for them.

--HG--
extra : commitid : J1E7vnGmvOa
extra : rebase_source : 66a4cfc599bc6f5ce113dd49439e247a474c48a4
extra : amend_source : 1d6f5f26455dd810c3c3ffb4b807e734c74d87a7
2015-08-18 15:28:01 -04:00
Mike Conley
7421d14843 Bug 1106321 - Serialize DEVMODE down to the content process when printing on Windows. r=jimm
--HG--
extra : commitid : IhjNJOOtmms
extra : rebase_source : 6b0ba29e866dcf63a3054eb955ece082cbbeda13
extra : amend_source : 70bcf59b1f4b1d7a3a8ec4183b3b9710eedfb5f9
2015-08-06 17:36:54 -04:00
Kyle Huey
76e3009ab8 Bug 1179909: Refactor stable state handling. r=smaug
This is motivated by three separate but related problems:

1. Our concept of recursion depth is broken for things that run from AfterProcessNextEvent observers (e.g. Promises). We decrement the recursionDepth counter before firing observers, so a Promise callback running at the lowest event loop depth has a recursion depth of 0 (whereas a regular nsIRunnable would be 1). This is a problem because it's impossible to distinguish a Promise running after a sync XHR's onreadystatechange handler from a top-level event (since the former runs with depth 2 - 1 = 1, and the latter runs with just 1).

2. The nsIThreadObserver mechanism that is used by a lot of code to run "after" the current event is a poor fit for anything that runs script. First, the order the observers fire in is the order they were added, not anything fixed by spec. Additionally, running script can cause the event loop to spin, which is a big source of pain here (bholley has some nasty bug caused by this).

3. We run Promises from different points in the code for workers and main thread. The latter runs from XPConnect's nsIThreadObserver callbacks, while the former runs from a hardcoded call to run Promises in the worker event loop. What workers do is particularly problematic because it means we can't get the right recursion depth no matter what we do to nsThread.

The solve this, this patch does the following:

1. Consolidate some handling of microtasks and all handling of stable state from appshell and WorkerPrivate into CycleCollectedJSRuntime.
2. Make the recursionDepth counter only available to CycleCollectedJSRuntime (and its consumers) and remove it from the nsIThreadInternal and nsIThreadObserver APIs.
3. Adjust the recursionDepth counter so that microtasks run with the recursionDepth of the task they are associated with.
4. Introduce the concept of metastable state to replace appshell's RunBeforeNextEvent. Metastable state is reached after every microtask or task is completed. This provides the semantics that bent and I want for IndexedDB, where transactions autocommit at the end of a microtask and do not "spill" from one microtask into a subsequent microtask. This differs from appshell's RunBeforeNextEvent in two ways:
a) It fires between microtasks, which was the motivation for starting this.
b) It no longer ensures that we're at the same event loop depth in the native event queue. bent decided we don't care about this.
5. Reorder stable state to happen after microtasks such as Promises, per HTML. Right now we call the regular thread observers, including appshell, before the main thread observer (XPConnect), so stable state tasks happen before microtasks.
2015-08-11 06:10:46 -07:00
Botond Ballo
a7263cd695 Bug 1056356 - Allow calling NewRunnableMethod() with a const pointer to the callee object. r=froydnj
--HG--
extra : rebase_source : 2cd101c22d0992acedccf50e7f5880a268cef199
2015-07-29 19:51:36 -04:00
Carsten "Tomcat" Book
512c28bc4e Merge mozilla-central to b2g-inbound 2015-08-03 16:20:10 +02:00
Thomas Zimmermann
f8aa507b8c Bug 1187904: Add |DaemonSocketConnector|, r=shuang
|DaemonSocketConnector| is a copy of |BluetoothDaemonConnector| and
also includes |BluetoothDaemonInterface::CreateRandomAddressString|.

--HG--
rename : dom/bluetooth/bluedroid/BluetoothDaemonConnector.cpp => ipc/hal/DaemonSocketConnector.cpp
rename : dom/bluetooth/bluedroid/BluetoothDaemonConnector.h => ipc/hal/DaemonSocketConnector.h
2015-08-03 13:17:02 +02:00
Bob Owen
6f089c9629 Bug 1189352: Fix NSPR_LOG_FILE with absolute paths for sandboxed child on Windows. r=bbondy 2015-08-03 07:58:43 +01:00
Makoto Kato
50e851b877 Bug 830801 - Part 2. Remove NOMINMAX define from moz.build. r=mshal 2015-08-03 10:07:09 +09:00
Jesse Ruderman
7ed9e0fe1b Bug 1024259: Use NS_FREE_PERMANENT_DATA more consistently. r=mccr8 2015-07-31 12:11:48 -07:00
Cervantes Yu
aa6f91dd67 Bug 1155547, Part 2: Create PNuwa protocol (managed by PBackground) for forking content processes. r=khuey
This allows us to send a sync fork request to the Nuwa process when we need one but there is no
spare process available. After an app is launched, the request to fork a spare process is still
handled asynchronously.

--HG--
extra : rebase_source : 9b692a647f4fc861285d95f0372d6a9913eadf64
2015-07-31 15:25:27 +08:00