Commit Graph

286 Commits

Author SHA1 Message Date
Chris Jones
7a70d6f9c4 bug 533034: fix race condition that led to use-after-free. thanks valgrind! 2009-12-07 00:04:00 -06:00
Chris Jones
6e91459a40 bug 532983: fix invalid memory reads caused by regressions in shutdown behavior. r=bsmedberg 2009-12-07 00:03:49 -06:00
Chris Jones
0b9d5b4132 Fix MSVC warning 2009-12-04 16:27:59 -06:00
Chris Jones
ef2a387ab8 bug 523175: follow-up to 82549dbf71d8, fully enables the C++/IPDL side of Shmem and adds unit tests. r=bent 2009-12-04 12:45:21 -06:00
Chris Jones
96d13f9099 bug 523174: add a higher-level Shmem class that implements exclusive access rights between parent/child actors and does over/underflow checking. (Also adds a stop-gap lower-level SharedMemory class in lieu of bug 523172.) r=joedrew 2009-12-04 12:45:15 -06:00
Chris Jones
4572a1920a bug 529005: detect child process shutdowns vs. crashes, and expose this information to IPDL actors in a new |ActorDestroy(why)| interface. also ensure that subprotocol actors are notified of shutdown and cleaned up properly. r=bsmedberg r=bent 2009-12-03 02:16:28 -06:00
Chris Jones
2898ebbb12 bug 525172: from IPDL specs generate .cpp files with method definitions instead of everything in .h files. r=bsmedberg 2009-12-03 02:16:09 -06:00
Chris Jones
5a85bd72bf bug 525483: simple check for IPDL actor use-after-free. also refactors some error handling code 2009-12-03 02:16:03 -06:00
Ben Turner
43fec0c5cf Add WM_MOUSEACTIVATE to list of deferred messages 2009-12-02 18:51:29 -08:00
Ben Turner
4c2c017389 Add WM_CAPTURECHANGED to the list of delayed messages. 2009-12-01 15:09:33 -08:00
Ben Turner
fe230a0d56 Fix PostDelayedTask in the message loop 2009-11-23 16:01:12 -05:00
Benjamin Smedberg
593c06cd8c Do full shutdown, instead of _exit(0) shutdown in the plugin process when we're doing leak checking. 2009-11-20 13:49:15 -05:00
Chris Jones
27e7412d40 bug 529234: make sure to cleanup child processes 2009-11-19 13:03:30 -06:00
Ben Turner
fcac19872d Bug 526361 - 'Defer nonqueued messages received during synchronous IPC calls'. r=jimm+rs. 2009-11-18 15:18:08 -08:00
Josh Matthews
2414bcabb4 Bug 517963 - New-tab opening should not launch the content process synchronously r=cjones 2009-11-18 16:43:53 -05:00
Ben Turner
b579e4a306 Bug 528144 - 'Missing IPC messages cause hang during xpcshell test' 2009-11-17 15:34:48 -08:00
Ben Turner
6a8386c605 Fix bustage 2009-11-12 14:46:29 -08:00
Ben Turner
cafe07f11b Bug 525792 - 'Fix leaks running mochitests'. 2009-11-12 14:16:54 -08:00
Chris Jones
0807e5c7e2 bug 527871: fix shutdown assertion and leaking TestShellParent. still leaking ContentProcessParent's GeckoChildProcess, but needs discussion before fixing 2009-11-11 02:34:08 -06:00
Phineas T. Farnsworth
c1f7d557dc bug 526626: band-aids for shutdown assertions 2009-11-09 16:56:55 -06:00
Ben Turner
b7ad07e8c6 Bustage fix 2009-11-06 16:22:54 -08:00
Chris Jones
f0b32f7472 fix linux build 2009-11-06 17:51:04 -06:00
Ben Turner
d1a97dd911 Bug 522414 - 'RPC and Sync channels will deadlock easily on Windows'. r=jimm+rs. 2009-11-06 14:33:12 -08:00
Chris Jones
5ba83387ef bug 526990: add support for serializing |float|s. no r=, trivial 2009-11-06 14:24:35 -06:00
Chris Jones
721479dcd3 bug 523894: wstrings are bad news in OPT builds due to chromium/Mozilla -fshort-wchar mismatch 2009-11-05 18:24:27 -06:00
Chris Jones
f1358e3105 bug 525792: fix leaking PluginModules, call NP_Shutdown() on plugins. minor, no r= 2009-11-03 15:37:07 -06:00
Chris Jones
0b6a5999de attempt to fix build 2009-10-29 12:50:28 -05:00
Chris Jones
6f92260e03 build fix 2009-10-27 22:31:04 -05:00
Chris Jones
4f942a96f2 bug 523761: give top-level IPDL actors handles to each others' processes. r=bent 2009-10-27 16:52:37 -05:00
Chris Jones
963eacd704 bug 524767: add better error logging to *Channel. no r?, logging only 2009-10-27 16:32:55 -05:00
Chris Jones
8cb71b94bf bug 518914: make sure that Messages are fully deserialized. fix fencepost error in chromium code 2009-10-19 16:06:13 -05:00
Chris Jones
373c019990 bug 521324: call the multi-threaded GLib initialization function. r=karlt 2009-10-19 11:28:42 -05:00
Chris Jones
a0897fc29d bug 521845: expand protocol space by 4x (temporarily) 2009-10-12 14:04:40 -05:00
Chris Jones
024372f081 fix bugs in RPC race resolution 2009-10-09 01:21:39 -05:00
Chris Jones
264a18bfdc hack around lack of C99 format specifiers on Windows 2009-10-08 18:07:24 -05:00
Chris Jones
0f4bfc1b8d followup to RPC race resolution --- convert RPC_DEBUGABORT into RPC_ASSERT, and pre-emptively fix potential spurious race detector alarms 2009-10-08 17:41:18 -05:00
Chris Jones
6c79e4bbd2 add racy RPC resolution. also add better debugging info and fix two shared-memory-race bugs. 2009-10-08 16:44:43 -05:00
Ben Turner
d8f6fca3ab Add threadsafety assertions to plugin code 2009-10-08 12:11:13 -07:00
Chris Jones
3ecb69991d fix sync/RPC deadlock bug that came to me in a dream. r=mr.sandman 2009-09-22 10:23:29 -05:00
Chris Jones
d484a65e38 bug 517923: support serializing ns*Strings that represent NULL, use this mechanism in PluginInstanceParent/PluginModuleChild. also add basic crash-handling to *Channel code and some NS_OVERRIDE annotations. 2009-09-21 21:02:15 -05:00
Chris Jones
8ef0c1d0d8 bug 516798: fix busted actor-as-return-value handling in IPDL 2009-09-16 21:49:41 -05:00
Ben Turner
4c2446fda0 Fix recursive locking when unblocking an RPC channel for a sync message and add minimal error handling for sync messages. 2009-09-14 13:00:31 -07:00
Ben Turner
c8cd3d9e05 Fix nsTArray deserialization 2009-09-14 12:58:33 -07:00
Chris Jones
eac97adcbe unblock RPC waiters for async messages, for realz 2009-09-11 02:28:09 -05:00
Chris Jones
f628e59149 fix bug introduced by d0d751ed8c3e where receiving multiple async messages while awaiting an RPC reply could screw things up. async messages no longer unblock RPC waiters. 2009-09-11 01:05:42 -05:00
Chris Jones
88d2f89607 make RPC unblock for async and sync, as it supposed to have 2009-09-10 18:54:37 -05:00
Ben Turner
0f1d5c36a0 Force child processes to close and wait for them on shutdown 2009-09-02 17:18:27 -07:00
Ben Turner
a8e29d16e8 Basic xpcshell test for testing IPDL 2009-09-01 15:17:24 -07:00
Chris Jones
7ede298e42 bug 513920: synchronously "connect" to parent process from child process 2009-09-01 11:27:09 -05:00
Ben Turner
7821c5b1ba Rework chromium initialization, r=beast 2009-08-28 12:46:21 -07:00
Ben Turner
7c25b1ea27 Backing out stuff that doesn't work 2009-08-27 16:05:38 -07:00
Ben Turner
5b7e1a569b Fix build bustage? 2009-08-27 15:54:05 -07:00
Ben Turner
e4dd7bb6ff Rework chromium initialization, revert accidental change 2009-08-27 14:17:01 -07:00
Ben Turner
8e88b405d2 Rework chromium initialization 2009-08-27 14:11:10 -07:00
Ben Turner
1521c7b109 Fix testshell to use the new callback commands, and shut down properly 2009-08-25 16:07:22 -07:00
Robin Bate Beorop
b7c4e982b3 Bug 507218 - Expose the process type (chrome/content) to client code via XRE_GetProcessType and nsIXULRuntime, r=bent 2009-08-19 13:09:51 -04:00
Chris Jones
d9919b3117 simplify some *Channel code. enforce more SyncChannel invariants 2009-08-19 10:44:56 -05:00
Chris Jones
0a08700f4a add race detection to RPC channels. simplify message processing, be stricter about layering guarantees. add more comments and assertions to channel code. 2009-08-19 00:22:01 -05:00
Benjamin Smedberg
3727beac48 Bug 510025 - make TestShell a subprotocol of ContentProcess so that it is useful for prototyping 2009-08-12 14:31:48 -04:00
Ben Turner
1088815043 Add extremely basic support for unblocking in the event of a bad message 2009-08-07 16:13:20 -07:00
Ben Turner
2f24daa576 Add test plugin for ipc, make sure it works 2009-08-05 15:36:33 -07:00
Ben Turner
d4bb2883d3 Use mozilla strings instead of std::string in IPDL 2009-07-29 14:12:15 -07:00
Chris Jones
9d6b44828f Bug 506075: eliminate handshaking async constructor protocol, use smarter routing ID assignment 2009-07-24 18:24:27 -05:00
Ben Turner
018b1a724f Allow ipcshell to receive a response from its child process 2009-07-23 15:27:17 -07:00
Chris Jones
cc9c58dbcb add SyncLaunch() method to GeckoChildProcess class. remove much newly obseleted code. 2009-07-20 13:14:41 -05:00
Chris Jones
8959227f99 implement protocol manager support for all channel types, not just RPC 2009-07-20 11:59:51 -05:00
Chris Jones
6a1b89d424 stop flirting with MSVC8 name resolution bug. 2009-07-20 11:37:18 -05:00
Chris Jones
957ee2b153 >--> @ MSVC8, v4 2009-07-15 17:33:37 -05:00
Chris Jones
5e2cfbac7f another stab at fixing MSVC8 build bustage. 2009-07-15 17:06:30 -05:00
Chris Jones
7662f0b63a another stab in the dark at fixing MSVC8 bustage: put Result code enum in anonymous namespace 2009-07-15 16:38:55 -05:00
Chris Jones
1f2aa76f62 attempt to fix build bustage when using MSVC8. 2009-07-15 13:41:09 -05:00
Chris Jones
1de39e3ef4 update rgnrectallocator changes to match pending m-c patch. 2009-07-14 03:09:23 -05:00
Chris Jones
14b0696047 fix up phase 1 browser: (i) suppress spurious RgnRectAlloc error msgs; (ii) make IFrameEmbedding protocol sync/async instead of rpc; (iii) fix bug that prevented child iframe from drawing 2009-07-14 02:33:50 -05:00
Chris Jones
d7947d5455 add IPDL test harness and the mountains of code that entails. add |bool| type to IPDL. fix bugs in nascent async/sync channels. 2009-07-14 00:12:50 -05:00
Chris Jones
65a5143fa4 first cut at AsyncChannel and SyncChannel. only RPCChannel is currently under warranty. 2009-07-13 16:55:04 -05:00
Benjamin Smedberg
28d4675b23 Build system for .ipdl files. 2009-07-13 12:14:56 -04:00
Ben Turner
011769cbf2 Adds the ipcshell application to test IPC 2009-07-11 02:33:10 -04:00
Chris Jones
e6c73d1542 use a single binary, mozilla-runtime, for all child processes 2009-07-10 14:03:09 -05:00
Benjamin Smedberg
0990ded365 Goodbye, NO_NSPR_10 weirdness. 2009-07-07 12:25:00 -04:00
Chris Jones
00958eff01 port IFrame protocol to new interface. fix small IPDL bug. 2009-07-02 19:24:02 -05:00
Ben Turner
73f03dff53 merge bent's changes from libchromiumipc. Gtk plugins now drawing 2009-07-01 14:19:32 -07:00
Chris Jones
8aa21b1e90 merge plugin work from libchromiumipc. add env var check for OOP iframe. a few small bugfixes here and there. 2009-07-02 11:54:22 -05:00
Chris Jones
526ba058ae add initial support for protocol management in IPDL. small changes to existing protocols in preparation for merge from libchromiumipc. 2009-07-02 00:45:19 -05:00
Benjamin Smedberg
34f5d65570 Hook up the event loop changes and fix the build
--HG--
rename : ipc/chromium/src/base/file_version_info_linux.h.version => ipc/chromium/base/file_version_info_linux.h
2009-06-30 12:02:37 -04:00
Benjamin Smedberg
14ce29cc49 ipc/glue imported verbatim from http://hg.mozilla.org/users/bturner_mozilla.com/libchromiumipc/ 2009-06-29 14:38:29 -04:00
Benjamin Smedberg
8a1fac05ad Bug 561817 part A: Entered/ExitedCall callbacks for toplevel actors upon RPC in-calls. r=bsmedberg 2010-04-29 11:49:00 -05:00