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

2935 Коммитов

Автор SHA1 Сообщение Дата
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
Andrea Marchesini 7eb389d760 Bug 1188776 - Remove appId/isInBrowserElement from BroadcastChannel. r=bholley 2015-07-29 06:56:00 -04:00
Ryan VanderMeulen 7c486ed4c2 Merge inbound to m-c. a=merge 2015-07-30 16:08:21 -04:00
Thomas Zimmermann 518504fa87 Bug 1187249: Move Bluetooth init operators to ipc/hal, r=shuang 2015-07-30 10:34:51 +02:00
Thomas Zimmermann 59844436d8 Bug 1183249: Move PDU helper functions to ipc/hal, r=shuang 2015-07-30 10:34:51 +02:00
Thomas Zimmermann 2a71f700c8 Bug 1187249: Move |DaemonSocketPDUHeader| to hal/ipc, r=shuang 2015-07-30 10:34:51 +02:00
Bob Owen 77826e3c4a 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 97b9240b34 Bug 1188696 - Hoist nsRefPtr.h into MFBT. r=froydnj 2015-07-29 10:44:59 -07:00
Aaron Klotz 1074da1019 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 56131e371e Bug 1188211 - Fix more constructors in IPC; r=billm 2015-07-28 08:53:31 -04:00
David Anderson c722fa544d Add default initializers for primitive fields in IPDL structs. (bug 1154522, r=billm) 2015-07-28 00:02:10 -07:00
Mike Hommey 6a956c6f97 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 cbf28fb149 Merge m-c to inbound. a=merge 2015-07-27 16:06:20 -04:00
Ryan VanderMeulen 555a3164b2 Backed out changeset b2d0e28fe539 (bug 1185639) test_plugin_focus.html timeouts. 2015-07-27 16:06:03 -04:00
Andrew McCreight ef6d1e9493 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 5e0cb1c026 Bug 1185639: Allow deferred message processing to happen between consecutive IPC message dispatches; r=jimm
--HG--
extra : rebase_source : e6567ce8fa5c663970862a9b93c82464b2429250
2015-07-21 01:21:51 -06:00
Thomas Zimmermann 30f976ec15 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 d84cdb4785 Backed out changeset fa4f742c5c11 (bug 1187230) for bustage on a CLOSED TREE 2015-07-24 15:42:39 +02:00
Thomas Zimmermann f64a6dcafc 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 88a9b35787 Bug 1186025. Optimize the usage of regions. r=mstange
This eliminates a bad idiom in some places.

--HG--
extra : rebase_source : 362b6e88e074888ded8a02f930d5ffbf1e31ec86
2015-07-21 10:54:44 -04:00
Thomas Zimmermann 2eb3afa0bc 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 7a8e54aa54 Bug 1185478: Add leak checks to socket I/O classes 2015-07-21 08:06:29 +02:00
Christoph Kerschbaumer bf53f62d80 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 c0cc3c5614 Bug 1175803 - Store redirect chain within loadInfo - part 1 (r=sicking,mayhemer) 2015-07-19 19:11:03 -07:00
Thomas Zimmermann 4f2b82dc26 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 698488b2bb 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 72ca5b691e Bug 1171994: Store an instance of |RilWorker| for each RIL connection, r=htsai 2015-07-17 12:10:01 +02:00
Thomas Zimmermann 09dca3ba49 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 892060a564 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 1745079bef 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.

--HG--
rename : ipc/unixsocket/StreamSocket.cpp => ipc/ril/RilSocket.cpp
rename : ipc/unixsocket/StreamSocket.h => ipc/ril/RilSocket.h
rename : ipc/unixsocket/StreamSocketConsumer.cpp => ipc/ril/RilSocketConsumer.cpp
rename : ipc/unixsocket/StreamSocketConsumer.h => ipc/ril/RilSocketConsumer.h
2015-07-17 12:10:01 +02:00
Bill McCloskey d46d9878a8 Bug 1177013 - Bug fixes for CPOW cancelation (r=dvander) 2015-07-15 14:37:11 -07:00
Bill McCloskey 2f9787183c Bug 1128454 - Fix IPDL test (r=jimm) 2015-07-15 14:30:05 -07:00
Jim Mathies a1ff6f2c30 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 4e75963b27 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 521aacc980 Merge b2ginbound to central, a=merge 2015-07-14 15:25:44 -07:00
Thomas Zimmermann e1e848a9e6 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 3f35b46744 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 9895680c80 Bug 1171994: Store an instance of |RilWorker| for each RIL connection, r=htsai 2015-07-14 16:57:00 +02:00
Thomas Zimmermann 835d65357d 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 a5bb7ddc87 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 8456e46163 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.

