Commit Graph

47 Commits

Author SHA1 Message Date
Benjamin Smedberg
8adba8c2a2 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
Benjamin Smedberg
6f7867ca0f Bug 540858 part I: separate the refcount logging of NPObject (which works for both plugin and proxy NPObject) from ctor/dtor logging of ChildNPObject (proxy only), r=bent
--HG--
extra : transplant_source : %16%16%92s%8C%B1%AC%8AT%23%DF%DD%A0%B7RH%84C%A7%3A
2010-01-22 10:05:29 -05:00
Benjamin Smedberg
2bb6aa26c4 Bug 518924 - NPN_ScheduleTimer, and clean up asynccalls when the plugin instance is destroyed, r=cjones
--HG--
extra : transplant_source : %C8%97/%8E%1C%A4%89%26%98%C1%01u%8F%B2m%91%F8%F4%B7M
2010-01-19 22:13:24 -05:00
Karl Tomlinson
a753e3901b Bug 539897: Add missing socket_window reference due to GtkPlug bug. r=cjones
--HG--
extra : transplant_source : %D0%91%8Eoa%1F%00JDF%7Cj%AB%9A%C8%06%E13%E37
2010-01-19 15:45:56 -06:00
Karl Tomlinson
8b4c05501b Bug 538914: Undo incorrect unref of GtkPlug by plugin. r=roc r=cjones
--HG--
extra : transplant_source : sdX%A6%286%AD%29%DC%CE%BB%E5X%F4B%A3_d%A6N
2010-01-19 15:45:54 -06:00
Benjamin Smedberg
8cf3963e32 Bug 539755 - Implement NPN_GetValueForURL, NPN_SetValueForURL, and NPN_GetAuthenticationInfo, r=bent 2010-01-15 11:26:46 -05:00
Ben Turner
471d1a3e1b Bug 521377 - 'NPRuntime: Segfault when NPP_GetValue_NPPVpluginScriptableNPObject returns a null actor'. r=bsmedberg+valgrind.
--HG--
extra : transplant_source : %F8%7C%B6%C49%24%9A%E0%96%EA%10%E9%C7%C0%EF%EA%D6%7FT%9A
2010-01-15 12:35:57 -08:00
Peter Van der Beken
076d23ead6 Backout 76cdc8296409 and 9baa220b27c0 (Bug 521377 - 'NPRuntime: Segfault when NPP_GetValue_NPPVpluginScriptableNPObject returns a null actor') to try fo fix orange. 2010-01-19 13:00:58 +01:00
Ben Turner
37ff4409a5 Bug 521377 - 'NPRuntime: Segfault when NPP_GetValue_NPPVpluginScriptableNPObject returns a null actor'. r=bsmedberg+valgrind. 2010-01-15 12:35:57 -08:00
Benjamin Smedberg
84db3ddf86 Bug 531859 - Remove stdout spew from dom/plugins by using NSPR logging, r=cjones
--HG--
extra : transplant_source : fW%F0%06%1F%88%2C%F3l%B3%A0%F7b%D0%13%AE%D7%BD-%26
2009-12-18 17:22:51 -05:00
Chris Jones
a20ac7326a Bug 535687: Fix regression in forwarding NPN_InvalidateRect() for OOPP on linux. r=bent 2010-01-04 15:46:34 -06:00
Benjamin Smedberg
4164f7bfc5 Bug 518924 - Implement NPN_AsyncCallback r=cjones 2009-12-16 17:27:18 -05:00
Chris Jones
4572a1920a bug 529005: detect child process shutdowns vs. crashes, and expose this information to IPDL actors in a new |ActorDestroy(why)| interface. also ensure that subprotocol actors are notified of shutdown and cleaned up properly. r=bsmedberg r=bent 2009-12-03 02:16:28 -06:00
Chris Jones
4a0c6ae1dc 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
Ben Turner
b17063546e Bug 526401 - Fixup handling of null NPP. r=bsmedberg. 2009-12-01 13:27:13 -08:00
Benjamin Smedberg
f7eb5c27ab Bug 530894 - Clean up TODOs in the plugin stream remoting: if NPN_{Get,Post}URLNotify fail, clean up the actor properly. Also deal with null postdata, which currently causes significant problems for the in-process case (NPN_PostURLNotify succeeds, but NPP_URLNotify is never called). r=bent 2009-11-25 09:26:01 -05:00
Benjamin Smedberg
8f0adb5fe2 Don't use a static nsCString (causing leaks in the plugin process). Also, use NS_LogInit/NS_LogTerm for the child process so that leaks are reported at the right time. 2009-11-19 17:57:56 -05:00
Ben Turner
b6ef9679ad Followup to bug 527876 2009-11-13 13:19:33 -08:00
Ben Turner
42c5c160d1 Bug 527876 - 'test_windowed_invalidate.html hangs during mochitest-ipcplugins'. 2009-11-13 12:20:03 -08:00
Ben Turner
cafe07f11b Bug 525792 - 'Fix leaks running mochitests'. 2009-11-12 14:16:54 -08:00
Ben Turner
0a4603ecea Fix invalidation algorithm so that we never leave a deleted actor in the live hash map. 2009-11-11 17:12:01 -08:00
Chris Jones
5629855e23 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
Ben Turner
401a6884be Fix silly bugs 2009-11-09 17:30:02 -08:00
Chris Jones
f1358e3105 bug 525792: fix leaking PluginModules, call NP_Shutdown() on plugins. minor, no r= 2009-11-03 15:37:07 -06:00
Chris Jones
4f942a96f2 bug 523761: give top-level IPDL actors handles to each others' processes. r=bent 2009-10-27 16:52:37 -05:00
Ben Turner
927eca0769 Add NPN_Evaluate and NPN_Push/PopPopupsEnabledState support 2009-10-13 10:54:41 -07:00
Karl Tomlinson
3fa2368891 b=521376 remove XSynchronize from plugin process r=cjones 2009-10-12 12:54:49 +13:00
Chris Jones
952906a7a1 nsDependentCString must be null-terminated, but byte buffers do not. temporary fix until we start using a "real" byte buffer 2009-10-09 01:24:46 -05:00
Ben Turner
d8f6fca3ab Add threadsafety assertions to plugin code 2009-10-08 12:11:13 -07:00
Chris Jones
e163ed39df implement NPN_UserAgent, which was trickier than expected 2009-10-08 02:54:16 -05:00
Ben Turner
80b478e8c5 Bug 516524 - Support NPRuntime across processes. r=bsmedberg. 2009-10-07 16:50:48 -07:00
Karl Tomlinson
1187b43b45 b=519896 NPN_InvalidateRect r=cjones 2009-10-01 17:09:21 +13:00
Chris Jones
afed1a0211 update plugin process NPNetscapeFuncs interface (with stub impls) to the most recent NPAPI. 2009-09-29 13:50:11 -05:00
Chris Jones
0151e59e0a attempt to fix linux build 2009-09-25 00:17:29 -05:00
Chris Jones
0531f8f96b basic support for windowless X11 plugins. gfx not quite working yet 2009-09-24 21:03:59 -05:00
Benjamin Smedberg
3e1cc1bae2 Fix streams to work. Be consistent about AStream* for pdata/ndata. Set up pdata before actually calling the constructor. Implement functions which were stubbed out without TODO comments. This passes the stream tests!
--HG--
extra : rebase_source : fb5dbbd43a1588efad83b80760b82f40ad1eff3f
2009-09-22 17:06:00 -04:00
Chris Jones
4c587f8e45 bug 517977: require actor impls to override AllocPFoo/DeallocPFoo instead of PFooConstructor/PFooDestructor 2009-09-22 12:31:11 -05:00
Chris Jones
d484a65e38 bug 517923: support serializing ns*Strings that represent NULL, use this mechanism in PluginInstanceParent/PluginModuleChild. also add basic crash-handling to *Channel code and some NS_OVERRIDE annotations. 2009-09-21 21:02:15 -05:00
Benjamin Smedberg
b64d353fd6 Implement Plugin->Browser streams. In a very basic form the first plugin instantiation passes the new plugin stream tests, but subsequent instantiations don't: I think there's some shutdown/startup issue (the plugin is being unloaded, perhaps?) 2009-09-21 10:51:35 -04:00
Ben Turner
eb6738b7b5 More nsresult -> bool fixes, and fix windows bustage from NPEvent stub impl. 2009-09-19 12:24:24 -07:00
Chris Jones
8c37ed70aa fix changes that busted ipc-test plugin 2009-09-17 20:49:04 -05:00
Chris Jones
03947f0bf3 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
5927a0e5fb Landing the first part of NPRuntime support for plugin-side objects. Not hooked up yet. 2009-09-17 15:15:12 -07:00
Benjamin Smedberg
16ebf43c77 Actually implement the geturl/posturl functions on the child-side plugin host. 2009-09-15 15:48:18 -04:00
Ben Turner
d21caee81e Add support for NPIdentifiers to oop plugins 2009-09-14 13:01:31 -07:00
Ben Turner
c6ad60ed4d Remove 'Protocol' suffix from IPDL-generated files 2009-09-09 15:59:06 -07:00
Ben Turner
fd54229708 Rename plugin protocols and fix up usage
--HG--
rename : dom/plugins/NPP.ipdl => dom/plugins/PPluginInstance.ipdl
rename : dom/plugins/NPAPI.ipdl => dom/plugins/PPluginModule.ipdl
rename : dom/plugins/NPObject.ipdl => dom/plugins/PPluginScriptableObject.ipdl
rename : dom/plugins/NPBrowserStream.ipdl => dom/plugins/PPluginStream.ipdl
rename : dom/plugins/NPPInstanceChild.cpp => dom/plugins/PluginInstanceChild.cpp
rename : dom/plugins/NPPInstanceChild.h => dom/plugins/PluginInstanceChild.h
rename : dom/plugins/NPPInstanceParent.cpp => dom/plugins/PluginInstanceParent.cpp
rename : dom/plugins/NPPInstanceParent.h => dom/plugins/PluginInstanceParent.h
rename : dom/plugins/NPAPIPluginChild.cpp => dom/plugins/PluginModuleChild.cpp
rename : dom/plugins/NPAPIPluginChild.h => dom/plugins/PluginModuleChild.h
rename : dom/plugins/NPAPIPluginParent.cpp => dom/plugins/PluginModuleParent.cpp
rename : dom/plugins/NPAPIPluginParent.h => dom/plugins/PluginModuleParent.h
rename : dom/plugins/NPObjectChild.cpp => dom/plugins/PluginScriptableObjectChild.cpp
rename : dom/plugins/NPObjectChild.h => dom/plugins/PluginScriptableObjectChild.h
rename : dom/plugins/NPObjectParent.cpp => dom/plugins/PluginScriptableObjectParent.cpp
rename : dom/plugins/NPObjectParent.h => dom/plugins/PluginScriptableObjectParent.h
rename : dom/plugins/NPBrowserStreamChild.cpp => dom/plugins/PluginStreamChild.cpp
rename : dom/plugins/NPBrowserStreamChild.h => dom/plugins/PluginStreamChild.h
rename : dom/plugins/NPBrowserStreamParent.cpp => dom/plugins/PluginStreamParent.cpp
rename : dom/plugins/NPBrowserStreamParent.h => dom/plugins/PluginStreamParent.h
2009-09-08 23:31:35 -07:00