Commit Graph

608 Commits

Author SHA1 Message Date
Chris Jones
81dfc13752 Bug 560000: Allow IPDL unions and structs to be recursively defined. r=benjamn 2010-05-22 14:35:38 -05:00
Chris Jones
ca7af8ea8c Tests for bug 553846.
--HG--
rename : ipc/ipdl/test/cxx/PTestArrays.ipdl => ipc/ipdl/test/cxx/PTestDataStructures.ipdl
rename : ipc/ipdl/test/cxx/PTestArraysSub.ipdl => ipc/ipdl/test/cxx/PTestDataStructuresSub.ipdl
rename : ipc/ipdl/test/cxx/TestArrays.cpp => ipc/ipdl/test/cxx/TestDataStructures.cpp
rename : ipc/ipdl/test/cxx/TestArrays.h => ipc/ipdl/test/cxx/TestDataStructures.h
2010-05-22 14:35:37 -05:00
Chris Jones
6407922744 Bug 553846: Implement an IPDL "struct" type. r=benjamn 2010-05-22 14:35:35 -05:00
Chris Jones
e0a14f18fc Bug 522547: Serialize/deserialize IPC messages in a "streaming" style. r=bent 2010-05-22 14:35:34 -05:00
Chris Jones
03b01c916d Bug 562741: Allow |Shmem|s to be shared across different protocol trees. r=bent 2010-05-22 14:35:33 -05:00
Chris Jones
9751148c41 Bug 564086: Frontend support for IPDL process graphs and Bridge()ing processes. r=benjamn 2010-05-22 14:35:31 -05:00
Chris Jones
5be467f10e Bug 565844: Distinguish between illegal-value and couldn't-process errors in IPDL error messages. r=bent 2010-05-22 14:35:29 -05:00
Doug Turner
c88906d971 Merge with m-c. no hand edits 2010-04-29 21:04:50 -07:00
Mike Hommey
92506b7f9a Bug 561971 - Cleanup ipdl generated code and compiled python on make clean [r=benjamin]
--HG--
extra : rebase_source : d4ab3ddde23f3b98521756f8362376fef6b76764
2010-04-29 07:21:14 +00:00
Jim Mathies
0879ff6221 Bug 558986 - detect and resolve races between MS-COM RPC and IPDL RPC by implementing IMessageFilter and processing pending IPDL RPC calls while waiting for MS-COM RPC responses. Original patch by bsmedberg, r=cjones/jimm/ehsan with followup fixes by Jim Mathies, r=bsmedberg
--HG--
extra : rebase_source : 214029d3188f8aa00948e0dcdc3c11cd279d1569
2010-05-21 11:48:34 -04:00
Jim Mathies
e9cf1d1dad Bug 558986 - Backout of fix for crashes in TSF with Flash/Silverlight on tablets. CLOSED TREE 2010-05-17 14:36:43 -05:00
Benjamin Smedberg
695ab55828 Bug 558986 - Fix for crashes in TSF with Flash/Silverlight on tablets (OLE/COM nested event loops). r=cjones, jimm, ehsan. 2010-05-17 11:33:34 -05:00
Chris Jones
a945d618e9 Followup to bug 559898: fix cycle checker to allow self-loop special case. 2010-04-27 02:12:39 -05:00
Chris Jones
574b849ecd Followup to bug 541131: update |include protocol "PFoo.ipdl"| usages in e10s. 2010-04-27 02:12:38 -05:00
Chris Jones
bd6bf48e7a Merged m-c 2010-04-27 01:53:06 -05:00
Chris Jones
cc52e0aa86 Bug 518881: Fix unused-result warnings in IPDL/C++ unit tests. 2010-04-27 00:43:01 -05:00
Chris Jones
168d0459ca Bug 518881: Make Send/Call*() methods for IPDL parent actors warn_unused_result. r=bent 2010-04-27 00:43:00 -05:00
Chris Jones
43db547c0a Bug 559898: Allow (sub-)protocols to manage themselves. r=bsmedberg 2010-04-26 20:11:48 -05:00
Chris Jones
821e840e3b Bug 559953: Add a |const nsTArray<Subactor*>& ManagedFoo();| accessor. r=bent 2010-04-26 20:11:47 -05:00
Thomas Lee
f562dffa71 Bug 541131: Include IPDL headers as |include protocol PFoo;|. r=cjones 2010-04-26 20:11:46 -05:00
Chris Jones
14a0306954 Bug 554244: Get the right loc info for message declarations. r=bent 2010-04-26 20:11:44 -05:00
Chris Jones
b95a8efccc Bug 555276: Top-level protocols should handle shmem messages if any subprotocol uses it. r=bent 2010-04-26 20:11:43 -05:00
Chris Jones
403eae2c27 Bug 555275: Clean up shared memory segments when the top-level actor dies. r=bent 2010-04-26 20:11:42 -05:00
Chris Jones
c2273182da Bug 555275: Implement a DeallocShmem() interface. r=bent 2010-04-26 20:11:40 -05:00
Benjamin Smedberg
e0862137aa Bug 561871, part A: IPDL changes to expose ProcessNativeEventsInRPCCall from the toplevel actor, r=cjones
--HG--
extra : rebase_source : 3c5a7516aa43ba17b796b8e8757d74d634689a09
2010-04-28 11:00:13 -04:00
Chris Jones
8cd39f1f00 Merge mozilla-central 2010-04-16 01:34:35 -05:00
Chris Jones
e81c79ae2f Bug 548437: Test SysV shmem. 2010-04-16 00:29:17 -05:00
Joe Drew ext:(%20and%20Chris%20Jones%20%3Cjones.chris.g%40gmail.com%3E)
0bd95dade4 Bug 548437: Add a SysV shmem subtype of SharedMemory. r=dougt 2010-04-16 00:29:16 -05:00
Olli Pettay
f8623be5f3 Bug 555573 - [e10s] IPDL generates code which may not compile on Windows, r=cjones 2010-03-29 23:29:07 +03:00
Doug Turner
19845bed4d merge from m-c. manually merging modules/plugin/test/testplugin/nptest.cpp dom/plugins/PluginModuleChild.cpp. 2010-03-26 14:22:48 -07:00
Dan Witte
90b6b20cf2 Bug 537156 - [e10s] Implement cookies. r=jduell,sdwilsh; sr=bz 2010-03-25 16:02:28 -07:00
Chris Jones
b9728f5cea Bug 544936, part 4: Move some common code for dealing with minidumps and .extra files into nsExceptionHandler. r=ted 2010-03-24 16:22:01 -05:00
Ben Newman
bb75ed49d1 Bug 516522 - CPOW: Cross-Process (JavaScript) Object Wrapper. r=mrbkap r=bent sr=jst 2009-11-06 12:43:39 -08:00
Chris Jones
d684a35ea5 Bug 544623 - IPDL: Shmem buffers should be shared across actor tree. r=bent 2010-03-22 21:56:42 -07:00
Jason Duell
f78fd1ae1e Merge from m-c in order to fix e10s necko hangs caused by last m-c merge. 2010-03-19 23:55:40 -07:00
Josh Matthews
d4487458dd Bug 552117 - Print current test name in IPDL tests. r=cjones
--HG--
extra : rebase_source : 45b554a05e8a9e3ca627b10f633a955cec4f0f05
2010-03-13 13:23:50 +13:00
Chris Jones
297b367c19 Backed out changeset bda8efa53512 2010-03-18 21:01:10 -05:00
Chris Jones
6b2339095c Bug 551392: Remove hack made unnecessary by unified build tiers. r=ted 2010-03-18 17:52:38 -05:00
Chris Jones
4b4233facd Bug 551392: Remove subprocess minidumps after they're grabbed to avoid spurious crash detection. r=ted 2010-03-18 17:52:36 -05:00
Chris Jones
eae7be085a Bug 552014: Test 2010-03-18 17:52:34 -05:00
Chris Jones
2c7741fa1a Bug 533055: Part 2: Set Message names in IPDL-generated code. r=bent 2010-03-18 17:52:31 -05:00
Chris Jones
51582e89d2 b=550026 Cancel PluginCrashed when PluginModule is deleted. r=bsmedberg 2010-03-08 09:16:02 +13:00
Chris Jones
55b7305f9e Followup to bug 545342: atomically refcount the dequeue task. r=bent 2010-03-11 16:24:15 -06:00
Doug Turner
186a2d7596 Merge with m-c 2010-03-18 21:53:17 -07:00
Doug Turner
453380b2a7 Merge 2010-03-12 15:20:36 -08:00
Chris Jones
6fa2d57900 b=550026 Don't call PluginCrashed while plugin code is still on the stack r=bsmedberg 2010-03-08 09:16:02 +13:00
Doug Turner
c741a38e65 Merge 2010-03-01 15:36:51 -08:00
Chris Jones
f2a324d0d6 Bug 545455: IPDL/C++ test. 2010-02-16 12:44:23 -06:00
Chris Jones
557d0a7e78 Bug 545455, part 2: Expose override-able hooks for top-level IPDL actors to be notified on stack entrance/exit. r=bent 2010-02-16 12:44:22 -06:00
Chris Jones
94faebe11f Bug 545455: IPDL/C++ test.
--HG--
extra : rebase_source : 9fae2c3f3192633834166b863f7ab0c1ed2f0e40
2010-02-16 12:44:23 -06:00
Chris Jones
357da6d25d Bug 545455, part 2: Expose override-able hooks for top-level IPDL actors to be notified on stack entrance/exit. r=bent
--HG--
extra : rebase_source : e50ede6dbffc9d864ba62eda6d2a622c8b99dece
2010-02-16 12:44:22 -06:00
Chris Jones
17e4329c85 Bug 548214: Extended IPDL/C++ test. 2010-02-24 15:59:24 -06:00
Chris Jones
41ab2c5abe Merge backout 2010-03-11 05:07:51 -06:00
Chris Jones
ec36ea088a Backing out bug 550026 due to orange 2010-03-11 05:07:42 -06:00
Chris Jones
eb4b1d88db Bug 549888: Test 2010-03-11 01:35:32 -06:00
Chris Jones
bfbfdfedc8 Bug 549888: Part 1: Let the channel listener decide how to mediate RPC races, defaulting to "child wins". r=bent 2010-03-11 01:35:30 -06:00
Chris Jones
560720af2a Bug 546035: Test 2010-03-11 01:35:28 -06:00
Chris Jones
3cbb7db096 b=550026 Don't call PluginCrashed while plugin code is still on the stack r=bsmedberg 2010-03-08 09:16:02 +13:00
Chris Jones
60dbdc95ce Bug 545342: Test 2010-03-11 01:35:21 -06:00
Chris Jones
91c8a167c1 Followup to bug 559898: fix cycle checker to allow self-loop special case. 2010-04-27 02:12:39 -05:00
Olli Pettay
74bb79d9b1 Bug 555573 - [e10s] IPDL generates code which may not compile on Windows, r=cjones 2010-03-29 23:29:07 +03:00
Chris Jones
44e3e67b08 No bug: Test RPC round-trip times and warn before sleep()ing. no r=, test only 2010-02-04 21:40:42 -06:00
Thomas Lee
0486f6f11e Bug 541126: Error out if there are manager/managee cycles in protocol graphs. r=cjones 2010-02-01 12:44:54 -06:00
Chris Jones
3ac6364837 Bug 544623 - IPDL: Shmem buffers should be shared across actor tree. r=bent 2010-03-22 22:02:16 -07:00
Chris Jones
e7d4687beb Bug 545053: IPDL/C++ test of hang detector. 2010-02-11 14:32:17 -06:00
Chris Jones
1d3d3b182e Bug 545591: Temporary workaround. 2010-02-11 00:48:33 -06:00
Chris Jones
d88c179be1 Bug 540004, part 3: Add a ShouldContinue() interface to IPDL actors that allows them to decide how a hang should be treated. r=bent 2010-02-09 18:02:55 -06:00
Chris Jones
188261c0b2 Bug 540004, part 1: Various and sundry trivial refactorings. r=bent 2010-02-09 18:02:53 -06:00
Chris Jones
45b95bf64a No bug: Test RPC round-trip times and warn before sleep()ing. no r=, test only 2010-02-04 21:40:42 -06:00
Benjamin Smedberg
0ff6ac2cc0 Bug 516515 - Don't initialize XPCOM in plugin processes, r=cjones
--HG--
rename : ipc/glue/GeckoThread.cpp => ipc/glue/MozillaChildThread.cpp
rename : ipc/glue/GeckoThread.h => ipc/glue/MozillaChildThread.h
2010-01-31 22:19:21 -05:00
Benjamin Smedberg
4452a3a846 Merge mozilla-central into electrolysis. 2010-02-01 15:30:27 -05:00
Thomas Lee
d835c898c1 Error out if there are manager/managee cycles in protocol graphs. r=cjones 2010-02-01 12:44:54 -06:00
Benjamin Smedberg
31592f59ac Merge mozilla-central into electrolysis. 2010-01-27 09:56:07 -05:00
Chris Jones
23f49f5ce9 Bug 540886, part 3: IPDL/C++ test for BlockChild()/UnblockChild(). r=bnewman 2010-01-27 00:41:33 -06:00
Chris Jones
bd2194a01e Bug 540886, part 2: Offer a BlockChild() interface to RPC protocols that allows parents to prevent children from sending messages back of their own volition until the parent calls UnblockChild(). r=bent 2010-01-27 00:41:32 -06:00
Chris Jones
ed86fcca84 Bug 540111, part 5: IPDL/C++ test of multi-managers. r=bnewman 2010-01-26 22:56:14 -06:00
Chris Jones
0bb819c7de Bug 540111, part 4: IPDL-only tests of multi-managers. 2010-01-26 22:56:13 -06:00
Chris Jones
d30cfaf796 Bug 540111, part 3: Allow IPDL actors to be managed by one of a set of possible managers. r=bent 2010-01-26 22:56:12 -06:00
Chris Jones
eefb2c4602 Bug 540111, part 2: Subsume direct calls to manager->Dealloc*() into RemoveManagee(). r=bent 2010-01-26 22:56:11 -06:00
Chris Jones
106e56b0fa Bug 540111, part 1: Add a new IProtocolManager::RemoveManagee interface to break reliance on the |Manager()| interface. r=bent 2010-01-26 22:56:09 -06:00
Chris Jones
ae46ec2d2f Bug 521929, part 3: IPDL/C++ test. 2010-01-21 20:04:11 -06:00
Chris Jones
78decd9082 Fix Windows build busted by 2e3e142612b1. 2010-01-20 22:58:47 -06:00
Chris Jones
1a58181162 Test for bug 538239. 2010-01-20 21:50:07 -06:00
Chris Jones
71d511c249 bug 539552 - Add a GetMinidump() method to top-level, parent-side IPDL classes. r=bent 2010-01-13 20:17:00 -05:00
Chris Jones
7450192aba Followup to bug 539856: Save actors' IDs in all message handlers to avoid use-after-free when the actor is deleted above the handler in the stack. IRC r=bent 2010-01-15 15:15:52 -06:00
Chris Jones
f13dc9d7ae Test for followup to bug 539856. 2010-01-15 15:15:51 -06:00
Chris Jones
8d8174a707 Bug 539856: Avoid use-after-free of |mId| when constructing replies to destructor messages by saving |mId| on the stack. no r=, minor 2010-01-14 23:25:57 -06:00
Chris Jones
6e33770c22 Test for bug 539856. 2010-01-14 23:25:56 -06:00
Chris Jones
7db6c82f97 Bug 539343: Call DeallocSubtree() on subprotocol actors after being __delete__-ed. r=bent 2010-01-13 21:08:36 -06:00
Chris Jones
90128359d2 Test for bug 539343. 2010-01-13 21:08:35 -06:00
Chris Jones
27bd6ce0a6 Test for bug 538586. 2010-01-12 00:14:31 -06:00
Chris Jones
8fc8a76dfc Don't run TestLatency if the timing resolution is too low and use the new TimeDuration::ToSecondsSigDigits() method to display durations to humans. No r=, test only. 2010-01-11 23:46:17 -06:00
Chris Jones
cee892e114 bug 535867: fix threadsafety problem causing windows tinderbox error. r=trivial 2009-12-18 18:09:56 -06:00
Chris Jones
e8ba2c61e8 bug 535298: IPDL unit test for use-after-free crashes after RPC errors. r=test-only 2009-12-17 18:12:01 -06:00
Benjamin Smedberg
41eab18abf Bug 534736, and perhaps some others: parent crash within mozilla::plugins::PPluginInstanceParent::DestroySubtree, r=cjones 2009-12-17 16:39:22 -05:00
Chris Jones
5da2f562e0 fix syntax error. r=trivial 2009-12-15 16:15:39 -06:00
Chris Jones
36c3c3447d bug 533507: improve IPC "race condition" error message. frontend only, r=me 2009-12-09 20:01:46 -06:00
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
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
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
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
Chris Jones
ff28bbb2df add nsresult to IPDL builtins 2009-11-16 14:52:47 -06: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
Chris Jones
4e75aa27a1 fix misplaced forward declarations of protocols 2009-11-11 15:07:58 -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
Chris Jones
5412e0bc87 fix build bustage and test SEGFAULTs 2009-11-06 17:07:52 -06:00
Chris Jones
d16b740eee bug 526990: add support for serializing |float|s. no r=, trivial 2009-11-06 14:24:35 -06: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
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
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
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
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
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
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
Chris Jones
fbd897de71 Followup to bug 542052: Windows doesn't like stdint types. 2010-01-25 17:18:11 -06:00
Chris Jones
bf83609f43 Bug 542052: Add support for serializing/deserializing byte types. r=bent 2010-01-25 16:47:39 -06:00
Chris Jones
aff9b49ce6 Bug 521929, part 3: IPDL/C++ test.
--HG--
extra : transplant_source : %9E%82%3E%20E%81J%97r%CD%05%93%FC%E0%9C%877P%DF%EE
2010-01-21 20:04:11 -06: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
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
Oleg Romashin
9a4397fa5b Bug 534644 - implement Qt ipc/chromium backend, first part. r=benjamin, r=jones.chris.g 2010-01-28 07:22:41 +02:00
Chris Jones
6431ad2dc0 Bug 545053: IPDL/C++ test of hang detector.
--HG--
extra : transplant_source : %92%F8%81%3A%E0%99n%15kQ%BEB%EB%B6U%1Csuar
2010-02-11 14:32:17 -06:00
Chris Jones
a564f3aad2 Bug 545591: Temporary workaround.
--HG--
extra : transplant_source : /%9E5%1C%A2%B1%21%BD%9D%A5%DB%039/p%23%95%A2%7B%D3
2010-02-11 00:48:33 -06:00
Chris Jones
feb0d735b0 Bug 540004, part 3: Add a ShouldContinue() interface to IPDL actors that allows them to decide how a hang should be treated. r=bent
--HG--
extra : transplant_source : m%5E%40%9FYJ%EFI%9F%E5%25s%8E%1A%AF%BEQ%01va
2010-02-09 18:02:55 -06:00
Chris Jones
1e5215d158 Bug 540004, part 1: Various and sundry trivial refactorings. r=bent
--HG--
extra : transplant_source : %D0%E7%9BX%E9%B8.%A1%D6%CC%C94%B6%01%0F9%B2%F0%CC%AC
2010-02-09 18:02:53 -06:00
Chris Jones
35245fa672 Bug 540886, part 3: IPDL/C++ test for BlockChild()/UnblockChild(). r=bnewman
--HG--
extra : transplant_source : h%0DM%F8%C5s%82%97%28%AEH%91%86%00%0E%99%A0%05T%1B
2010-01-27 00:41:33 -06:00
Chris Jones
d12280389c Bug 540886, part 2: Offer a BlockChild() interface to RPC protocols that allows parents to prevent children from sending messages back of their own volition until the parent calls UnblockChild(). r=bent
--HG--
extra : transplant_source : %2A%A7%D7%2C%7B%90%1B%9BZS%E5%3E%E1%A1M%F2%A7P%99E
2010-01-27 00:41:32 -06:00
Chris Jones
40ab77cad5 Bug 540111, part 5: IPDL/C++ test of multi-managers. r=bnewman
--HG--
extra : transplant_source : %3B%83%10%FC%C3%5D%F7%22%B4%07WB7u%F6%8A4%D8%16%01
2010-01-26 22:56:14 -06:00
Chris Jones
af3a21670c Bug 540111, part 4: IPDL-only tests of multi-managers.
--HG--
extra : transplant_source : %D7%A3C%09%80XAvz%BF%AB%E1%D9%CFiG%B4%F4%D6%00
2010-01-26 22:56:13 -06:00
Chris Jones
a8f218c3e8 Bug 540111, part 3: Allow IPDL actors to be managed by one of a set of possible managers. r=bent
--HG--
extra : transplant_source : %DE%1A%20%E5%21%F8%A0.%A2%3A%B1%B8A%BEi%8A%85%0C%3C%60
2010-01-26 22:56:12 -06:00
Chris Jones
18358e8d4d Bug 540111, part 2: Subsume direct calls to manager->Dealloc*() into RemoveManagee(). r=bent
--HG--
extra : transplant_source : %FF%FC%CA%FD%82%7F%C2%CC%E4%0Ca%85%C4a%CB%CCM%CE%06%83
2010-01-26 22:56:11 -06:00
Chris Jones
604337ff23 Bug 540111, part 1: Add a new IProtocolManager::RemoveManagee interface to break reliance on the |Manager()| interface. r=bent
--HG--
extra : transplant_source : %D8%135V%07%DD%9C%40%D9y%01%12%07%E1%BA%20%CFE%256
2010-01-26 22:56:09 -06:00
Benjamin Smedberg
d5eb4d3947 Bug 516515 - Don't initialize XPCOM in plugin processes, r=cjones
--HG--
extra : rebase_source : cab356b862a66fb7f5955b1f936944f2395bba3c
2010-02-03 17:17:09 -05: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
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
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
11c6e75c70 add discriminated union types to IPDL 2009-09-10 23:55:03 -05:00
Ben Turner
5a0e09b701 Remove 'Protocol' suffix from IPDL-generated files 2009-09-09 15:59:06 -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
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
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
Chris Jones
8b66e45495 drop the banhammer on sync parent-to-child messages 2009-08-25 18:52:12 -05: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
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
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
Chris Jones
01ffe0160b make it easier to control whether logging code is emitted 2009-08-07 16:10:57 -05:00
Chris Jones
d33bbbf8cd Fix Windows build busted by 2e3e142612b1.
--HG--
extra : transplant_source : -z%FD%996%7D%89%BD%09%E8%E2L%23%0E%1CK%21%AC%28%1C
2010-01-20 22:58:47 -06:00
Chris Jones
25bab4e0a8 Test for bug 538239.
--HG--
extra : transplant_source : 8e%9E%87%3F%D1%EE%A7%3A%AB%19%84%AD%C1%DD%13%CE%82%E3w
2010-01-20 21:50:07 -06:00
Chris Jones
f69b89b495 bug 539552 - Add a GetMinidump() method to top-level, parent-side IPDL classes. r=bent
--HG--
extra : transplant_source : i%EF%D7%5Ep%CA%B1%40%40%0C%F6%B0%21%D6G%B5%A6%8C%1B%93
2010-01-13 20:17:00 -05:00
Chris Jones
47d94d95dc Followup to bug 539856: Save actors' IDs in all message handlers to avoid use-after-free when the actor is deleted above the handler in the stack. IRC r=bent
--HG--
extra : transplant_source : %BF%A5%80%B1%A0%E0%8FcZ%9D%02%84%FC%9F%E5%A1R%91n%BD
2010-01-15 15:15:52 -06:00
Chris Jones
f1e8661419 Test for followup to bug 539856.
--HG--
extra : transplant_source : f%83f%28%DC%A9%09%ADm%C3Ra%C5%D4%A7%A5%B2%D8%EDb
2010-01-15 15:15:51 -06:00
Chris Jones
521cb24310 Bug 539343: Call DeallocSubtree() on subprotocol actors after being __delete__-ed. r=bent
--HG--
extra : transplant_source : d%BE5%28%8D%EE%E3%D2Q%14%FB8%8Co%D5U%2C%19W%C4
2010-01-13 21:08:36 -06:00
Chris Jones
9465670838 Test for bug 539343.
--HG--
extra : transplant_source : J0p%C1%D3%7F%A5%D5%7Ds%F3%3F%8EG%B4%DD%D5%2A_%B2
2010-01-13 21:08:35 -06:00
Chris Jones
b965ffe2a8 Bug 539856: Avoid use-after-free of |mId| when constructing replies to destructor messages by saving |mId| on the stack. no r=, minor
--HG--
extra : transplant_source : %A5V%D3%C6%8D%87%BF%1B%F7%90%FB%88%81l%8Cu%D2ga%7F
2010-01-14 23:25:57 -06:00
Chris Jones
e32ed2f501 Test for bug 539856.
--HG--
extra : transplant_source : %20%83%FE%ED1N%00Xg6D%A9%FC%1E%B1%7E%BD%14xQ
2010-01-14 23:25:56 -06:00
Chris Jones
23991c2223 Test for bug 538586.
--HG--
extra : rebase_source : 806feb88f71efe10512b084156b88534bc6236bf
2010-01-12 00:14:31 -06:00
Chris Jones
93dc896673 Don't run TestLatency if the timing resolution is too low and use the new TimeDuration::ToSecondsSigDigits() method to display durations to humans. No r=, test only.
--HG--
extra : rebase_source : 34ee3b04c128da20d035cb6e4d92418f5870cccd
2010-01-11 23:46:17 -06:00
Ben Turner
ff67e8afc3 Use mozilla strings instead of std::string in IPDL 2009-07-29 14:12:15 -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
Ben Newman
17048d28ab Build and IPDL groundwork for the multi-process Jetpack API (bug 556846). r=bsmedberg 2010-06-25 08:00:35 -07: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
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
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
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
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
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
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
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
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
Chris Jones
d80073cd0a bug 535867: fix threadsafety problem causing windows tinderbox error. r=trivial 2009-12-18 18:09:56 -06:00
Chris Jones
47489467ce bug 535298: IPDL unit test for use-after-free crashes after RPC errors. r=test-only 2009-12-17 18:12:01 -06:00
Benjamin Smedberg
1e5ed65ff5 Bug 534736, and perhaps some others: parent crash within mozilla::plugins::PPluginInstanceParent::DestroySubtree, r=cjones 2009-12-17 16:39:22 -05:00
Benjamin Smedberg
8051ceb908 Merge only plugin changes from e10s to mozilla-central. 2009-12-16 09:19:07 -05:00
Benjamin Smedberg
c827f3a584 Electrolysis-plugin-only bookkeeping commit. 2009-12-15 20:33:05 -05:00
Benjamin Smedberg
01cd6e47af Bug 561817 part A: Entered/ExitedCall callbacks for toplevel actors upon RPC in-calls. r=bsmedberg 2010-04-29 11:49:00 -05:00
Chris Jones
ad393ee2d4 Bug 568366: Allow copy-constructing and assigning from T__None-typed unions. r=benjamn 2010-06-02 12:56:34 -05:00