--HG--
rename : ipc/unixsocket/StreamSocket.cpp => ipc/ril/RilSocket.cpp
rename : ipc/unixsocket/StreamSocket.h => ipc/ril/RilSocket.h
rename : ipc/unixsocket/StreamSocketConsumer.cpp => ipc/ril/RilSocketConsumer.cpp
rename : ipc/unixsocket/StreamSocketConsumer.h => ipc/ril/RilSocketConsumer.h
2015-07-14 16:57:00 +02:00
Christoph Kerschbaumer c255f4187b Bug 1179505 - Make LoadInfo arguments optional in ipdl (r=bent,sicking) 2015-07-13 22:43:13 -07:00
Birunthan Mohanathas a8939590de 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 7685654149 Bug 1139297 - Implement CSP upgrade-insecure-requests directive - loadinfo changes (r=sicking,sworkman)
--HG--
extra : rebase_source : 3582ac42bcd0cc0dee332505880c2a65d87964eb
2015-07-10 13:57:55 -07:00
Jim Mathies 9a5c8328b9 Bug 1128454 - Add crash report annotations for plugin bridge operation failures. r=billm 2015-07-09 19:07:49 -05:00
Aaron Klotz 96e16361c2 Bug 1170231: Part 2 - Regression test for IPC race mediation deadlock; r=dvander
--HG--
extra : rebase_source : e640fb691b0465d3679a61e4e97ab1eaf401fb5d
extra : histedit_source : 957a33f528c95f6badf311f1a9763018c219eabc
2015-06-07 22:08:56 -06:00
Aaron Klotz 7649b5e4d2 Bug 1170231: Part 1 - Remove condition that may cause deadlock in IPC when mediating interrupt races; r=dvander
--HG--
extra : rebase_source : 21c89d04308650e5529be3d085492cf9b97a1f7e
extra : histedit_source : 3325249d22394c6d919c46d67c66e0b0bb7f080a
2015-06-26 11:01:26 -07:00
Ryan VanderMeulen de7e734bc6 Merge m-c to inbound. a=merge
CLOSED TREE
2015-07-07 13:38:10 -04:00
Cervantes Yu 9335f69953 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 258ad59e3f Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-07-03 18:29:00 -07:00
Dragana Damjanovic 7987d2203e Bug 905127 - Part 2 - remove unnecessary nsNetUtil.h includes r=jduell 2015-07-06 07:55:00 +02:00
Emanuel Hoogeveen 7d1e52f2ff Bug 905127 - Part 1 - Make some functions from nsNetUtil not inline. r=jduell 2015-07-07 04:17:00 +02:00
Bill McCloskey 5a4480fbd2 Bug 1177013 - Avoid memory leaks when returning errors from IPC Send (r=dvander) 2015-07-06 19:58:46 -07:00
Bill McCloskey be0af84bba Bug 1177013 - Telemetry for CPOW cancelation (r=dvander) 2015-07-06 19:58:46 -07:00
Bill McCloskey a6bf5dd949 Bug 1177013 - Fix big IPC comment (r=dvander) 2015-07-06 19:58:45 -07:00
Bill McCloskey 73129c2b81 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 14899230b3 Bug 1177013 - Fix IPDL tests for not allowing CPOWs during sync (r=dvander) 2015-07-06 19:58:45 -07:00
Bill McCloskey 43786e09b5 Bug 1177013 - Use CancelCurrentTransaction to avoid crashes (r=dvander) 2015-07-06 19:58:44 -07:00
Bill McCloskey 64b777ec3f Bug 1177013 - CancelCurrentTransaction IPC support (r=dvander) 2015-07-06 19:58:44 -07:00
Bill McCloskey fe7eba5f60 Bug 1177013 - Don't allow prio messages while dispatching sync messages (r=dvander) 2015-07-06 19:58:43 -07:00
Bill McCloskey 541869bf48 Bug 1177013 - Change IPC locking to get transaction ID correct (r=dvander) 2015-07-06 19:58:42 -07:00
Andrea Marchesini 4ae7941574 Bug 1165270 - Use origin for BroadcastChannel, r=bholley 2015-07-06 19:28:41 +01:00
Phil Ringnalda 166cfe8460 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 37a31058b1 Bug 1177013 - Avoid memory leaks when returning errors from IPC Send (r=dvander) 2015-07-02 17:18:12 -07:00
Bill McCloskey 43fd180e15 Bug 1177013 - Telemetry for CPOW cancelation (r=dvander) 2015-07-02 17:18:11 -07:00
Bill McCloskey b6bec6d887 Bug 1177013 - Fix big IPC comment (r=dvander) 2015-07-02 17:18:11 -07:00
Bill McCloskey 7869156360 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 af8a362eba Bug 1177013 - Fix IPDL tests for not allowing CPOWs during sync (r=dvander) 2015-07-02 17:18:11 -07:00
Bill McCloskey 72a845c0e6 Bug 1177013 - Use CancelCurrentTransaction to avoid crashes (r=dvander) 2015-07-02 17:18:10 -07:00
Bill McCloskey 44dfabe655 Bug 1177013 - CancelCurrentTransaction IPC support (r=dvander) 2015-07-02 17:18:10 -07:00
Bill McCloskey db93151932 Bug 1177013 - Don't allow prio messages while dispatching sync messages (r=dvander) 2015-07-02 17:18:09 -07:00
Bill McCloskey bfbc982009 Bug 1177013 - Change IPC locking to get transaction ID correct (r=dvander) 2015-07-02 17:18:09 -07:00
Hamzata Diallo 3f61ec7708 Bug 1178513 - Export libxul symbols needed by ACL. r=mattwoodrow
--HG--
extra : rebase_source : 77ebb8e1195c0e2570dbf5dbee54edfa5ecdab28
2015-07-02 15:19:35 -07:00
Hiroyuki Ikezoe 77bcec5ebd 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 b053e2eeeb Bug 1176096 - Ensure we don't do self-moves in move assignment (r=bent) 2015-07-01 13:30:49 -07:00
Ben Turner deac9a30cd Backout 316c0601d7db (bug 1167431) for static analysis bustage on CLOSED TREE 2015-06-30 19:45:58 -07:00
Ben Turner afd0c9b63e Bug 1167431 - Kill child processes that misuse PBackground, r=billm. 2015-06-30 18:55:53 -07:00
Carsten "Tomcat" Book 0c6816aaea merge mozilla-inbound to mozilla-central a=merge 2015-06-30 13:23:01 +02:00
Jan de Mooij 976586cb5f Bug 1177825 - Remove JSVAL_* constants. r=evilpie 2015-06-29 18:36:44 -07:00
Brad Lassey ba0489a424 bug 1175898 - crash in mozilla::CrossProcessMutex::ShareToProcess(int) r=billm 2015-06-22 11:54:40 -04:00
Andrew McCreight 10dd21a3ef 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 5042cc24cd Bug 1178514 - Mark one-argument constructors in IPDL tests as 'explicit'. r=bent
--HG--
extra : source : 90e22606e13f4b8bdfd2cf74b0f81d7a94c99dee
2015-06-29 18:29:48 -04:00
Carsten "Tomcat" Book 1add4546d4 merge b2g-inbound to mozilla-central a=merge 2015-06-26 11:46:20 +02:00
Thomas Zimmermann c9da785375 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 d4bc9fa237 Bug 1173255 - Cleanup MediaManager e10s code in prep for deviceId constraint. r=jesup
--HG--
extra : amend_source : 057f17d55cd44a700abab5595c9f4fc95cfd2419
extra : transplant_source : %B7%5C%7D%FA%E9%3F%29%F9%EBM%9E%B5%1A%A6G%29%25%01%0E-
extra : histedit_source : a10d0d5106f5fffb3881604728c1933c90772622%2Cdf022706033cb19f87a8dd58376ab7800d9d2526
2015-06-18 11:46:36 -04:00
Andrea Marchesini 6713cdfbc5 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 fa9ac90dde Backed out changeset 4f4ceae7be1a (bug 1176034) for frequent bustages in Windows 8 x64 debug 2015-06-24 10:11:07 +02:00
Andrea Marchesini 676a802cc7 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 4e803ed392 Bug 1175352 - Refactor LoadInfo arguments to be more self contained (r=bent) 2015-06-18 15:37:20 -07:00
Mike Conley b3c0eb0b34 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!

