Commit Graph

2968 Commits

Author SHA1 Message Date
Chris Peterson
4071c607c2 Bug 1203232 - Fix -Wshadow warnings in some ipc/chromium headers. r=njn 2015-09-13 02:06:14 -07:00
Carsten "Tomcat" Book
fc6612baa2 Merge mozilla-central to b2g-inbound 2015-09-15 15:13:57 +02:00
Thomas Zimmermann
275e2bd3f4 Bug 1203092: Remove void pointers from Bluetooth's daemon backend, r=shuang 2015-09-15 12:55:02 +02:00
Thomas Zimmermann
2b7d27b40b Bug 1203092: Add |DaemonSocketResultHandler| base class to HAL IPC, r=shuang 2015-09-15 12:55:02 +02:00
Nigel Babu
c1309187cf Backed out changeset 23cb9eb406f9 (bug 1203092) for build bustage 2015-09-15 15:17:40 +05:30
Nigel Babu
046ab322b8 Backed out changeset bed325ace368 (bug 1203092) 2015-09-15 15:17:30 +05:30
Thomas Zimmermann
34fd52e610 Bug 1203092: Remove void pointers from Bluetooth's daemon backend, r=shuang 2015-09-15 10:38:13 +02:00
Thomas Zimmermann
21d537e6b5 Bug 1203092: Add |DaemonSocketResultHandler| base class to HAL IPC, r=shuang 2015-09-15 10:38:13 +02:00
Nicholas Nethercote
997456cb72 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.
2015-09-14 21:16:37 -07:00
Michael Layzell
6261581c48 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
3006cefa44 Merge m-c to m-i
CLOSED TREE
2015-09-10 15:30:31 -07:00
Thomas Zimmermann
9776c484a2 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
eb7a1c046a 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
bd8983942d Merge inbound to central, a=merge CLOSED TREE 2015-09-09 13:47:08 -07:00
David Major
38a012e570 Bug 1188045: Don't delayload xul.dll or nss3.dll on clang-cl builds. r=glandium 2015-09-08 15:07:45 -04:00
Thomas Zimmermann
8db43ac2f5 Bug 1202704: Move Bluetooth's |UnpackPDUInitOp| to generic HAL IPC code, r=shuang 2015-09-09 13:40:26 +02:00
Thomas Zimmermann
be56b8fd96 Bug 1202704: Move Bluetooth IPC unpack functions to generic HAL IPC, r=shuang 2015-09-09 13:40:26 +02:00
Thomas Zimmermann
dbd06919a1 Bug 1202704: Move Bluetooth IPC pack functions to generic HAL IPC, r=shuang 2015-09-09 13:40:26 +02:00
Bob Owen
ba023432b7 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
f78cb38b65 Bug 1201438 - Fixup for builds with disabled sandbox. 2015-09-09 14:17:12 +02:00
Jan Varga
e5c59dbea6 Bug 771288 - Multiprocess FileHandle support (FileHandle on PBackground); r=baku 2015-09-09 13:15:05 +02:00
Andrea Marchesini
9f01064ca4 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
aeb8c4f9fb Bug 1194834: Don't use static libs on Windows ASan builds. r=glandium 2015-09-10 16:55:15 -04:00
Andrea Marchesini
8f9204470e Bug 1203426 - Rename StructuredCloneIPCHelper to StructuredCloneData, r=smaug 2015-09-10 21:50:58 +01:00
Ms2ger
5d528cae61 Bug 1200131 - Avoid shadowing members in tuple.h; r=njn 2015-09-10 13:49:19 +02:00
Jed Davis
75b6e79787 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
51afd30ad1 Bug 1192255: Clean up ContentParent's observer topics for the Nuwa process. r=khuey 2015-08-14 15:41:54 +08:00
Gian-Carlo Pascutto
9ac282e8a4 Bug 1104616 - Proxy video capture access to the main process. r=jesup,glandium,mrbkap 2015-08-31 14:51:29 +02:00
Nicholas Nethercote
10d95cca57 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.
2015-08-27 20:44:53 -07:00
Jan Varga
7f2d877502 Bug 1173756 - Part 1: Update asmjscache to use PBackground; r=luke 2015-08-29 07:45:04 +02:00
Aaron Klotz
da74c90a3f Bug 1189709 - Reduce scope of MessageChannel window neutering. r=jimm
CLOSED TREE
2015-08-26 15:57:29 -06:00
Cervantes Yu
665099fb75 Bug 1166207 - Load preload.js in the Nuwa process. r=khuey 2015-08-28 17:57:44 +08:00
Yoshi Huang
98f6ea7f6c Bug 1165272 - Part 1: remove getAppCodebasePrincipal. r=bholley 2015-08-17 17:03:19 +08:00
Bobby Holley
28a3efa072 Backed out 3 changesets (bug 1165272) for b2g sanity blocker. 2015-08-25 11:16:21 -07:00
Yoshi Huang
25acbe867f Bug 1165272 - Part 1: Remove getAppCodebasePrincipal. r=bholley 2015-08-24 01:31:00 -04:00
Mike Hommey
daa695d2f2 Bug 1189967 - Be slightly more explicit about some conversions to std::wstring. r=nfroyd 2015-08-23 22:20:19 +09:00
Mike Conley
894fb80991 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.
2015-08-18 15:28:01 -04:00
Mike Conley
6ca832b8e4 Bug 1106321 - Serialize DEVMODE down to the content process when printing on Windows. r=jimm 2015-08-06 17:36:54 -04:00
Kyle Huey
1ffb03e8dc 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
68f04d81d4 Bug 1056356 - Allow calling NewRunnableMethod() with a const pointer to the callee object. r=froydnj 2015-07-29 19:51:36 -04:00
Carsten "Tomcat" Book
c012e7f38c Merge mozilla-central to b2g-inbound 2015-08-03 16:20:10 +02:00
Thomas Zimmermann
e12e2b923f Bug 1187904: Add |DaemonSocketConnector|, r=shuang
|DaemonSocketConnector| is a copy of |BluetoothDaemonConnector| and
also includes |BluetoothDaemonInterface::CreateRandomAddressString|.
2015-08-03 13:17:02 +02:00
Bob Owen
f2e95303a1 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
e92450872e Bug 830801 - Part 2. Remove NOMINMAX define from moz.build. r=mshal 2015-08-03 10:07:09 +09:00
Jesse Ruderman
e08f0ec656 Bug 1024259: Use NS_FREE_PERMANENT_DATA more consistently. r=mccr8 2015-07-31 12:11:48 -07:00
Cervantes Yu
2ba703ba73 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.
2015-07-31 15:25:27 +08:00
Andrea Marchesini
27d25d23ff Bug 1188776 - Remove appId/isInBrowserElement from BroadcastChannel. r=bholley 2015-07-29 06:56:00 -04:00
Ryan VanderMeulen
5ec75e6c41 Merge inbound to m-c. a=merge 2015-07-30 16:08:21 -04:00
Thomas Zimmermann
bd17253ac7 Bug 1187249: Move Bluetooth init operators to ipc/hal, r=shuang 2015-07-30 10:34:51 +02:00
Thomas Zimmermann
f4f402420d Bug 1183249: Move PDU helper functions to ipc/hal, r=shuang 2015-07-30 10:34:51 +02:00
Thomas Zimmermann
f2449f1905 Bug 1187249: Move |DaemonSocketPDUHeader| to hal/ipc, r=shuang 2015-07-30 10:34:51 +02:00
Bob Owen
f9cb6a4fda Bug 1171796: Add sandbox rule for child process NSPR log file on Windows. r=bbondy
This also moves the initialization of the sandbox TargetServices to earlier in
plugin-container.cpp content_process_main, because it needs to happen before
xul.dll loads.
2015-07-30 10:04:42 +01:00
Bobby Holley
106e778c81 Bug 1188696 - Hoist nsRefPtr.h into MFBT. r=froydnj 2015-07-29 10:44:59 -07:00
Aaron Klotz
aec9d88268 Bug 1185639 - Allow deferred message processing to happen between consecutive IPC message dispatches. r=jimm 2015-07-21 01:21:51 -06:00
Ehsan Akhgari
4f8ac374e9 Bug 1188211 - Fix more constructors in IPC; r=billm 2015-07-28 08:53:31 -04:00
David Anderson
3e60fe55d0 Add default initializers for primitive fields in IPDL structs. (bug 1154522, r=billm) 2015-07-28 00:02:10 -07:00
Mike Hommey
46df179a4f Bug 1187533 - Change how Gtk+2 plugin-container is started on Gtk+3 builds. r=billm
The current situation looks like this: Firefox launches the plugin-container
with two environment variables set:
  LD_LIBRARY_PATH=$FIREFOX_DIR:$LD_LIBRARY_PATH
  LD_PRELOAD=$FIREFOX_DIR/libmozgtk2.so:$LD_PRELOAD

