Commit Graph

315 Commits

Author SHA1 Message Date
Chris Jones
752addc386 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
3727beac48 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
c077cb9ee4 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
5fdc15d93a forward-declare non-managed actors 2009-08-12 15:51:39 -05:00
Chris Jones
ca83130e42 fix regression from refactoring error message construction 2009-08-12 13:59:00 -05:00
Chris Jones
2c2245395b fix typos in type error format args 2009-08-12 13:46:05 -05:00
Chris Jones
1b2a01962c generate C++ typdefs for namespaced protocols 2009-08-12 13:40:09 -05:00
Chris Jones
fc4f1b8507 bug 509588: in actor ctor skeleton, return null instead of NS_ERROR_NYI 2009-08-11 17:26:06 -05:00
Chris Jones
4a80615b13 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
bb36d29db4 backout bad fix 2009-08-11 17:12:42 -05:00
Chris Jones
be276f51f5 bug 509581: only generate dispatch statement if we have a non-default case 2009-08-11 17:09:13 -05:00
Chris Jones
973633505a bug 509579: use ALLOW_THIS() macro to squash msvc warnings 2009-08-11 16:52:37 -05:00
Chris Jones
a225933c92 make it easier to control whether logging code is emitted 2009-08-07 16:10:57 -05:00
Chris Jones
3de475a7b3 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
00ee801a2c 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
659bd048fa 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
52e35965a3 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
a6c07cd9f8 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
ed5142290d 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
7b632f2270 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
25ec1dca61 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
a7181ad9ab 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
5adae8dcb1 Test for bug 538586.
--HG--
extra : rebase_source : 806feb88f71efe10512b084156b88534bc6236bf
2010-01-12 00:14:31 -06:00
Chris Jones
7ff27dc043 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
d4bb2883d3 Use mozilla strings instead of std::string in IPDL 2009-07-29 14:12:15 -07:00
Chris Jones
bdd002ffe7 bug 506983: allow template types in param lists 2009-07-28 17:04:01 -05:00
Chris Jones
76fb6c8a37 bug 506983: bare minimum support for C++ template types in IPDL 2009-07-28 16:26:14 -05:00
Chris Jones
d8a8dca284 bug 506788: fix stupid typo 2009-07-27 20:49:32 -05:00
Ben Newman
713e822c3c Build and IPDL groundwork for the multi-process Jetpack API (bug 556846). r=bsmedberg 2010-06-25 08:00:35 -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
Chris Jones
beee1565fe bug 506075: shoehorn support for async ctors/dtors into IPDL. 2009-07-23 20:31:56 -05:00
Chris Jones
f349133c54 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
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
822eab83c8 fix small parser regression. edit test-harness code to match online guide 2009-07-17 23:00:01 -05:00
Chris Jones
be1ba467e4 check that protocol state machines are race-free. fix race in test-harness (whoops). 2009-07-17 18:10:10 -05:00
Chris Jones
af893a5060 check reachability of states in IPDL protocols. clean up type checking a little. 2009-07-17 14:22:18 -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
Chris Jones
e1802878a2 fix build bustage 2009-07-13 12:16:40 -05:00
Chris Jones
f4fb7e72d9 IPDL: add colons back to state declarations 2009-07-13 12:10:02 -05:00
Benjamin Smedberg
28d4675b23 Build system for .ipdl files. 2009-07-13 12:14:56 -04:00
Chris Jones
e97dd63901 make parse errors behave like type errors 2009-07-13 11:12:08 -05:00
Chris Jones
75cbcb8d79 change state declaration syntax to be more different than parent:/child:/both: labels 2009-07-10 19:40:17 -05:00
Chris Jones
c73832e4e0 remove in/out/inout syntax in favor of parent:, child:, and both: labels 2009-07-10 19:19:54 -05:00
Chris Jones
ca80c305cb 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
03d2126057 final frontend support for protocol state machines. patch includes a minor refactoring as well. 2009-07-09 13:11:52 -05:00
Chris Jones
7929ffa13d 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
d3e2234d01 check that ctors and dtors have been declared for managed protocols 2009-07-08 10:37:32 -05:00
Chris Jones
a3e9f6ddbf add gcc-like -I include dir options to ipdl compiler 2009-07-07 17:52:38 -05:00
Chris Jones
d748ddb837 bug 502921: check NS_FAILED when calling into implementor code 2009-07-07 16:45:27 -05:00
Chris Jones
82d3d94aca 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
5091399e83 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
00958eff01 port IFrame protocol to new interface. fix small IPDL bug. 2009-07-02 19:24:02 -05:00
Chris Jones
9a867c549d use static_cast instead of dynamic_cast. silly cjones. 2009-07-02 19:02:06 -05: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
3909730c98 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
8ff8aeed5a bug 535867: fix threadsafety problem causing windows tinderbox error. r=trivial 2009-12-18 18:09:56 -06:00
Chris Jones
b98d4ef625 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
f700fc2e14 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
2efe22a0e4 Merge only plugin changes from e10s to mozilla-central. 2009-12-16 09:19:07 -05:00
Benjamin Smedberg
ce3386b2d4 Electrolysis-plugin-only bookkeeping commit. 2009-12-15 20:33:05 -05: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
Chris Jones
250fef6fae Bug 568366: Allow copy-constructing and assigning from T__None-typed unions. r=benjamn 2010-06-02 12:56:34 -05:00