--HG--
extra : commitid : KlEr9q3Lnxj
extra : rebase_source : d72c362347354a7384790788e0e48feba0dbe69a
2015-06-18 13:57:51 -04:00
Andrea Marchesini 8372e7d29d Bug 911972 - MessagePort and MessageChannel in workers, r=smaug, r=bent
--HG--
rename : dom/base/MessageChannel.cpp => dom/messagechannel/MessageChannel.cpp
rename : dom/base/MessageChannel.h => dom/messagechannel/MessageChannel.h
rename : dom/base/MessagePort.cpp => dom/messagechannel/MessagePort.cpp
rename : dom/base/MessagePort.h => dom/messagechannel/MessagePort.h
rename : dom/base/MessagePortList.cpp => dom/messagechannel/MessagePortList.cpp
rename : dom/base/MessagePortList.h => dom/messagechannel/MessagePortList.h
rename : dom/base/test/iframe_messageChannel_chrome.html => dom/messagechannel/tests/iframe_messageChannel_chrome.html
rename : dom/base/test/iframe_messageChannel_cloning.html => dom/messagechannel/tests/iframe_messageChannel_cloning.html
rename : dom/base/test/iframe_messageChannel_pingpong.html => dom/messagechannel/tests/iframe_messageChannel_pingpong.html
rename : dom/base/test/iframe_messageChannel_post.html => dom/messagechannel/tests/iframe_messageChannel_post.html
rename : dom/base/test/test_messageChannel.html => dom/messagechannel/tests/test_messageChannel.html
rename : dom/base/test/test_messageChannel.xul => dom/messagechannel/tests/test_messageChannel.xul
rename : dom/base/test/test_messageChannel_cloning.html => dom/messagechannel/tests/test_messageChannel_cloning.html
rename : dom/base/test/test_messageChannel_pingpong.html => dom/messagechannel/tests/test_messageChannel_pingpong.html
rename : dom/base/test/test_messageChannel_post.html => dom/messagechannel/tests/test_messageChannel_post.html
rename : dom/base/test/test_messageChannel_pref.html => dom/messagechannel/tests/test_messageChannel_pref.html
rename : dom/base/test/test_messageChannel_start.html => dom/messagechannel/tests/test_messageChannel_start.html
rename : dom/base/test/test_messageChannel_transferable.html => dom/messagechannel/tests/test_messageChannel_transferable.html
rename : dom/base/test/test_messageChannel_unshipped.html => dom/messagechannel/tests/test_messageChannel_unshipped.html
2015-06-17 11:44:27 +01:00
Brad Lassey afc6a1e13f bug 1161166 - Use mach shared memory for shared memory on OSX r=billm
--HG--
rename : ipc/glue/SharedMemoryBasic_android.cpp => ipc/glue/SharedMemoryBasic_mach.cpp
rename : ipc/glue/SharedMemoryBasic_android.h => ipc/glue/SharedMemoryBasic_mach.h
2015-06-17 00:38:38 -04:00
Brad Lassey 456bd3e0d5 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 4eff0a1842 Bug 1113562 - Expected delay time of tasks should not be the latency of those kind. r=sinker
--HG--
extra : rebase_source : b5e012fb6570e87270a0924fbe395dc56e6242ec
2015-06-16 10:57:19 +08:00
Thomas Zimmermann 3126a07df4 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.