libxul.so has a dependency on libmozgtk.so (without "2"), but libmozgtk2.so
has a SONAME of libmozgtk.so, so ld.so recognizes libmozgtk2.so as a
dependency of libxul.so, and uses it instead of the actual libmozgtk.so,
making the plugin-container use Gtk+2 instead of Gtk+3 to load Gtk+2 plugins.

Now, ASan sets things up in shared libraries such that they needs a symbol
from the executable binary. So in the case of plugin-container, the
plugin-container executable itself contains some ASan symbols such as
__asan_init_v3. libmozgtk2.so, OTOH, contains an undefined weak reference to
that symbol, like all other Firefox shared libraries.

Since libmozgtk2.so is LD_PRELOADed, it is loaded _before_ the
plugin-container executable, and __asan_init_v3 can't be resolved.

Disabling ASan for libmozgtk2.so would be a possibility, but the build system
doesn't really know how to do that, and filtering out -fsanitize=address
can be fragile.

The alternative possibility, implemented here, is to change the library
loading strategy, renaming libmozgtk2.so to gtk2/libmozgtk.so, and setting
the following environment variable when Firefox launches the plugin-container:
  LD_LIBRARY_PATH=$FIREFOX_DIR/gtk2:$FIREFOX_DIR:$LD_LIBRARY_PATH
2015-07-28 08:19:13 +09:00
Ryan VanderMeulen
0365cafa35 Merge m-c to inbound. a=merge 2015-07-27 16:06:20 -04:00
Ryan VanderMeulen
30e0a38249 Backed out changeset b2d0e28fe539 (bug 1185639) test_plugin_focus.html timeouts. 2015-07-27 16:06:03 -04:00
Andrew McCreight
5855ecb901 Bug 1089816 - Let ASan content processes run to completion. r=billm
There are a variety of ways that the parent and child process ensure that
the child process exits quickly in opt builds, but for AddressSanitizer
builds we want to let the child process to run to completion, so that we
can get a LeakSanitizer report.

