Commit Graph

489 Commits

Author SHA1 Message Date
Chris Jones
8b16a35dc0 bug 533587: process RPC in-calls deferred because of races until "later". in-person r=bent 2009-12-09 17:15:01 -06:00
Chris Jones
1db753bb3a add missing makefile dep. r=trivial 2009-12-09 14:53:52 -06:00
Chris Jones
8d5a2a2fae bug 532973: add a check-valgrind target that runs IPDL unit tests under valgrind. r=luser 2009-12-07 01:10:52 -06:00
Chris Jones
f7ff8ffcef bug 533034: fix race condition that led to use-after-free. thanks valgrind! 2009-12-07 00:04:00 -06:00
Chris Jones
8e5648cbee bug 532983: fix invalid memory reads caused by regressions in shutdown behavior. r=bsmedberg 2009-12-07 00:03:49 -06:00
Chris Jones
35ac1f8cd2 fix some leaks found by valgrind. r=trivial 2009-12-04 18:15:44 -06:00
Chris Jones
8abc83ace0 bug 521949: make valgrind stop complaining about a false-positive uninitialized memory read 2009-12-04 16:45:23 -06:00
Chris Jones
2037e919a0 Fix MSVC warning 2009-12-04 16:27:59 -06:00
Chris Jones
da33d06c2d 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
aea3243ee9 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
Benjamin Smedberg
b695aba156 Bug 532659 - PluginScriptableObjectParent gets double-deleted when the plugin crashes, and fix the IPDL bug where we delete the actor if construction fails, instead of calling Deallocate on it, r=bent
--HG--
extra : rebase_source : dbe9a100735b1e0d0a8b07f4421e1ccb6055a78a
2009-12-03 15:30:05 -05:00
Chris Jones
c47450d9a7 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
57d427c91a bug 521272: add C++ interfaces allowing IPDL manager actors to iterate over managees. r=trivial 2009-12-03 02:16:21 -06:00
Chris Jones
270962252a bug 525342: make IPDL dtors part of the destructed actor's protocol instead of the manager's. r=bsmedberg 2009-12-03 02:16:14 -06:00
Chris Jones
677d4b14f9 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
9bcd9f1ab6 bug 525483: simple check for IPDL actor use-after-free. also refactors some error handling code 2009-12-03 02:16:03 -06:00
Chris Jones
16291938f9 bug 524220: add a |nullable| type qualifier denoting whether C++ actor params are allowed to be NULL. r=bent 2009-12-03 00:35:22 -06:00
Chris Jones
e26b419666 bug 523175: preliminary front-end-only support for shmem. r=bent 2009-12-03 00:35:15 -06:00
Chris Jones
e767ae72d1 bug 532333: part 2: implement an alternate EnsureChildTerminated() that listens for SIGCHLD (with a timeout) on the IO thread, instead of spawning a cleanup thread 2009-12-02 21:09:47 -06:00
Chris Jones
f8b2e6c35f bug 532333: part 1: expose libevent signal events through chromium wrappers 2009-12-02 21:09:24 -06:00
Ben Turner
0469fa577a Add WM_MOUSEACTIVATE to list of deferred messages 2009-12-02 18:51:29 -08:00
Ben Turner
8f022ce032 Add WM_CAPTURECHANGED to the list of delayed messages. 2009-12-01 15:09:33 -08:00
Ben Turner
f92346854c Bug 531821 - Add chromium LICENSE file. 2009-12-01 14:18:27 -08:00
Benjamin Smedberg
f557f35c90 Bug 528367 - generate ipdl_{lex,yacc}tab.py in the objdir, not the srcdir 2009-11-24 10:34:38 -05:00
Ben Turner
221a1d753c Fix PostDelayedTask in the message loop 2009-11-23 16:01:12 -05:00
Benjamin Smedberg
abbbc74bb1 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
37505766aa include some headers missing in newer gcc/libc builds. r=trivial 2009-11-19 20:08:39 -06:00
Benjamin Smedberg
49150adb6d Followup to bug 525090 - log new processes to a file based on the environment, instead of unconditionally to stdout, r=cjones 2009-11-19 14:52:11 -05:00
Chris Jones
fa7b66ff5d bug 529234: make sure to cleanup child processes 2009-11-19 13:03:30 -06:00
Ben Turner
445ec72ed9 Bug 526361 - 'Defer nonqueued messages received during synchronous IPC calls'. r=jimm+rs. 2009-11-18 15:18:08 -08:00
Josh Matthews
9972edd9fb Bug 517963 - New-tab opening should not launch the content process synchronously r=cjones 2009-11-18 16:43:53 -05:00
Ben Turner
ddc3652fe6 Bug 528144 - 'Missing IPC messages cause hang during xpcshell test' 2009-11-17 15:34:48 -08:00
Chris Jones
ff28bbb2df add nsresult to IPDL builtins 2009-11-16 14:52:47 -06:00
Ben Turner
528fc497a1 Bug 528144 - 'Missing IPC messages cause hang during xpcshell test' 2009-11-13 15:35:33 -08:00
Ben Turner
8ee0dbf5a2 Fix bustage 2009-11-12 14:46:29 -08:00
Chris Jones
825bd599dd no need to include in C++ protocol-common headers |include protocol|'d from IPDL. this is an accident of history 2009-11-12 16:20:20 -06:00
Ben Turner
82191b418a Bug 525792 - 'Fix leaks running mochitests'. 2009-11-12 14:16:54 -08:00
Chris Jones
4e75aa27a1 fix misplaced forward declarations of protocols 2009-11-11 15:07:58 -06:00
Chris Jones
548d6d261d 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
Chris Jones
5c7a5ab290 mac builds and runs with --enable-ipc, but the subprocess nsAppShell dies for an apparently Cocoa-related reason. IPC is fine though 2009-11-10 20:25:10 -06:00
Chris Jones
96dc937bbb print actor names instead of protocol, regression 2009-11-10 18:02:44 -06:00
Chris Jones
a5761b1f6d the protocol-tree-walk to determine friends was broken 2009-11-10 16:50:59 -06:00
Phineas T. Farnsworth
3da7352b78 bug 526626: band-aids for shutdown assertions 2009-11-09 16:56:55 -06:00
Benjamin Smedberg
84942520d3 Followup to last patch: using the ternary operator doesn't shortcut creating the temporary object, and I can't figure out why it was a ternary anyway: make it an if. 2009-11-09 12:57:32 -05:00
Benjamin Smedberg
71e4c2d085 Fix the chromium logging stuff: make CHECK/LOG release-and-debug (DCHECK/DLOG are debug-only), and make it print warning/error/abort using NS_DebugBreak, which is especially important for release aborts. 2009-11-09 12:03:48 -05:00
Chris Jones
872eb8137d build fix for gcc <= 4.2 2009-11-06 22:57:13 -06:00
Ben Turner
e48ad70cc3 Bustage fix 2009-11-06 16:22:54 -08:00
Chris Jones
8b132d2a80 fix linux build 2009-11-06 17:51:04 -06:00
Chris Jones
5412e0bc87 fix build bustage and test SEGFAULTs 2009-11-06 17:07:52 -06:00
Ben Turner
d10ccd2c5a Bug 522414 - 'RPC and Sync channels will deadlock easily on Windows'. r=jimm+rs. 2009-11-06 14:33:12 -08:00
Chris Jones
d16b740eee bug 526990: add support for serializing |float|s. no r=, trivial 2009-11-06 14:24:35 -06:00
Benjamin Smedberg
abde5a790a Followup to the previous patch: give arguments to CHECK also, to fix Maemo build bustage and be consistent. 2009-11-06 14:45:38 -05:00
Benjamin Smedberg
b289c97b16 Bug 526868 - Drop the dependency on GLIBCXX_3.4.9 by hacking Chromium logging to use NSPR logging instead of ostream. Pending r+ from cjones, but I wanted to get this landed to see what it did to the Linux testerboxes. 2009-11-05 17:47:09 -05:00
Chris Jones
2eb8767355 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
649b4bf497 bug 525677: shuffle some headers to appease gcc 4.2. IRC r=fred23,bsmedberg 2009-11-04 23:11:33 -06:00
Benjamin Smedberg
b32ff65cda Update chromium code to newer versions (rev 23304) to avoid tr1/function which doesn't compile without RTTI on, and disable RTTI by default. 2009-11-04 15:46:27 -05:00
Chris Jones
4bb319dfc5 bug 526397: fix up command line init. no r=, minor 2009-11-03 23:12:18 -06:00
Chris Jones
c916fbb575 bug 525792: fix leaking PluginModules, call NP_Shutdown() on plugins. minor, no r= 2009-11-03 15:37:07 -06:00
Jonathan Griffin
b7375e8bd1 Bug 525090. Log the PID's of launched processes. r=cjones
--HG--
extra : rebase_source : 69365c5d2f3a96b21efdeea876389027fca6feb5
2009-11-02 14:41:46 -08:00
Chris Jones
6415e6908c don't allow TestLatency to run when MOZ_IPC_MESSAGE_LOG is set 2009-10-30 16:04:06 -05:00
Chris Jones
108fb1cc49 attempt to fix build 2009-10-29 12:50:28 -05:00
Chris Jones
36fe1f488d bug 525150: bring back MOZ_IPC_MESSAGE_LOG. no r=, logging code only 2009-10-29 10:46:42 -05:00
Chris Jones
8814c1fe6e bug 525169: remove superfluous test-harness. no r=, removing testing code only 2009-10-29 00:56:24 -05:00
Chris Jones
713cc81033 build fix 2009-10-27 22:31:04 -05:00
Chris Jones
ccfc1178e3 bug 523761: give top-level IPDL actors handles to each others' processes. r=bent 2009-10-27 16:52:37 -05:00
Chris Jones
8663feb8a0 bug 524767: add better error logging to *Channel. no r?, logging only 2009-10-27 16:32:55 -05:00
Ben Turner
f78672f07d Don't let people get the order of includes wrong in this horrifying patchwork of chromium and mozilla types 2009-10-21 16:01:16 -07:00
Chris Jones
a13cd9cde7 fix bug where EndRead() is called on an empty (unread) message 2009-10-21 14:48:49 -05:00
Chris Jones
57879814f0 bug 523272: allow protocols to reference great*grandchild actors 2009-10-19 21:12:25 -05:00
Chris Jones
b581a2e474 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
46ad34660e bug 523143: switch protocols using nsTArray to native IPDL arrays 2009-10-19 14:10:52 -05:00
Chris Jones
09a6250424 bug 521324: call the multi-threaded GLib initialization function. r=karlt 2009-10-19 11:28:42 -05:00
Chris Jones
03b1d7887b pre-emptive windows build fix. no hablas STDint 2009-10-16 19:33:19 -05:00
Chris Jones
9570ba4cbb bug 506171: rewrite lower.py and add native IPDL arrays. 2009-10-16 18:31:53 -05:00
Chris Jones
277c870ffe temporarily un-apply some lower.py fixes that have been subsumed by bug 506171 2009-10-16 18:27:43 -05:00
Chris Jones
8635fae956 fix bugs that were preventing IPDL C++ unit tests from running on win32 2009-10-13 23:08:24 -05:00
Chris Jones
11da116187 add basic IPC latency tests 2009-10-13 17:36:28 -05:00
Chris Jones
6221ca6529 bug 521845: expand protocol space by 4x (temporarily) 2009-10-12 14:04:40 -05:00
Chris Jones
a0cb461b15 fix bugs in RPC race resolution 2009-10-09 01:21:39 -05:00
Chris Jones
f71ad44292 hack around lack of C99 format specifiers on Windows 2009-10-08 18:07:24 -05:00
Chris Jones
b71724eb06 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
bb2747448d 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
64cfab94c4 Add threadsafety assertions to plugin code 2009-10-08 12:11:13 -07:00
Ben Turner
de1fe88060 Two tiny IPDL fixes. 2009-10-07 16:52:41 -07:00
Chris Jones
bef4a65dca bug 518425: C++ unit test for bug 2009-10-06 13:05:47 -05:00
Chris Jones
74559ddca4 bug 518126, part 2: add infrastructure for C++ tests of IPDL-generated code. r=ted,bsmedberg 2009-10-06 13:02:26 -05:00
Ben Turner
7f5e15165f More bustage fix 2009-10-05 18:43:46 -07:00
Chris Jones
ee53f3e0ae bug 518425, part 2: lessen routing ID collisions 2009-09-24 13:38:04 -05:00
Chris Jones
662fb82f1e bug 518126: part 1 --- test the IPDL compiler in isolation. r=bsmedberg 2009-09-23 11:00:37 -05:00
Chris Jones
8d3e0640b8 bug 517977: require actor impls to override AllocPFoo/DeallocPFoo instead of PFooConstructor/PFooDestructor 2009-09-22 12:31:11 -05:00
Chris Jones
afb0f0a529 bug 518032: fix messed-up dtor code gen 2009-09-22 11:03:54 -05:00
Chris Jones
52d43cdb40 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
50ed6c02c5 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
9b0462b6a0 fix lingering cruft from the nsresult-to-bool conversion 2009-09-18 16:35:53 -05:00
Chris Jones
640d5a2fa3 make actor param/return types nullable. use decl initializers where possible for more concise code 2009-09-18 12:28:37 -05:00
Chris Jones
8382bfb8de fix bug in IPDL race detector causing it not to detect certain patterns involving async messages where parent/child state machines could get more than 1 state out of sync 2009-09-18 11:10:48 -05:00
Chris Jones
ad7cc03628 switch message handler nsresult return types to bool. appears to break test plugin, will be temporary 2009-09-17 18:09:20 -05:00
Ben Turner
151058edaa Landing the first part of NPRuntime support for plugin-side objects. Not hooked up yet. 2009-09-17 15:15:12 -07:00
Jason Duell
9910cfcf97 Necko init patch, with modeline fixes 2009-08-18 12:05:15 -07:00
Chris Jones
7a81446e70 bug 516798: fix busted actor-as-return-value handling in IPDL 2009-09-16 21:49:41 -05:00
Chris Jones
158b0df113 fix mismatched expectations of generated vars arrays 2009-09-16 17:41:04 -05:00
Ben Turner
c3c18d55f1 Initialize managers asap in child actors 2009-09-16 15:01:00 -07:00
Ben Turner
b063012cae Further fixes for unions 2009-09-14 19:26:17 -07:00
Ben Turner
72f4e6b57b Fix union type stuff for linux too 2009-09-14 17:55:00 -07:00
Ben Turner
5db5f8fa51 Fix union type constructors to be explicit to avoid msvc choosing cheaper code paths 2009-09-14 14:44:06 -07:00
Ben Turner
2941f8ddf4 Fix mem corruption from our different use of ChildProcessHost when child processes crash 2009-09-14 13:02:32 -07:00
Ben Turner
99033ae764 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
77093d31d4 Fix nsTArray deserialization 2009-09-14 12:58:33 -07:00
Chris Jones
3998d8c0b8 modify the generated C++ enum representing the constituent types of IPDL unions so that they can represent a "not assigned" state 2009-09-12 17:18:56 -05:00
Chris Jones
1ba0bbfbd2 fix the internal C++ union of generated IPDL unions so that they can contain non-POD types 2009-09-12 15:40:26 -05:00
Chris Jones
532ab88f33 fix isUnion/isUnionType schizophrenia introduced by d3e90292fd30 2009-09-12 15:11:35 -05:00
Benjamin Smedberg
13eb6f3032 Followup to changeset d3e90292fd30, discriminated union types: bustage fix when passing an actor 2009-09-11 12:05:26 -04:00
Chris Jones
334b5bb7d9 unblock RPC waiters for async messages, for realz 2009-09-11 02:28:09 -05:00
Chris Jones
b332673a20 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
11c6e75c70 add discriminated union types to IPDL 2009-09-10 23:55:03 -05:00
Chris Jones
7d52f509f1 make RPC unblock for async and sync, as it supposed to have 2009-09-10 18:54:37 -05:00
Ben Turner
5a0e09b701 Remove 'Protocol' suffix from IPDL-generated files 2009-09-09 15:59:06 -07:00
Ben Turner
df0dc3228b Rename remaining protocols
--HG--
rename : dom/ipc/ContentProcess.ipdl => dom/ipc/PContentProcess.ipdl
rename : dom/ipc/IFrameEmbedding.ipdl => dom/ipc/PIFrameEmbedding.ipdl
rename : ipc/test-harness/Test.ipdl => ipc/test-harness/PTest.ipdl
rename : ipc/testshell/TestShell.ipdl => ipc/testshell/PTestShell.ipdl
rename : ipc/testshell/TestShellCommand.ipdl => ipc/testshell/PTestShellCommand.ipdl
2009-09-09 15:00:14 -07:00
Chris Jones
1c592e46b5 bug 515365: fix actor types as message params. also refactor actor naming so that the "Protocol" suffix can be removed. 2009-09-09 15:25:05 -05:00
Chris Jones
258569f503 bug 515242: finish FE support for actor types specified to be in "any" state (by adding State.ANY). fix IPDL handling of carriage return, remove them from new code 2009-09-09 01:58:08 -05:00
Ben Turner
175d63409f Fix crashing iframes due to gtk_init, stop using windows in xpcshell tests 2009-09-08 13:35:12 -07:00
Ben Turner
168680f7ad Fix linux builds by giving them a better idea of the executable location 2009-09-04 00:23:06 -07:00
Chris Jones
17a765274c make failed exec() print a loud error message 2009-09-03 17:12:57 -05:00
Ben Turner
7e8db9f9a4 Force child processes to close and wait for them on shutdown 2009-09-02 17:18:27 -07:00
Ben Turner
7ccc076f01 Enable ipcshell tests 2009-09-02 12:35:15 -07:00
Ben Turner
faceddc604 Disable tests until they work 2009-09-01 15:36:38 -07:00
Ben Turner
e46cbd79ac Basic xpcshell test for testing IPDL 2009-09-01 15:17:24 -07:00
Chris Jones
fcd4f6280c bug 513920: synchronously "connect" to parent process from child process 2009-09-01 11:27:09 -05:00
Chris Jones
db8283a880 fix build bustage; include prtime.h in IPDL code and avoid conflicting CaseInsensitiveCompare decls 2009-09-01 10:01:50 -05:00
Ben Turner
9739753cd3 Rework ipcshell to become xpcshell 2009-08-28 16:16:19 -07:00
Chris Jones
a4b5dabdd8 bug 511440: leak count the protocol actor classes. Patch from robin_bb, thanks! r=cjones 2009-08-31 12:54:25 -05:00
Ben Turner
fef91bb11b Rework chromium initialization, r=beast 2009-08-28 12:46:21 -07:00
Ben Turner
b050168417 Backing out stuff that doesn't work 2009-08-27 16:05:38 -07:00
Ben Turner
3028fdfcc0 Fix build bustage? 2009-08-27 15:54:05 -07:00
Ben Turner
6415585c54 Rework chromium initialization, revert accidental change 2009-08-27 14:17:01 -07:00
Ben Turner
c412f107ea Rework chromium initialization 2009-08-27 14:11:10 -07:00
Chris Jones
8b66e45495 drop the banhammer on sync parent-to-child messages 2009-08-25 18:52:12 -05:00
Ben Turner
9d33531365 Fix testshell to use the new callback commands, and shut down properly 2009-08-25 16:07:22 -07:00
Chris Jones
24b18f8473 add IPDL front-end support for transitioning to one of a set of states 2009-08-19 21:21:46 -05:00
Chris Jones
809d7382e0 add real front-end support for multiple start states in IPDL 2009-08-19 18:35:22 -05:00
Chris Jones
3480e9a0e0 enable the actor before calling the ctor hook 2009-08-19 18:14:24 -05:00
Chris Jones
8a9bf731f2 add RecvCtor() hooks to match RecvDtor() 2009-08-19 17:54:54 -05:00
Chris Jones
bf3e025358 require IPDL filename Foo.ipdl to define protocol Foo 2009-08-19 16:08:21 -05:00
Chris Jones
a9da331f2d allow empty sub-protocols 2009-08-19 15:50:46 -05:00
Chris Jones
e818dde5b1 add "power-user" ctor interface method that accepts pre-constructed actors 2009-08-19 15:39:10 -05:00
Robin Bate Beorop
b4dc22d447 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
57c28a4b6c simplify some *Channel code. enforce more SyncChannel invariants 2009-08-19 10:44:56 -05:00
Chris Jones
db2bde3f0d 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
Chris Jones
e45c8d96cd s/String/nsCString/ for IPDL example 2009-08-18 11:08:38 -05:00
Chris Jones
de1432007f allow implementations to be notified when a dtor message is received 2009-08-14 16:46:49 -05:00
Chris Jones
6c48795ddf add dummy |start state| syntax 2009-08-14 15:38:25 -05:00
Chris Jones
3d6f398809 bug 510344: each translation unit needs its own symbol table. also fixed some parser error reporting and removed debugging |print|s 2009-08-13 21:22:55 -05:00
Benjamin Smedberg
bfa6bff11f Bug 510025 - make TestShell a subprotocol of ContentProcess so that it is useful for prototyping 2009-08-12 14:31:48 -04:00
Chris Jones
d7b02fbeea bug 510041: subprotocols should implement the toplevel-protocols listener interface even if they do not need that send semantics. dummy methods that error out are generated 2009-08-12 17:53:08 -05:00
Chris Jones
6a2a26a706 forward-declare non-managed actors 2009-08-12 15:51:39 -05:00
Chris Jones
f1aae4a7b5 fix regression from refactoring error message construction 2009-08-12 13:59:00 -05:00
Chris Jones
b5797704ff fix typos in type error format args 2009-08-12 13:46:05 -05:00
Chris Jones
6e92a85059 generate C++ typdefs for namespaced protocols 2009-08-12 13:40:09 -05:00
Chris Jones
f02911c98e build on 64-bit linux 2009-08-12 00:41:55 -05:00
Chris Jones
a318445e26 bug 509588: in actor ctor skeleton, return null instead of NS_ERROR_NYI 2009-08-11 17:26:06 -05:00
Chris Jones
165a6d7976 bug 509581: generate direct error return stmt instead of switch stmt with only default case when there are no dispatched messages. 2009-08-11 17:20:28 -05:00
Chris Jones
28d1cd83ea backout bad fix 2009-08-11 17:12:42 -05:00
Chris Jones
42822e89de bug 509581: only generate dispatch statement if we have a non-default case 2009-08-11 17:09:13 -05:00
Chris Jones
d374705a1d bug 509579: use ALLOW_THIS() macro to squash msvc warnings 2009-08-11 16:52:37 -05:00
Ben Turner
37f6bdca20 Add extremely basic support for unblocking in the event of a bad message 2009-08-07 16:13:20 -07:00
Chris Jones
01ffe0160b make it easier to control whether logging code is emitted 2009-08-07 16:10:57 -05:00
Ben Turner
a6cb8553d3 Add test plugin for ipc, make sure it works 2009-08-05 15:36:33 -07:00
Ben Turner
ff67e8afc3 Use mozilla strings instead of std::string in IPDL 2009-07-29 14:12:15 -07:00
Ben Turner
12d174469f Fix chromium statics for apps that don't run through XRE_Main 2009-07-29 14:11:42 -07:00
Chris Jones
51cb11cdc2 bug 506983: allow template types in param lists 2009-07-28 17:04:01 -05:00
Chris Jones
db0fd936da bug 506983: bare minimum support for C++ template types in IPDL 2009-07-28 16:26:14 -05:00
Chris Jones
2cf6bcf459 bug 506788: fix stupid typo 2009-07-27 20:49:32 -05:00
Chris Jones
94c6eaa73b Bug 506075: eliminate handshaking async constructor protocol, use smarter routing ID assignment 2009-07-24 18:24:27 -05:00
Chris Jones
204e23429f bug 506075: shoehorn support for async ctors/dtors into IPDL. 2009-07-23 20:31:56 -05:00
Ben Turner
e5cab3444c Allow ipcshell to receive a response from its child process 2009-07-23 15:27:17 -07:00
Chris Jones
50b01f1178 windows build fix, v2 2009-07-21 09:28:36 -05:00
Chris Jones
0a5e27f76d windows build fix 2009-07-21 08:58:28 -05:00
Chris Jones
b003459955 add message logging, as far as is possible with current build setup; -fshort-char breaks it. reinstate async/sync message dispatchers. fix 64-bit int printf bug in chromium. 2009-07-21 01:14:58 -05:00
Benjamin Smedberg
3f76d197c8 Make --disable-ipc work... mac-ppc now builds by default. 2009-07-20 15:04:52 -04:00
Chris Jones
69604af50f add SyncLaunch() method to GeckoChildProcess class. remove much newly obseleted code. 2009-07-20 13:14:41 -05:00
Chris Jones
e516ddf1a1 implement protocol manager support for all channel types, not just RPC 2009-07-20 11:59:51 -05:00
Chris Jones
c383d96f98 stop flirting with MSVC8 name resolution bug. 2009-07-20 11:37:18 -05:00
Chris Jones
77e8929151 fix small parser regression. edit test-harness code to match online guide 2009-07-17 23:00:01 -05:00
Chris Jones
0ed5c19802 check that protocol state machines are race-free. fix race in test-harness (whoops). 2009-07-17 18:10:10 -05:00
Chris Jones
2c6a8fd8a3 check reachability of states in IPDL protocols. clean up type checking a little. 2009-07-17 14:22:18 -05:00
Benjamin Smedberg
62478d8e8a Use a different hack to make the Linux tinderboxes green until we can upgrade to GCC 4.3 2009-07-17 13:39:40 -04:00
cjones@dm-oink01.mozilla.org
a9ad21732a BAND-AID: compile chromium base lib with -fno-inline to fix linker bustage. bye bye performance. 2009-07-16 14:59:49 -07:00
Chris Jones
08fc1b6880 >--> @ MSVC8, v4 2009-07-15 17:33:37 -05:00
Chris Jones
057ed3ad8e another stab at fixing MSVC8 build bustage. 2009-07-15 17:06:30 -05:00
Chris Jones
90e549a263 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
5a07425e89 attempt to fix build bustage when using MSVC8. 2009-07-15 13:41:09 -05:00
Chris Jones
fd025df45e fix gcc <= 4.1 builds by removing mysterious template syntax 2009-07-15 13:21:06 -05:00
Benjamin Smedberg
f9e74ef747 IPCMessageStart.h shouldn't be checked in... should fix Windows build bustage. 2009-07-14 10:37:38 -04:00
Chris Jones
ddf91bd30e update rgnrectallocator changes to match pending m-c patch. 2009-07-14 03:09:23 -05:00
Chris Jones
98f8639f7b 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
3fe0052c3e 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
9c6618c46e first cut at AsyncChannel and SyncChannel. only RPCChannel is currently under warranty. 2009-07-13 16:55:04 -05:00
Chris Jones
9e97c71486 fix build bustage 2009-07-13 12:16:40 -05:00
Chris Jones
88634d747a IPDL: add colons back to state declarations 2009-07-13 12:10:02 -05:00
Benjamin Smedberg
fc924865a3 Build system for .ipdl files. 2009-07-13 12:14:56 -04:00
Chris Jones
807f1ea1f2 make parse errors behave like type errors 2009-07-13 11:12:08 -05:00
Ben Turner
d952bdebc8 Linux bustage fix? 2009-07-11 03:04:20 -04:00
Ben Turner
896d5d4ea3 Adds the ipcshell application to test IPC 2009-07-11 02:33:10 -04:00
Chris Jones
f787806790 change state declaration syntax to be more different than parent:/child:/both: labels 2009-07-10 19:40:17 -05:00
Chris Jones
8354e23734 remove in/out/inout syntax in favor of parent:, child:, and both: labels 2009-07-10 19:19:54 -05:00
Chris Jones
51d8168a20 generate skeleton IPDL actor impls, like the IDL compiler does for interfaces. also fix the C++ visitor. 2009-07-10 15:56:40 -05:00
Chris Jones
55c13c871a add files that should have been in last cset 2009-07-10 14:58:14 -05:00
Chris Jones
3835b44362 use a single binary, mozilla-runtime, for all child processes 2009-07-10 14:03:09 -05:00
Chris Jones
433c336e5f final frontend support for protocol state machines. patch includes a minor refactoring as well. 2009-07-09 13:11:52 -05:00
Chris Jones
06af384fd3 add parsing and type-checking of protocol state machines in preparation for codegen of dynamic FSM checker. fix a couple of bugs here and there. 2009-07-08 18:03:56 -05:00
Chris Jones
9026ee09d1 check that ctors and dtors have been declared for managed protocols 2009-07-08 10:37:32 -05:00
Chris Jones
bbe448b3ef add gcc-like -I include dir options to ipdl compiler 2009-07-07 17:52:38 -05:00
Chris Jones
a2cbe6d182 bug 502921: check NS_FAILED when calling into implementor code 2009-07-07 16:45:27 -05:00
Chris Jones
1db701964c bugs 502003, 502634: compile multiple IPDL specs in one invocation
--HG--
rename : ipc/ipdl/ipdlc => ipc/ipdl/ipdl.py
2009-07-07 15:52:10 -05:00
Benjamin Smedberg
a49dc40cea Goodbye, NO_NSPR_10 weirdness. 2009-07-07 12:25:00 -04:00
Benjamin Smedberg
c0305d24cb Windows fixup: Windows does actually have 2-byte wchar_t. Also there was a possible missing PR_BEGIN_EXTERN_C that we really did need. 2009-07-07 12:20:02 -04:00
Benjamin Smedberg
05e9e26706 Windows fixup: write files in binary mode so we have consistent Unix-style line endings, and always use forward slashes instead of os.path.sep 2009-07-07 11:17:48 -04:00
Chris Jones
63e6c7f868 port IFrame protocol to new interface. fix small IPDL bug. 2009-07-02 19:24:02 -05:00
Chris Jones
bb1ba690e0 use static_cast instead of dynamic_cast. silly cjones. 2009-07-02 19:02:06 -05:00
Ben Turner
9530b586ff Some windows build fixup 2009-07-02 13:48:33 -07:00
Ben Turner
fb20290727 merge bent's changes from libchromiumipc. Gtk plugins now drawing 2009-07-01 14:19:32 -07:00
Chris Jones
22e9e1dee6 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
Benjamin Smedberg
5f48293ccf Require Windows XP SP2, and disable a compile-time check which doesn't make much sense in the chromium code. 2009-07-02 11:57:55 -04:00
Chris Jones
7aded61394 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
40fee97f07 Import IPDL from cjones' working repo, revision 282b4211d881. New IPDL work will take place in electrolysis. 2009-06-30 15:38:59 -04:00
Benjamin Smedberg
a7eaf47932 Build fixes: * enable RTTI by default when building with GCC to work around the tr1/functional error * link with -lrt * Tell chromium that it's always using wide wchar on Linux 2009-06-30 13:21:26 -04:00
Benjamin Smedberg
0a5070dd8a 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
0202d773b3 ipc/glue imported verbatim from http://hg.mozilla.org/users/bturner_mozilla.com/libchromiumipc/ 2009-06-29 14:38:29 -04:00
Benjamin Smedberg
b9b077cb23 Mozilla-specific changes to the Chromium code, imported verbatim from http://hg.mozilla.org/users/bturner_mozilla.com/libchromiumipc/ 2009-06-29 14:37:52 -04:00
Benjamin Smedberg
a90c9ba160 Build the pieces of the chromium code we actually need. Many thanks to bent for doing this the first time: I redid the Makefile to be all in one directory and use vpath directives so that dependencies work correctly. 2009-06-29 14:31:58 -04:00
Benjamin Smedberg
a64afe22b9 Import Chromium sources r15462 2009-06-29 08:35:58 -04:00
Benjamin Smedberg
8bfb4369c2 Script to import chromium code from upstream. 2009-06-26 13:46:25 -04:00
Arpad Borsos
094bbdd8f8 Bug 462438 - kill MOZ_PROFILESHARING and MOZ_IPCD; build system cleanup + removes, v2; r+sr=benjamin 2008-12-04 15:37:37 +01:00
Phil Ringnalda
538c9fb42a Bug 461888 - Remove unused PACKAGE_FILE and PACKAGE_VARS and .pkg files, mozilla-central part, r=bsmedberg 2008-11-03 19:46:28 -08:00
Arpad Borsos
c72ef7d248 Bug 456388 - Remove PR_STATIC_CALLBACK and PR_CALLBACK(_DECL) from the tree; r+sr=brendan 2008-10-10 17:04:34 +02:00
jwalden@mit.edu
6d7584839a Bug 348748 - Replace all instances of NS_STATIC_CAST and friends with C++ casts (and simultaneously bitrot nearly every patch in existence). r=bsmedberg on the script that did this. Tune in next time for Macro Wars: Episode II: Attack on the LL_* Macros. 2007-07-08 00:08:04 -07:00
hg@mozilla.com
05e5d33a57 Free the (distributed) Lizard! Automatic merge from CVS: Module mozilla: tag HG_REPO_INITIAL_IMPORT at 22 Mar 2007 10:30 PDT, 2007-03-22 10:30:00 -07:00
benjamin%smedbergs.us
122614bb23 Bug 349002, try #2 - Refactor xptcall into a frozen API, r=timeless - with OS/2 fixup by Peter Weilbacher 2006-11-20 17:03:38 +00:00
benjamin%smedbergs.us
62c212952b Backout xptcall because linux tboxes are stupid, I think. 2006-11-16 20:17:24 +00:00
benjamin%smedbergs.us
f618238f02 Bug 349002 - Refactor xptcall into a frozen API, r=timeless. Includes OS/2 fixup by Peter Weilbacher 2006-11-16 18:29:33 +00:00
timeless%mozdev.org
97d86b0df2 Bug 106386 Correct misspellings in source code
r=bernd rs=brendan
2006-08-28 20:12:37 +00:00
dveditz%cruzio.com
506140bd0c Bug 284219: add EnsureStringLength() helper function to nsReadableUtils.h to
simplify OOM checks when growing an nsAString. r/sr=darin
2006-06-22 19:07:30 +00:00
darin%meer.net
0318b8c707 landing patch for bug 326273 "Implement nsIThreadManager" (Mac portions by Mark Mentovai) with reviews from bienvenu, bsmedberg, bzbarsky, josh, roc, and ssieb 2006-05-10 17:30:15 +00:00
timeless%mozdev.org
9b0852aaf7 Bug 106386 Correct misspellings in source code
patch by unknown@simplemachines.org r=timeless rs=brendan
2005-11-25 21:57:13 +00:00
timeless%mozdev.org
db820cf720 Bug 106386 Correct misspellings in source code
patch by unknown@simplemachines.org r=timeless rs=brendan
2005-11-25 08:16:51 +00:00
bsmedberg%covad.net
573eebab2a Adding MOZILLA_INTERNAL_API to internal makefiles, bug 288626, rs=darin 2005-04-05 12:36:03 +00:00
bsmedberg%covad.net
bd79889f75 Clean up missing LIBXUL_LIBRARY calls: transmgr/src is linked to client/src which is part of libxul (from bug 273876) 2005-04-04 13:27:43 +00:00
bryner%brianryner.com
ed870113ca Additional REQUIRES cleanup for mailnews, mac, and suite directories (bug 73353). r+sr=dbaron. 2005-02-04 21:10:45 +00:00
bsmedberg%covad.net
79241940e8 Bug 273876 - libxul step 2 (everything through widget, except spidermonkey) r=darin; again, this should not affect non-xulrunner trees. 2004-12-09 19:28:35 +00:00
bryner%brianryner.com
29c70cffe8 Reduce do_GetService code bloat further by adding specialized assignment to nsCOMPtr and providing a version with no error pointer. Also make CallGetService work the same way as CallGetComponent does, as far as using frozen/non-frozen interface to service manager. Bug 264456, r=darin. 2004-11-24 22:48:45 +00:00