--HG--
rename : ipc/bluetooth/BluetoothDaemonConnection.cpp => ipc/hal/DaemonSocket.cpp
rename : ipc/bluetooth/BluetoothDaemonConnection.h => ipc/hal/DaemonSocket.h
rename : ipc/bluetooth/BluetoothDaemonConnectionConsumer.cpp => ipc/hal/DaemonSocketConsumer.cpp
rename : ipc/bluetooth/BluetoothDaemonConnectionConsumer.h => ipc/hal/DaemonSocketConsumer.h
rename : ipc/bluetooth/moz.build => ipc/hal/moz.build
2015-06-15 14:44:03 +02:00
Thomas Zimmermann 41d8f3ac72 Bug 1171017: Rename |BluetoothDaemonConnection| to |DaemonSocket|, r=shuang 2015-06-15 14:44:03 +02:00
Thomas Zimmermann 21133b1b76 Bug 1171017: Rename |BluetoothDaemonConnectionIO| to |DaemonSocketIO|, r=shuang 2015-06-15 14:44:03 +02:00
Thomas Zimmermann 160760d61d Bug 1171017: Rename |BluetoothSocketPDU| to |DaemonSocketPDU|, r=shuang 2015-06-15 14:44:03 +02:00
Thomas Zimmermann 4a2cc0e217 Bug 1171017: Rename |BluetoothDaemonPDUConsumer| to |DaemonSocketIOConsumer|, r=shuang 2015-06-15 14:44:03 +02:00
Thomas Zimmermann de38317b09 Bug 1171017: Rename |BluetoothDaemonConnectionConsumer| to |DaemonSocketConsumer|, r=shuang 2015-06-15 14:44:03 +02:00
Markus Stange 48b3c7e7c8 Bug 971811 - Don't prepend an empty existing DYLD_INSERT_LIBRARIES path when launching the plugin. r=smichaud
--HG--
extra : rebase_source : 29048fe746e97b693ef4d1b3f87a531eab9dc0a4
extra : histedit_source : ecbe309757878f56b5b23d0fc5533e1405d5604a
2015-06-10 12:54:52 -04:00
Andrea Marchesini dcdcd94a06 Bug 1155153 - about:serviceworkers should work in e10s mode, r=nsm, r=bholley 2015-06-04 19:51:57 +01:00
Thomas Zimmermann da8f73f148 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 72bb8e2d41 Merge mozilla-central to b2g-inbound 2015-06-08 12:41:24 +02:00
Thomas Zimmermann 47adcb976c 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 5c12ebb9b7 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 2a29c287a6 Bug 1152079 - Remove Purify support files. r=froydnj 2015-06-06 14:37:59 -07:00
Andrew McCreight 470cef59ea 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 1ec5ee71e9 Bug 1166243 - Remove build() function from js and xpc shells. r=bholley,r=efaust 2015-06-04 13:59:47 +09:00
Eric Rahm 518166f0c8 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 2b848889f8 Merge inbound to m-c. a=merge 2015-06-03 15:55:09 -04:00
James Willcox 1ce3362cf0 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 8adec8a2d4 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 afcb980583 Merge b2ginbound to central, a=merge 2015-06-02 18:34:21 -07:00
Thomas Zimmermann 974a0b5beb 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 7c1faa403c 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 100bf3cb9c 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 556337fa7c Bug 1109338: Part 2: Sharing UDPSocket between PNecko and PBackground r=bent 2015-05-29 10:14:14 -04:00
Botond Ballo e517cc3f1e Bug 1166583 - Move chromium's MakeTuple function into namespace 'base' to avoid conflicts with mozilla::MakeTuple. r=froydnj
--HG--
extra : source : 2258a91d5781efe8e1d5f92f64ff173412705274
2015-05-09 21:09:40 -05:00
Nicholas Nethercote 5eb694dc49 Bug 1164374 - Use StaticMutex in BrowserProcessSubThread. r=froydnj.
This removes a static constructor.