This requires adding some addition LSan suppressions, because running
LSan in child processes detects some new leaks.
2015-07-27 12:49:48 -07:00
Aaron Klotz
70f3f21c79 Bug 1185639: Allow deferred message processing to happen between consecutive IPC message dispatches; r=jimm 2015-07-21 01:21:51 -06:00
Thomas Zimmermann
9d5274ac92 Bug 1187230: Generalize Bluetooth daemon runnables, r=shuang
The new daemon runnables are generalized implementations of the
Bluetooth daemon runnables. The code is unchanged, except for name
changes and fixes to the coding style.
2015-07-27 13:33:17 +02:00
Carsten "Tomcat" Book
9237895ae0 Backed out changeset fa4f742c5c11 (bug 1187230) for bustage on a CLOSED TREE 2015-07-24 15:42:39 +02:00
Thomas Zimmermann
e9838bafe8 Bug 1187230: Generalize Bluetooth daemon runnables, r=shuang
The new daemon runnables are generalized implementations of the
Bluetooth daemon runnables. The code is unchanged, except for name
changes and fixes to the coding style.
2015-07-24 14:50:06 +02:00
Jeff Muizelaar
d93fe7cfe4 Bug 1186025. Optimize the usage of regions. r=mstange
This eliminates a bad idiom in some places.
2015-07-21 10:54:44 -04:00
Thomas Zimmermann
8399857001 Bug 1185478: Remove strong references from socket I/O class to socket classes
The shutdown procedure for socket classes ensures that the I/O class is
deleted independently from its socket class. If the socket class has been
deleted, no I/O is performed and no socket events are forwarded. The I/O
class therefore doesn't require a strong reference to its socket class.

This patch removes the remaining ref-counted pointers from the socket I/O
classes. The socket class clears the weak reference in its socket I/O class
when closing the socket.
2015-07-21 08:06:29 +02:00
Thomas Zimmermann
1cdfb998aa Bug 1185478: Add leak checks to socket I/O classes 2015-07-21 08:06:29 +02:00
Christoph Kerschbaumer
c12c53450c Bug 1143922 - Add AsyncOpen2 to nsIChannel and perform security checks when opening a channel - loadinfo changes (r=sicking,tanvi,sworkman) 2015-07-19 19:11:57 -07:00
Christoph Kerschbaumer
a1adafb4ba Bug 1175803 - Store redirect chain within loadInfo - part 1 (r=sicking,mayhemer) 2015-07-19 19:11:03 -07:00
Thomas Zimmermann
d4dd652789 Bug 1171994: Cleanup JSAPI code of |RilConsumer|, r=htsai
This patch cleans up the JSAPI code of |RilConsumer| and moves it
into the class itself.
2015-07-17 12:10:01 +02:00
Thomas Zimmermann
f74aa11b5a Bug 1171994: Use |RilSocket| to handle RIL messages on the RIL worker, r=htsai
This patch finally breaks up forwarding received RIL messages to the
main thread before they go to the RIL worker. Any RIL message that is
received on th I/O thread is forwarded directly to the RIL worker
thread and handed over to the RIL worker JS code.

The patch includes a number of changes. They all depend on each other,
so there's no good way of landing them one-by-one.

 * |RilConsumer| now runs on the RIL worker thread.

 * |RilWorker| uses tasks to register/unregister |RilConsumer| in the worker.

 * |RilConsumer| uses |RilSocket| instead of |StreamSocket|.

 * With |RilSocket|, received RIL messages do not go through main. They are
   forwared to the RIL worker and handed over to JS immediately.
2015-07-17 12:10:01 +02:00
Thomas Zimmermann
f556613dee Bug 1171994: Store an instance of |RilWorker| for each RIL connection, r=htsai 2015-07-17 12:10:01 +02:00
Thomas Zimmermann
9557bb8ff5 Bug 1171994: Separate RIL I/O interfaces, r=htsai
This patch separates the current interface of |RilConsumer| into
two distinct classes. |RilWorker| provides the public interface
and |RilConsumer| provides the internal implementation. Running
|RilConsumer| on a worker thread will be easier this way.
2015-07-17 12:10:01 +02:00
Thomas Zimmermann
7bfe86ec48 Bug 1171994: Forward received RIL socket I/O via |WorkerCrossThreadDispatcher|, r=htsai
With this patch, |RilSocket| and it's helpers forward received data
via a WCTD. This will hand over the worker's JS context to the RIL
consumer.

In a later patch, the RIL consumer will be moved onto the RIL worker
thread and call the JS ril-worker code directly.
2015-07-17 12:10:01 +02:00
Thomas Zimmermann
bbf3f8eab9 Bug 1171994: Add |RilSocket| and |RilSocketConsumer|, r=htsai
|RilSocket| and |RilSocketConsumer| are copies of the respective stream-
socket classes. Improvements to the RIL I/O code will be implemented on
top of the new classes.
2015-07-17 12:10:01 +02:00
Bill McCloskey
b446664f65 Bug 1177013 - Bug fixes for CPOW cancelation (r=dvander) 2015-07-15 14:37:11 -07:00
Bill McCloskey
cb4ca966f0 Bug 1128454 - Fix IPDL test (r=jimm) 2015-07-15 14:30:05 -07:00
Jim Mathies
2f607ca4ab Bug 1128454 - When plugin bridging mysteriously fails, log the ipc channel state along with the nsresult error code. r=billm 2015-07-15 14:47:14 -05:00
Ryan VanderMeulen
7823423a30 Backed out 6 changesets (bug 1171994) for causing smoketest bustage. a=me
Backed out changeset 46061230e77a (bug 1171994)
Backed out changeset ea00769b70df (bug 1171994)
Backed out changeset 2dc847e4650c (bug 1171994)
Backed out changeset 14ec8c87f973 (bug 1171994)
Backed out changeset 31cdbef9fe22 (bug 1171994)
Backed out changeset 463528fcee4d (bug 1171994)
2015-07-15 12:53:28 -04:00
Wes Kocher
bf5ce91ff6 Merge b2ginbound to central, a=merge 2015-07-14 15:25:44 -07:00
Thomas Zimmermann
b5e00daa0e Bug 1171994: Cleanup JSAPI code of |RilConsumer|, r=htsai
This patch cleans up the JSAPI code of |RilConsumer| and moves it
into the class itself.
2015-07-14 16:57:00 +02:00
Thomas Zimmermann
da78986754 Bug 1171994: Use |RilSocket| to handle RIL messages on the RIL worker, r=htsai
This patch finally breaks up forwarding received RIL messages to the
main thread before they go to the RIL worker. Any RIL message that is
received on th I/O thread is forwarded directly to the RIL worker
thread and handed over to the RIL worker JS code.

