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

316 Коммитов

Автор SHA1 Сообщение Дата
Jim Mathies 309f678572 Bug 538918 - follow up patch: IsMessagePending should use PeekMessage, not the stacks for detection.
--HG--
extra : transplant_source : %3D%E4_%CE7m%FE%8F%B0S%DC%9F%FAF%D7%40%5D%83%C1/
2010-02-09 22:47:44 -06:00
Ben Turner 16044d944d Bustage fix
--HG--
extra : transplant_source : %C9%C5%A7%A1%24%E55%A5%3DBj%F4%90%B8%A0%FD%8F%E6%B0%B9
2010-02-09 16:12:41 -08:00
Chris Jones 08946a2fa4 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 22bb529167 Bug 540004, part 2: Detect hangs while awaiting synchronous IPC replies (on POSIX). r=bent
--HG--
extra : transplant_source : %B8U2%20%5C%1B%06%85%F4%23%DA%CCw%C7%CB%D1%F2%9D%16%1A
2010-02-09 18:02:54 -06:00
Chris Jones b278e5b126 Fix linux bustage.
--HG--
extra : transplant_source : %FE%8B%BA%B1o%011%9A%CD5%2B%FC%CC%5B%A0%9EY%9F%C4%0F
2010-02-09 17:04:06 -06:00
Jim Mathies f391eb7ac0 Bug 538918 - [OOPP] Modal system dialogs cause UI freeze w/windowless controls. r=bent, cjones.
--HG--
extra : transplant_source : %28B%08h%F29L%BE%BBEh%E8%92%22%2A%8E%A8%00F%83
2010-02-09 16:34:38 -06:00
Chris Jones 4f3fa55836 Follow-up to bug 540886: address review comments I forgot to before pushing.
--HG--
extra : transplant_source : a%25%DF%90g%8A%F0%5C%F7%9B%BEtX%13p9%3Fq%E8%E2
2010-01-27 02:17:17 -06:00
Chris Jones cc46bd5e77 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 f78a371ee1 Bug 540886, part 1: Refactor "special message" dispatch in AsyncChannel. r=bent
--HG--
extra : transplant_source : %81%F6%01%EB%0CE%B0%04R%02%A8%0B%F8c%EF/%1D%CC%3Ep
2010-01-27 00:41:31 -06:00
Chris Jones d6e94a4945 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 15452c3d4a Commit remaining piece of bug 543788, r=jimm 2010-02-11 15:50:32 -05:00
Benjamin Smedberg 0d31f86d1b Bug 544361 - Silverlight 3 doesn't work since XPCOM was removed from plugin processes, it needs CoInitialize, r=cjones 2010-02-04 15:00:00 -06:00
Benjamin Smedberg 32cca8830e Bug 516515 - Don't initialize XPCOM in plugin processes, r=cjones
--HG--
extra : rebase_source : cab356b862a66fb7f5955b1f936944f2395bba3c
2010-02-03 17:17:09 -05:00
Ben Turner e8326cc3a2 Bug 542821 - 'Process startup event gets dropped on the floor by deferred messaging'. r=jimm.
--HG--
extra : transplant_source : %3A%2B%5E%7C%F6l%5D%5E6%C1%992%B9%2AA1%83%9A%E4%D5
2010-02-03 13:09:55 -08:00
Ben Turner 505478377e Bug 542617 - 'Deferred message loop mishandles WM_NCCALCSIZE'. r=jimm.
--HG--
extra : transplant_source : o%DD%22%21%91%F6%14%1D%C0H%BFsu%12%12%06%0B%81JM
2010-01-28 10:03:37 -08:00
Chris Jones f2340111bc Bug 542052: Add support for serializing/deserializing byte types. r=bent 2010-01-25 16:47:39 -06:00
Benjamin Smedberg b059b3ea2b Bug 540967 - "missing output line for total leaks" because the parent process isn't waiting for the child process to clean up/write leak logs, r=cjones
--HG--
extra : transplant_source : EW%5C-%60M%BCabd%A0%DE%F8%1EG%DF%03%14%B3%24
2010-01-22 10:21:33 -05:00
Benjamin Smedberg 3c10d3a700 Bug 540868 part 2: keep all NPObjects (not just those with actors) in mObjectMap, and invalidate/deallocate them when we destroy the associated instance, r=bent
--HG--
extra : transplant_source : %96H%CA%BF%2BX%18s%C8%1B%2Bh%8F%92%05%F0%9F/N%01
2010-01-22 10:06:13 -05:00
Chris Jones c2b605f46a Bug 521929, part 2: Save racy RPC replies onto a special stack until they're the reply to the right out-call. r=bent
--HG--
extra : transplant_source : %95R%85%B4%AD%0F%3D%9B%A5%18n%9B%94%BF%DA%9A%1BE%40%AC
2010-01-21 20:04:10 -06:00
Chris Jones c0c1664063 Bug 521929, part 1: Add a "seqno" field to synchronous messages. r=bent
--HG--
extra : transplant_source : %D0%5D%CF%0DUv%AC%AD%09%F98%C4%14%E2%F8%14%2CUZ%97
2010-01-21 20:04:09 -06:00
Chris Jones 949aa34f1a Bug 538239: Guard against async messages unblocking sync message waits. r=bent
--HG--
extra : transplant_source : .%3E%14%26%12%B1%80%BC%60%5D%E5%27%DE%11%C6uRY%F36
2010-01-20 21:50:36 -06:00
Ben Turner f146c8a479 Bug 539061 - 'OOPP: ASSERTION: Received "nonqueued" message 31, 10'. r=jimm. 2010-01-15 12:35:53 -08:00
Chris Jones 786ca38668 Bug 539295: Use lenient child reaping in NS_BUILD_REFCNT_LOGGING builds. r=bsmedberg
--HG--
extra : transplant_source : %FE%1B%07%A0%E4G%A2%F9%90%1Dc8J%3FP%E7%0A%DDL%05
2010-01-13 14:57:52 -06:00
Benjamin Smedberg 6760e001c8 Followup to bug 516759 (multi-process crash reporting), make childCrashNotificationPipe a leaked char* instead of a leaked nsString, so that it doesn't show up in leakstats. r=ted (Filed bug 539451 as a followup.)
--HG--
extra : rebase_source : e143e12ea5babc78fd95bf799aff2920e1915481
2010-01-13 10:44:10 -05:00
Chris Jones b866163542 Bug 516759: Use OOP crash reporting in Gecko. r=luser
--HG--
extra : rebase_source : 1949d23a5ce0c15c266d9e67e6a6be7d650a51df
2010-01-12 15:14:38 -06:00
Chris Jones 876686b842 Small edit to comment. No r=, just want another set of talos runs.
--HG--
extra : rebase_source : 1316e80d35d9640b249be2f0d393c5a76dd7bd87
2010-01-12 02:25:18 -06:00
Chris Jones 2ce053f220 Bug 538586: Notify clients of channel errors if they call Close() before deleting themselves, but before the error notification event is delivered from the IO thread. r=bent
--HG--
extra : rebase_source : b363f3ab257e3aac3801c09e26ca2d9bf6cc3353
2010-01-12 00:14:32 -06:00
Chris Jones 95623c8719 bug 535867: fix threadsafety problem causing windows tinderbox error. r=trivial 2009-12-18 18:09:56 -06:00
Benjamin Smedberg b47d4a493d Bug 535298: Cancel the NotifyMaybeChannelError event if the AsyncChannel is destroyed, and allow AsyncChannel::Close() to be called after a channel error (e.g. child process crash). r=cjones 2009-12-17 18:12:03 -06:00
Chris Jones 4789db9117 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 8947a6d799 bug 533034: fix race condition that led to use-after-free. thanks valgrind! 2009-12-07 00:04:00 -06:00
Chris Jones 00b8eeb384 bug 532983: fix invalid memory reads caused by regressions in shutdown behavior. r=bsmedberg 2009-12-07 00:03:49 -06:00
Chris Jones af05884ad7 Fix MSVC warning 2009-12-04 16:27:59 -06:00
Chris Jones 1c25f716be 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 e17f4a3fa8 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 588f9c3710 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 adf54bbb48 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 2bad53b3cd 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 b63465ed03 Add WM_MOUSEACTIVATE to list of deferred messages 2009-12-02 18:51:29 -08:00
Ben Turner c16a5303f4 Add WM_CAPTURECHANGED to the list of delayed messages. 2009-12-01 15:09:33 -08:00
Ben Turner 171c2fd7f1 Fix PostDelayedTask in the message loop 2009-11-23 16:01:12 -05:00
Benjamin Smedberg 63a8ed4e8c 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 33303b63b6 bug 529234: make sure to cleanup child processes 2009-11-19 13:03:30 -06:00
Ben Turner b5d855e192 Bug 526361 - 'Defer nonqueued messages received during synchronous IPC calls'. r=jimm+rs. 2009-11-18 15:18:08 -08:00
Josh Matthews 43b575fc59 Bug 517963 - New-tab opening should not launch the content process synchronously r=cjones 2009-11-18 16:43:53 -05:00
Ben Turner 78b9279493 Bug 528144 - 'Missing IPC messages cause hang during xpcshell test' 2009-11-17 15:34:48 -08:00
Ben Turner f5e0292853 Fix bustage 2009-11-12 14:46:29 -08:00
Ben Turner ea90e1d517 Bug 525792 - 'Fix leaks running mochitests'. 2009-11-12 14:16:54 -08:00
Chris Jones a6eb9f951d 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 3ecf49ffd9 bug 526626: band-aids for shutdown assertions 2009-11-09 16:56:55 -06:00
Ben Turner 6b709d5c83 Bustage fix 2009-11-06 16:22:54 -08:00
Chris Jones 1d09b42dfa fix linux build 2009-11-06 17:51:04 -06:00
Ben Turner 371897fda8 Bug 522414 - 'RPC and Sync channels will deadlock easily on Windows'. r=jimm+rs. 2009-11-06 14:33:12 -08:00
Chris Jones ff3cdb9dd0 bug 526990: add support for serializing |float|s. no r=, trivial 2009-11-06 14:24:35 -06:00
Chris Jones 0555b3b979 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 dfe557b425 bug 525792: fix leaking PluginModules, call NP_Shutdown() on plugins. minor, no r= 2009-11-03 15:37:07 -06:00
Chris Jones 5f115af3bd attempt to fix build 2009-10-29 12:50:28 -05:00
Chris Jones 89f79268f0 build fix 2009-10-27 22:31:04 -05:00
Chris Jones 24ec1aa919 bug 523761: give top-level IPDL actors handles to each others' processes. r=bent 2009-10-27 16:52:37 -05:00
Chris Jones 637d1e450b bug 524767: add better error logging to *Channel. no r?, logging only 2009-10-27 16:32:55 -05:00
Chris Jones 4a5d5780c1 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 cf6e6c5c18 bug 521324: call the multi-threaded GLib initialization function. r=karlt 2009-10-19 11:28:42 -05:00
Chris Jones 0bdcfebbdd bug 521845: expand protocol space by 4x (temporarily) 2009-10-12 14:04:40 -05:00
Chris Jones 3178fb7f58 fix bugs in RPC race resolution 2009-10-09 01:21:39 -05:00
Chris Jones 401dbb86c1 hack around lack of C99 format specifiers on Windows 2009-10-08 18:07:24 -05:00
Chris Jones 69f1d9472a 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 a1bf0da8f0 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 488a82db2b Add threadsafety assertions to plugin code 2009-10-08 12:11:13 -07:00
Chris Jones daaa16efb8 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 acea15b10b 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 c19eaf95f9 bug 516798: fix busted actor-as-return-value handling in IPDL 2009-09-16 21:49:41 -05:00
Ben Turner 6e60758ac5 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 70e97708ae Fix nsTArray deserialization 2009-09-14 12:58:33 -07:00
Chris Jones 7fdb44540e unblock RPC waiters for async messages, for realz 2009-09-11 02:28:09 -05:00
Chris Jones 45238cc4a4 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 9988d69938 make RPC unblock for async and sync, as it supposed to have 2009-09-10 18:54:37 -05:00
Ben Turner 9be6ab9a0b Force child processes to close and wait for them on shutdown 2009-09-02 17:18:27 -07:00
Ben Turner d127d39066 Basic xpcshell test for testing IPDL 2009-09-01 15:17:24 -07:00
Chris Jones b1a481f984 bug 513920: synchronously "connect" to parent process from child process 2009-09-01 11:27:09 -05:00
Ben Turner 5e40a9c813 Rework chromium initialization, r=beast 2009-08-28 12:46:21 -07:00
Ben Turner 1094ca0d54 Backing out stuff that doesn't work 2009-08-27 16:05:38 -07:00
Ben Turner 1452dae7df Fix build bustage? 2009-08-27 15:54:05 -07:00
Ben Turner 04629837fd Rework chromium initialization, revert accidental change 2009-08-27 14:17:01 -07:00
Ben Turner d1fe55ed88 Rework chromium initialization 2009-08-27 14:11:10 -07:00
Ben Turner 447b61265c Fix testshell to use the new callback commands, and shut down properly 2009-08-25 16:07:22 -07:00
Robin Bate Beorop fd2302af3b 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 94ef1ca8f4 simplify some *Channel code. enforce more SyncChannel invariants 2009-08-19 10:44:56 -05:00
Chris Jones f410d28b87 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 e0aa6caead 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 7f122e6a77 Add extremely basic support for unblocking in the event of a bad message 2009-08-07 16:13:20 -07:00
Ben Turner d078811b87 Add test plugin for ipc, make sure it works 2009-08-05 15:36:33 -07:00
Ben Turner c19378d405 Use mozilla strings instead of std::string in IPDL 2009-07-29 14:12:15 -07:00
Chris Jones aca5ff7a41 Bug 506075: eliminate handshaking async constructor protocol, use smarter routing ID assignment 2009-07-24 18:24:27 -05:00
Ben Turner 1f7607eb15 Allow ipcshell to receive a response from its child process 2009-07-23 15:27:17 -07:00
Chris Jones ba8102bb18 add SyncLaunch() method to GeckoChildProcess class. remove much newly obseleted code. 2009-07-20 13:14:41 -05:00
Chris Jones f9e219f619 implement protocol manager support for all channel types, not just RPC 2009-07-20 11:59:51 -05:00
Chris Jones eb2de9cd73 stop flirting with MSVC8 name resolution bug. 2009-07-20 11:37:18 -05:00
Chris Jones 0a10ba6828 >--> @ MSVC8, v4 2009-07-15 17:33:37 -05:00
Chris Jones f58acdf8ef another stab at fixing MSVC8 build bustage. 2009-07-15 17:06:30 -05:00
Chris Jones 8f8ee13069 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 816df711fd attempt to fix build bustage when using MSVC8. 2009-07-15 13:41:09 -05:00
Chris Jones 717f0e725f update rgnrectallocator changes to match pending m-c patch. 2009-07-14 03:09:23 -05:00
Chris Jones b1ba73e3bc 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 d93aefa911 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 dc50039a28 first cut at AsyncChannel and SyncChannel. only RPCChannel is currently under warranty. 2009-07-13 16:55:04 -05:00
Benjamin Smedberg 598f5f2ff4 Build system for .ipdl files. 2009-07-13 12:14:56 -04:00
Ben Turner 74101c49a8 Adds the ipcshell application to test IPC 2009-07-11 02:33:10 -04:00
Chris Jones 1dfa893e50 use a single binary, mozilla-runtime, for all child processes 2009-07-10 14:03:09 -05:00
Benjamin Smedberg 20387f1c3f Goodbye, NO_NSPR_10 weirdness. 2009-07-07 12:25:00 -04:00
Chris Jones aaaf792e9e port IFrame protocol to new interface. fix small IPDL bug. 2009-07-02 19:24:02 -05:00
Ben Turner 808c61f598 merge bent's changes from libchromiumipc. Gtk plugins now drawing 2009-07-01 14:19:32 -07:00
Chris Jones dfbd660460 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 cb0768730e 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 03a0a0cda0 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 c31bc6a22d ipc/glue imported verbatim from http://hg.mozilla.org/users/bturner_mozilla.com/libchromiumipc/ 2009-06-29 14:38:29 -04:00
Benjamin Smedberg bad093c6b3 Bug 561817 part A: Entered/ExitedCall callbacks for toplevel actors upon RPC in-calls. r=bsmedberg 2010-04-29 11:49:00 -05:00