--HG--
extra : rebase_source : 4ed2f222517263616ffd15719f254b9715887681
2015-05-13 01:59:52 -07:00
Birunthan Mohanathas 180b572edb Bug 968520 - Add mozilla::fallible to FallibleTArray::AppendElement calls. r=froydnj 2015-05-28 11:07:44 -07:00
Birunthan Mohanathas 470bd9148f Bug 968520 - Add mozilla::fallible to FallibleTArray::AppendElements calls. r=froydnj 2015-05-28 11:07:43 -07:00
Ryan VanderMeulen 683b08ae37 Merge m-c to inbound. a=merge 2015-05-28 10:20:38 -04:00
Ryan VanderMeulen a232cd6cae Merge inbound to m-c. a=merge 2015-05-28 10:03:07 -04:00
Wes Kocher 0801283501 Merge m-c to b2ginbound, a=merge CLOSED TREE 2015-05-27 17:23:19 -07:00
Thomas Zimmermann 621428ac80 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 f6aa576d06 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 3d2eac5a25 Bug 1167207: Add |BluetoothDaemonConnectionConsumer|, r=shuang
Instances of |BluetoothDaemonConnectionConsumer| handle socket events
for |BluetoothDaemonConnection|.
2015-05-26 18:29:01 +02:00
Wes Kocher fd401f9e9b Merge m-c to inbound, a=merge CLOSED TREE 2015-05-26 16:25:11 -07:00
Botond Ballo 2e2a504271 Bug 1119980 - Use 'snprintf' instead of 'sprintf' to avoid a warning on Lollipop-based builds. r=froydnj
--HG--
extra : source : 7468f9a3aa03520a29e138d4df431f0b5d90967c
2015-05-26 14:33:55 -04:00
Thomas Zimmermann f9ce4741fd 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 636ed53a74 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 d24dddee86 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 5a8451674e 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 98b5eb1f42 Bug 1168843 - use thread-safe refcounting for shared memory surfaces to avoid shutdown crashes. r=jmuizelaar
--HG--
extra : rebase_source : d12172cf16ee64e72882cae2f72a1bbf74ff464f
2015-05-27 11:20:26 -04:00
Michael Layzell 4dc87f0a9b Bug 1167396 - Make ProtocolCloneContext::mContentParent a smart pointer. r=bent 2015-05-22 10:10:00 -04:00
Phil Ringnalda 198fda1fe8 Back out 7842a044a183 (bug 1167431) for widespread bustage
CLOSED TREE
2015-05-22 18:53:41 -07:00
Ben Turner a53a3243ec Bug 1167431 - 'Properly clean up actors whose RecvFooConstructor method returns false', r=billm. 2015-05-22 16:10:02 -07:00
Nathan Froyd eac3452d78 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 686678cef7 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