The patch includes a number of changes. They all depend on each other,
so there's no good way of landing them one-by-one.

 * |RilConsumer| now runs on the RIL worker thread.

 * |RilWorker| uses tasks to register/unregister |RilConsumer| in the worker.

 * |RilConsumer| uses |RilSocket| instead of |StreamSocket|.

 * With |RilSocket|, received RIL messages do not go through main. They are
   forwared to the RIL worker and handed over to JS immediately.
2015-07-14 16:57:00 +02:00
Thomas Zimmermann
4f939a0d7b Bug 1171994: Store an instance of |RilWorker| for each RIL connection, r=htsai 2015-07-14 16:57:00 +02:00
Thomas Zimmermann
824edc1903 Bug 1171994: Separate RIL I/O interfaces, r=htsai
This patch separates the current interface of |RilConsumer| into
two distinct classes. |RilWorker| provides the public interface
and |RilConsumer| provides the internal implementation. Running
|RilConsumer| on a worker thread will be easier this way.
2015-07-14 16:57:00 +02:00
Thomas Zimmermann
5606499d67 Bug 1171994: Forward received RIL socket I/O via |WorkerCrossThreadDispatcher|, r=htsai
With this patch, |RilSocket| and it's helpers forward received data
via a WCTD. This will hand over the worker's JS context to the RIL
consumer.

In a later patch, the RIL consumer will be moved onto the RIL worker
thread and call the JS ril-worker code directly.
2015-07-14 16:57:00 +02:00
Thomas Zimmermann
9fd703e9c9 Bug 1171994: Add |RilSocket| and |RilSocketConsumer|, r=htsai
|RilSocket| and |RilSocketConsumer| are copies of the respective stream-
socket classes. Improvements to the RIL I/O code will be implemented on
top of the new classes.
2015-07-14 16:57:00 +02:00
Christoph Kerschbaumer
52f20142b8 Bug 1179505 - Make LoadInfo arguments optional in ipdl (r=bent,sicking) 2015-07-13 22:43:13 -07:00
Birunthan Mohanathas
e52329c788 Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Christoph Kerschbaumer
2a74f97730 Bug 1139297 - Implement CSP upgrade-insecure-requests directive - loadinfo changes (r=sicking,sworkman) 2015-07-10 13:57:55 -07:00
Jim Mathies
ae4dea3e65 Bug 1128454 - Add crash report annotations for plugin bridge operation failures. r=billm 2015-07-09 19:07:49 -05:00
Aaron Klotz
83ed23a3aa Bug 1170231: Part 2 - Regression test for IPC race mediation deadlock; r=dvander 2015-06-07 22:08:56 -06:00
Aaron Klotz
3dc71a1cfd Bug 1170231: Part 1 - Remove condition that may cause deadlock in IPC when mediating interrupt races; r=dvander 2015-06-26 11:01:26 -07:00
Ryan VanderMeulen
18afe1cb5f Merge m-c to inbound. a=merge
CLOSED TREE
2015-07-07 13:38:10 -04:00
Cervantes Yu
42d31d64dd Bug 1172467: Fix an IPC channel file descriptor leak from Nuwa to the child process. r=khuey 2015-07-07 12:10:05 +08:00
Juan Gomez
21d73728f3 Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-07-03 18:29:00 -07:00
Dragana Damjanovic
c7fc0a288e Bug 905127 - Part 2 - remove unnecessary nsNetUtil.h includes r=jduell 2015-07-06 07:55:00 +02:00
Emanuel Hoogeveen
31c0c961cd Bug 905127 - Part 1 - Make some functions from nsNetUtil not inline. r=jduell 2015-07-07 04:17:00 +02:00
Bill McCloskey
b98648f1b2 Bug 1177013 - Avoid memory leaks when returning errors from IPC Send (r=dvander) 2015-07-06 19:58:46 -07:00
Bill McCloskey
cd8523e75b Bug 1177013 - Telemetry for CPOW cancelation (r=dvander) 2015-07-06 19:58:46 -07:00
Bill McCloskey
ffa804eb82 Bug 1177013 - Fix big IPC comment (r=dvander) 2015-07-06 19:58:45 -07:00
Bill McCloskey
975ffd1335 Bug 1177013 - Crash in IPC situations where we don't know what to do (r=dvander) 2015-07-06 19:58:45 -07:00
Bill McCloskey
516a454fd6 Bug 1177013 - Fix IPDL tests for not allowing CPOWs during sync (r=dvander) 2015-07-06 19:58:45 -07:00
Bill McCloskey
b162c4e892 Bug 1177013 - Use CancelCurrentTransaction to avoid crashes (r=dvander) 2015-07-06 19:58:44 -07:00
Bill McCloskey
a517106d39 Bug 1177013 - CancelCurrentTransaction IPC support (r=dvander) 2015-07-06 19:58:44 -07:00
Bill McCloskey
bb966bf7aa Bug 1177013 - Don't allow prio messages while dispatching sync messages (r=dvander) 2015-07-06 19:58:43 -07:00
Bill McCloskey
5a6551cf28 Bug 1177013 - Change IPC locking to get transaction ID correct (r=dvander) 2015-07-06 19:58:42 -07:00
Andrea Marchesini
8ed518b6a8 Bug 1165270 - Use origin for BroadcastChannel, r=bholley 2015-07-06 19:28:41 +01:00
Phil Ringnalda
6d43ab4967 Back out 12 changesets (bug 1177013) on suspicion of causing b2g emulator debug test bustage
CLOSED TREE

Backed out changeset 912aae0815f8 (bug 1177013)
Backed out changeset 3b6448172e50 (bug 1177013)
Backed out changeset 2af18bef5703 (bug 1177013)
Backed out changeset e6bf35115c11 (bug 1177013)
Backed out changeset 4d7f5205b60b (bug 1177013)
Backed out changeset f7de893911bc (bug 1177013)
Backed out changeset de79eba232f0 (bug 1177013)
Backed out changeset 978a77b60f2a (bug 1177013)
Backed out changeset f5b52fa19511 (bug 1177013)
Backed out changeset e14a7b70b6fa (bug 1177013)
Backed out changeset d0f5a3474659 (bug 1177013)
Backed out changeset bff9f07dad52 (bug 1177013)
2015-07-02 22:08:54 -07:00
Bill McCloskey
920221e2a6 Bug 1177013 - Avoid memory leaks when returning errors from IPC Send (r=dvander) 2015-07-02 17:18:12 -07:00
Bill McCloskey
9388d303ff Bug 1177013 - Telemetry for CPOW cancelation (r=dvander) 2015-07-02 17:18:11 -07:00
Bill McCloskey
dcb56f4a87 Bug 1177013 - Fix big IPC comment (r=dvander) 2015-07-02 17:18:11 -07:00
Bill McCloskey
516068d775 Bug 1177013 - Crash in IPC situations where we don't know what to do (r=dvander) 2015-07-02 17:18:11 -07:00
Bill McCloskey
eb6723d759 Bug 1177013 - Fix IPDL tests for not allowing CPOWs during sync (r=dvander) 2015-07-02 17:18:11 -07:00
Bill McCloskey
af77069eb7 Bug 1177013 - Use CancelCurrentTransaction to avoid crashes (r=dvander) 2015-07-02 17:18:10 -07:00
Bill McCloskey
dab95c906f Bug 1177013 - CancelCurrentTransaction IPC support (r=dvander) 2015-07-02 17:18:10 -07:00
Bill McCloskey
663e318ba8 Bug 1177013 - Don't allow prio messages while dispatching sync messages (r=dvander) 2015-07-02 17:18:09 -07:00
Bill McCloskey
efe9ba545e Bug 1177013 - Change IPC locking to get transaction ID correct (r=dvander) 2015-07-02 17:18:09 -07:00
Hamzata Diallo
9a79d7372b Bug 1178513 - Export libxul symbols needed by ACL. r=mattwoodrow 2015-07-02 15:19:35 -07:00
Hiroyuki Ikezoe
f948d626ac Bug 1178172 - Fix all compile errors in dom/base on non-unified build. r=baku 2015-07-01 15:56:00 +02:00
Bill McCloskey
2e6ec629ef Bug 1176096 - Ensure we don't do self-moves in move assignment (r=bent) 2015-07-01 13:30:49 -07:00
Ben Turner
8012bf3788 Backout 316c0601d7db (bug 1167431) for static analysis bustage on CLOSED TREE 2015-06-30 19:45:58 -07:00
Ben Turner
236fc43884 Bug 1167431 - Kill child processes that misuse PBackground, r=billm. 2015-06-30 18:55:53 -07:00
Carsten "Tomcat" Book
34fd9d36ba merge mozilla-inbound to mozilla-central a=merge 2015-06-30 13:23:01 +02:00
Jan de Mooij
61c36ee986 Bug 1177825 - Remove JSVAL_* constants. r=evilpie 2015-06-29 18:36:44 -07:00
Brad Lassey
cac3dbfe46 bug 1175898 - crash in mozilla::CrossProcessMutex::ShareToProcess(int) r=billm 2015-06-22 11:54:40 -04:00
Andrew McCreight
9cb0cb2187 Bug 886459, part 3 - Remove simple uses of nsIJSRuntimeService to get the JSRuntime. r=bholley 2015-06-26 18:44:14 -07:00
Botond Ballo
a606cf71b0 Bug 1178514 - Mark one-argument constructors in IPDL tests as 'explicit'. r=bent 2015-06-29 18:29:48 -04:00
Carsten "Tomcat" Book
58eda0534c merge b2g-inbound to mozilla-central a=merge 2015-06-26 11:46:20 +02:00
Thomas Zimmermann
338f781818 Bug 1173334: Open nfcd connections with socket type SOCK_SEQPACKET, allstars.chh
NFC requires sequential transfer of individual messages. Using the
socket type SOCK_SEQPACKET guarantees these properties.
2015-06-25 08:29:04 -07:00
Jan-Ivar Bruaroey
a1a14bc0d9 Bug 1173255 - Cleanup MediaManager e10s code in prep for deviceId constraint. r=jesup 2015-06-18 11:46:36 -04:00
Andrea Marchesini
4f991476c3 Bug 1176034 - MessagePort should force a close() if the structured clone algorithm fails, r=bent 2015-06-23 15:50:00 -07:00
Carsten "Tomcat" Book
695dba3d73 Backed out changeset 4f4ceae7be1a (bug 1176034) for frequent bustages in Windows 8 x64 debug 2015-06-24 10:11:07 +02:00
Andrea Marchesini
7882def155 Bug 1176034 - MessagePort should force a close() if the structured clone algorithm fails, r=bent 2015-06-23 15:50:00 -07:00
Christoph Kerschbaumer
49f2bed566 Bug 1175352 - Refactor LoadInfo arguments to be more self contained (r=bent) 2015-06-18 15:37:20 -07:00
Mike Conley
7768792cfa Bug 1175999 - Deallocate mach SharedMemory properly. r=blassey.
We were deallocating very small regions instead of the entire
region we had originally allocated. Mamma mia!
2015-06-18 13:57:51 -04:00
Andrea Marchesini
332a2ea9d0 Bug 911972 - MessagePort and MessageChannel in workers, r=smaug, r=bent 2015-06-17 11:44:27 +01:00
Brad Lassey
8f9aaea8ce bug 1161166 - Use mach shared memory for shared memory on OSX r=billm 2015-06-17 00:38:38 -04:00
Brad Lassey
2904241ed7 bug 1161166 - Move some implementation out of ipc headres to not include headres for EndianU32_* r=billm 2015-06-09 09:56:10 -04:00
Shelly Lin
da24650cb8 Bug 1113562 - Expected delay time of tasks should not be the latency of those kind. r=sinker 2015-06-16 10:57:19 +08:00
Thomas Zimmermann
32140d4795 Bug 1171017: Move classes from ipc/bluetooth to ipc/hal, r=shuang
The class |DaemonSocket| and its helpers implement a service-
neutral connection to a HAL daemon. This patch moves the code
to an appropriate directory and breaks up the code into smaller
pieces.
2015-06-15 14:44:03 +02:00
Thomas Zimmermann
71fc7e794d Bug 1171017: Rename |BluetoothDaemonConnection| to |DaemonSocket|, r=shuang 2015-06-15 14:44:03 +02:00
Thomas Zimmermann
8177366b2f Bug 1171017: Rename |BluetoothDaemonConnectionIO| to |DaemonSocketIO|, r=shuang 2015-06-15 14:44:03 +02:00
Thomas Zimmermann
7be824b9cb Bug 1171017: Rename |BluetoothSocketPDU| to |DaemonSocketPDU|, r=shuang 2015-06-15 14:44:03 +02:00
Thomas Zimmermann
d5f855eea8 Bug 1171017: Rename |BluetoothDaemonPDUConsumer| to |DaemonSocketIOConsumer|, r=shuang 2015-06-15 14:44:03 +02:00
Thomas Zimmermann
98654534cb Bug 1171017: Rename |BluetoothDaemonConnectionConsumer| to |DaemonSocketConsumer|, r=shuang 2015-06-15 14:44:03 +02:00
Markus Stange
3d2a268f1a Bug 971811 - Don't prepend an empty existing DYLD_INSERT_LIBRARIES path when launching the plugin. r=smichaud 2015-06-10 12:54:52 -04:00
Andrea Marchesini
0628a7464e Bug 1155153 - about:serviceworkers should work in e10s mode, r=nsm, r=bholley 2015-06-04 19:51:57 +01:00
Thomas Zimmermann
0976600ce3 Bug 1172479: Replace |nsIThread| by |MessageLoop| in socket I/O code, r=kmachulis
Dispatching events via |nsIThread| doesn't work with worker threads. This
patch replaces all uses of |nsIThread| in the socket code by equivalent
uses of |MessageLoop|.
2015-06-09 09:50:10 +02:00
Carsten "Tomcat" Book
5aa28582a3 Merge mozilla-central to b2g-inbound 2015-06-08 12:41:24 +02:00
Thomas Zimmermann
56ea3d0868 Bug 1170993: Manage socket buffers in sub-classes of |UnixSocketBuffer|, r=kmachulis
Different users of the socket I/O code have different requirements
for their I/O buffers. This patch moves the buffer management into
sub-classes of |UnixSocketBuffer|. Each of them can maintain memory
according to its needs.
2015-06-08 10:20:17 +02:00
Fredrik Lanker
0d1f71c55b Bug 1171464 - Check that socket isn't already closed before closing it, r=kmachulis
If we get a connection error, mSocket can end up being null in
RilConsumer::Close().
2015-06-05 09:18:07 +02:00
Andrew McCreight
299f877f7c Bug 1152079 - Remove Purify support files. r=froydnj 2015-06-06 14:37:59 -07:00
Andrew McCreight
0e99ae6de2 Bug 1169382 - Don't generate commented out NS_INTERFACE_CLASS or NS_ABSTRACT_CLASS in IPDL. r=billm 2015-06-06 14:37:59 -07:00
Mike Hommey
83384b7faf Bug 1166243 - Remove build() function from js and xpc shells. r=bholley,r=efaust 2015-06-04 13:59:47 +09:00
Eric Rahm
d1d059548e Bug 1165515 - Part 14: Undef PR_LOG macros when using mozilla/Logging.h. r=froydnj
Make it harder for users to accidentally reintroduce usage of the PR_LOG macros
when using 'mozilla/Logging.h'. This can still be worked around by directly
including 'prlog.h' (and not 'mozilla/Logging.h') if absolutely necessary.
2015-06-03 15:26:07 -07:00
Ryan VanderMeulen
e7e473d305 Merge inbound to m-c. a=merge 2015-06-03 15:55:09 -04:00
James Willcox
09d686b910 Bug 1141693 - Build and use a PIE plugin-container on Android 5.0+. Based on a patch by Mike Hommey. r=me,glandium 2015-06-03 10:26:16 -05:00
Andrea Marchesini
e04e3d90fe Bug 1162088 - patch 2 - ServiceWorkerManager should use OriginAttributes from the principal as scopeKey, r=nsm 2015-06-03 09:44:09 +01:00
Wes Kocher
6cbdb228c3 Merge b2ginbound to central, a=merge 2015-06-02 18:34:21 -07:00
Thomas Zimmermann
0f08e85d05 Bug 1168806: Use 'consumer thread' in socket interface, r=kmachulis
The socket IPC interfaces still use 'main thread' in a number of
places. This patch changes all such interfaces and documentation
to speak of 'consumer thread' instead.
2015-06-02 10:01:58 +02:00
Thomas Zimmermann
fb090327db Bug 1168806: Configurable consumer thread for socket IPC classes, r=kmachulis
The consumer thread handles socket creation, destruction, and
data processing for socket IPC. Traditionally this has been
done on the main thread.

This patch extends the socket IPC classes to support arbitrary
consumer threads. The thread is configured when establishing a
connection, and performs all of the above operations until the
socket is closed.
2015-06-02 10:01:57 +02:00
Thomas Zimmermann
d8e16014cd Bug 1168806: Configurable I/O thread for socket IPC classes, r=kmachulis
The I/O thread sends and receives data on a file descriptor. This
has traditionally been performed on a single I/O thread.

This patch extends the socket IPC classes to support arbitrary I/O
threads. The thread is configured when a connection is established
and used until the socket gets closed.
2015-06-02 10:01:57 +02:00
Randell Jesup
8c522e87ae Bug 1109338: Part 2: Sharing UDPSocket between PNecko and PBackground r=bent 2015-05-29 10:14:14 -04:00
Botond Ballo
fd5429189c Bug 1166583 - Move chromium's MakeTuple function into namespace 'base' to avoid conflicts with mozilla::MakeTuple. r=froydnj 2015-05-09 21:09:40 -05:00
Nicholas Nethercote
9d67749f4e Bug 1164374 - Use StaticMutex in BrowserProcessSubThread. r=froydnj.
This removes a static constructor.
2015-05-13 01:59:52 -07:00
Birunthan Mohanathas
cd748a7266 Bug 968520 - Add mozilla::fallible to FallibleTArray::AppendElement calls. r=froydnj 2015-05-28 11:07:44 -07:00
Birunthan Mohanathas
399e0c3be3 Bug 968520 - Add mozilla::fallible to FallibleTArray::AppendElements calls. r=froydnj 2015-05-28 11:07:43 -07:00
Ryan VanderMeulen
566c696fa6 Merge m-c to inbound. a=merge 2015-05-28 10:20:38 -04:00
Ryan VanderMeulen
97e1c5bc2f Merge inbound to m-c. a=merge 2015-05-28 10:03:07 -04:00
Wes Kocher
6a0d56dad0 Merge m-c to b2ginbound, a=merge CLOSED TREE 2015-05-27 17:23:19 -07:00
Thomas Zimmermann
c6bdc49f29 Bug 1167210: Replace |union sockaddr_any| with |struct sockaddr_storage|, r=kmachulis
Both types, |union sockaddr_any| and |struct sockaddr_storage|, provide
a sockaddr type that can hold any address. The latter is standardized by
POSIX, so we prefer it.
2015-05-27 13:49:07 +02:00
Thomas Zimmermann
60e9d4506b Bug 1167207: Remove |BluetoothDaemonChannel|, r=shuang
This patch integrates the functionality of |BluetoothDaemonChannel|
into |BluetoothDaemonConnection|. All users are adapted, the former
class is removed.
2015-05-26 18:29:02 +02:00
Thomas Zimmermann
1c18d62157 Bug 1167207: Add |BluetoothDaemonConnectionConsumer|, r=shuang
Instances of |BluetoothDaemonConnectionConsumer| handle socket events
for |BluetoothDaemonConnection|.
2015-05-26 18:29:01 +02:00
Wes Kocher
9caa6d53ca Merge m-c to inbound, a=merge CLOSED TREE 2015-05-26 16:25:11 -07:00
Botond Ballo
0fe06cffa0 Bug 1119980 - Use 'snprintf' instead of 'sprintf' to avoid a warning on Lollipop-based builds. r=froydnj 2015-05-26 14:33:55 -04:00
Thomas Zimmermann
f19339336d Bug 1166638: Use |ListenSocketConsumer| in |ListenSocket|, r=kmachulis, dlee, chucklee, shuang
This patch converts |ListenSocket| to forward events to an instance
of |ListenSocketConsumer|. All users are converted and the related
listener and consumer classes are removed.
2015-05-26 13:24:20 +02:00
Thomas Zimmermann
4e155b5c96 Bug 1166638: Add |ListenSocketConsumer|, r=kmachulis
|ListenSocketConsumer| receives events from a listening socket. It
unifies all existing consumer and listener classes of the socket I/O
users.
2015-05-26 13:24:20 +02:00
Thomas Zimmermann
70111c54d3 Bug 1166638: Use |StreamSocketConsumer| in |StreamSocket|, r=kmachulis, dlee, chucklee, htsai
This patch converts |StreamSocket| to forward events and data to an
instance of |StreamSocketConsumer|. All users are converted and the
related listener and consumer classes are removed.
2015-05-26 13:24:20 +02:00
Thomas Zimmermann
eb0aaf349d Bug 1166638: Add |StreamSocketConsumer|, r=kmachulis
|StreamSocketConsumer| receives events and data from a stream
socket. It unifies all existing consumer and listener classes
of the socket I/O users.
2015-05-26 13:24:19 +02:00
Lee Salzman
815c3fd3c6 Bug 1168843 - use thread-safe refcounting for shared memory surfaces to avoid shutdown crashes. r=jmuizelaar 2015-05-27 11:20:26 -04:00
Michael Layzell
2635954b4f Bug 1167396 - Make ProtocolCloneContext::mContentParent a smart pointer. r=bent 2015-05-22 10:10:00 -04:00
Phil Ringnalda
2ef8dd913d Back out 7842a044a183 (bug 1167431) for widespread bustage
CLOSED TREE
2015-05-22 18:53:41 -07:00
Ben Turner
9003fabca7 Bug 1167431 - 'Properly clean up actors whose RecvFooConstructor method returns false', r=billm. 2015-05-22 16:10:02 -07:00
Nathan Froyd
7941bd83f4 Bug 1170656 - remove tabs from moz.build files; r=me
DONTBUILD because whitespace-only fix.
2015-05-04 08:20:33 -04:00
Cervantes Yu
0c5e524a5b Bug 1151672 - Part 2: Block PHal::Msg_NotifyNetworkChange__ID to the Nuwa process after it is ready. r=khuey 2015-05-22 15:08:20 +08:00
Thomas Zimmermann
5362ed1bf6 Bug 1164417: Add |ConnectionOrientedSocket::PrepareAccept| for accepting socket connections, r=kmachulis
With this patch, stream and listening sockets handle the setup of
accepted sockets internally. Sub-classes of |StreamSocket| don't
have to overload StreamSocket's |GetIO| any longer.
2015-05-21 13:34:37 +02:00
Thomas Zimmermann
e5eabe4c03 Bug 1164417: Store PDU consumer in |BluetoothDaemonConnection|, r=kmachulis 2015-05-21 13:34:37 +02:00
Thomas Zimmermann
25b408e533 Bug 1164417: Add |UnixSocketConnector::Duplicate|, r=kmachulis
The new method |UnixSocketConnector::Duplicate| allows a socket
connector to duplicate itself. Listening sockets will used this
feature to create socket connectors for accepted connections.
2015-05-21 13:34:37 +02:00
Carsten "Tomcat" Book
df805f488e merge mozilla-inbound to mozilla-central a=merge 2015-05-20 15:52:31 +02:00
Carsten "Tomcat" Book
fbdda6c048 merge b2g-inbound to mozilla-central a=merge 2015-05-20 15:31:22 +02:00
Thomas Zimmermann
a6af9eebbe Bug 1164425: Cleanup interfaces of |BluetoothDaemonConnection|, r=shuang
Bluetooth never actively opens a connection to the daemon, so this
patch removes the connect functionality.
2015-05-20 10:50:43 +02:00
Thomas Zimmermann
8fb67a5055 Bug 1164425: Cleanup interfaces of |ListenSocket|, r=kmachulis
This patch removes |ListenSocket::GetSocketAddr|, which is unused
and not thread-safe. The |Listen| methods now return error codes.
2015-05-20 10:50:43 +02:00
Thomas Zimmermann
4ae7a8c07b Bug 1164425: Cleanup interfaces of |StreamSocket|, r=kmachulis
This patch cleans up the interface of |StreamSocket|. All arguments
that contain protocol parameters are removed from |Connect|. They are
stored in the connector class. |Connect| now returns error codes. The
method |GetSocketAddr| is unused and not thread-safe and therefore
removed. The method |SendSocketData| for strings is unused and removed.
2015-05-20 10:50:43 +02:00
Thomas Zimmermann
797b11df18 Bug 1164425: Rename |SocketBase::CloseSocket| to |SocketBase::Close|, r=kmachulis 2015-05-20 10:50:43 +02:00
Carsten "Tomcat" Book
c89b0c098f Backed out changeset 1e93024c9fec (bug 1164425) for bustage 2015-05-20 10:31:55 +02:00
Carsten "Tomcat" Book
e62550b3f7 Backed out changeset 2fd186d1a288 (bug 1164425) 2015-05-20 10:31:09 +02:00
Carsten "Tomcat" Book
70b8a9bab5 Backed out changeset 17bd0777339a (bug 1164425) 2015-05-20 10:30:55 +02:00
Carsten "Tomcat" Book
d68a12a808 Backed out changeset 97ccb9e0cefb (bug 1164425) 2015-05-20 10:30:41 +02:00
Thomas Zimmermann
a33e8e4d7d Bug 1164425: Cleanup interfaces of |BluetoothDaemonConnection|, r=shuang
Bluetooth never actively opens a connection to the daemon, so this
patch removes the connect functionality.
2015-05-20 09:54:27 +02:00
Thomas Zimmermann
60a59f574c Bug 1164425: Cleanup interfaces of |ListenSocket|, r=kmachulis
This patch removes |ListenSocket::GetSocketAddr|, which is unused
and not thread-safe. The |Listen| methods now return error codes.
2015-05-20 09:54:27 +02:00