Commit Graph

1515 Commits

Author SHA1 Message Date
Ben Turner
e512cd4cd8 Crash fixes, must initialize variants before returning true 2009-10-08 11:36:50 -07:00
Chris Jones
745fd38927 implement NPN_UserAgent, which was trickier than expected 2009-10-08 02:54:16 -05:00
Chris Jones
f3992ab813 fix some simple crasher bugs 2009-10-08 00:49:30 -05:00
Ben Turner
423c5543dd Bug 516524 - Support NPRuntime across processes. r=bsmedberg. 2009-10-07 16:50:48 -07:00
Karl Tomlinson
3ed5b0a4b2 b=519896 NPN_InvalidateRect r=cjones 2009-10-01 17:09:21 +13:00
Karl Tomlinson
6256ea2a09 b=519641 pass visual and colormap to plugin process r=cjones 2009-10-01 10:36:14 +13:00
Chris Jones
f8a593bfbe update plugin process NPNetscapeFuncs interface (with stub impls) to the most recent NPAPI. 2009-09-29 13:50:11 -05:00
Chris Jones
4592c2c15d fix stupid bug in deserialization of NPWindow. X11 windowless plugins now work. 2009-09-25 15:35:03 -05:00
Chris Jones
c83bd901e1 forward NPWindow.{x, y} properly. no windowless gfx yet, but closer. thanks=karlt 2009-09-25 11:16:44 -05:00
Chris Jones
39379cfc8a attempt to fix linux build 2009-09-25 00:17:29 -05:00
Chris Jones
13cbfa2955 pre-fix windows bustage. thanks=bent 2009-09-24 21:14:41 -05:00
Chris Jones
026f20f14d basic support for windowless X11 plugins. gfx not quite working yet 2009-09-24 21:03:59 -05:00
Benjamin Smedberg
b30e208aa5 More plugin crash fixes: failure from NPP_Write doesn't actually destroy the stream, it just tells the browser to destroy the stream. NPP_NewStream resulting from NPN_GetURLNotify didn't have the notifyData field set correctly. Other minor logging and cleanup.
--HG--
extra : rebase_source : 932c0290a7c1779275266607d5e853d5c1994396
2009-09-23 19:00:23 -04:00
Ben Turner
f726ffaf7b Bustage fix for linux 2009-09-23 00:48:28 -07:00
Ben Turner
e79eab04e0 Finish up child-side NPRuntime. Now plugin-provided NPObjects should be totally supported. Browser-provided objects still unsupported. 2009-09-23 00:12:52 -07:00
Benjamin Smedberg
2efdc3145d 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
8d3e0640b8 bug 517977: require actor impls to override AllocPFoo/DeallocPFoo instead of PFooConstructor/PFooDestructor 2009-09-22 12:31:11 -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
Benjamin Smedberg
7a91b6b1de 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
Benjamin Smedberg
2056ffeb78 __FUNCTION__ is not a preprocess macro: it is a symbol which ends up being a const char* for the current function. You can't concatenate it with other stuff. 2009-09-21 11:46:38 -04:00
Ben Turner
7935719c87 More nsresult -> bool fixes, and fix windows bustage from NPEvent stub impl. 2009-09-19 12:24:24 -07:00
Chris Jones
ccac220704 fix more bustage related to nsresult-to-bool switch. committing initial (untested!) NPEvent forwarding caught in the crossfire 2009-09-18 20:19:11 -05:00
Benjamin Smedberg
379dcfab05 Fix up dom/plugins code for bug 516661 - no more nspluginsdefs.h! 2009-09-18 17:01:09 -04:00
Chris Jones
16c57e27c9 fix changes that busted ipc-test plugin 2009-09-17 20:49:04 -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
Benjamin Smedberg
1bbec701d1 Bug 517207 - Implement NPN_GetValue, r?bent. I use separate messages for each getvalue property instead of an integer/enumeration and a variant because for each message, the type returned is static: this avoids a lot of dynamic checking for correct enumeration values and variant types. r=bent 2009-09-15 16:33:24 -04:00
Benjamin Smedberg
63dd6aeab8 Actually implement the geturl/posturl functions on the child-side plugin host. 2009-09-15 15:48:18 -04:00
Ben Turner
b063012cae Further fixes for unions 2009-09-14 19:26:17 -07:00
Ben Turner
366a3cf8ce Add simple tests for NPIdentifiers in testplugin 2009-09-14 15:35:02 -07:00
Ben Turner
af82cf26df Add support for NPIdentifiers to oop plugins 2009-09-14 13:01:31 -07:00
Benjamin Smedberg
d96f7451fa The functions which accept a NPP instance parameter don't need the special shim: just make them static functions on PluginModuleParent. This leaves only the following functions which will need special treatment in the Mozilla plugin host:
* NP_Initialize
* NP_GetEntryPoints
* NP_Shutdown
* NP_GetPluginVersion
* NP_GetValue
* NPP_New
* NP_GetMIMEDescription
2009-09-14 14:56:23 -04:00
Benjamin Smedberg
c23fd76f77 Fix Windows build bustage from the NPN_GetURLNotify patch. 2009-09-11 13:52:53 -04:00
Benjamin Smedberg
b11c695563 Implement NPN_GetURLNotify/NPN_PostURLNotify/NPP_URLNotify. Still without any tests! 2009-09-08 17:22:50 -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
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
Benjamin Smedberg
8f891f87cd PPluginStream is badly named: there is going to be a PPluginStream, but it's not this!
--HG--
rename : dom/plugins/PluginStreamChild.cpp => dom/plugins/BrowserStreamChild.cpp
rename : dom/plugins/PluginStreamChild.h => dom/plugins/BrowserStreamChild.h
rename : dom/plugins/PluginStreamParent.cpp => dom/plugins/BrowserStreamParent.cpp
rename : dom/plugins/PluginStreamParent.h => dom/plugins/BrowserStreamParent.h
rename : dom/plugins/PPluginStream.ipdl => dom/plugins/PBrowserStream.ipdl
2009-09-09 10:04:09 -04: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
06029219b0 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
Benjamin Smedberg
069f02260e Revert accidental commit of printf-debugging code in the test plugin. 2009-09-08 16:05:12 -04:00
Benjamin Smedberg
28dfae6b92 Implement browser streams (NPStream from the plugin host to the plugin). Unfortunately, there aren't any tests for this stuff at all. Various related APIs like NPN_GetURLNotify are not yet implemented and will require changes to the protocol structure (you have to be able to associate a browser stream with a notify request through NPStream->notifyData). 2009-08-18 16:20:03 -04:00
Ben Turner
7e8db9f9a4 Force child processes to close and wait for them on shutdown 2009-09-02 17:18:27 -07: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
Benjamin Smedberg
97dfb1e921 Remove #ifdef 0 functions in nsNPAPIPluginParent which definitely won't live there. Some (memory allocation/deallocation) are local, while others should just be instance methods on the NPP wrappers. 2009-08-14 14:47:30 -04:00
Chris Jones
f02911c98e build on 64-bit linux 2009-08-12 00:41:55 -05:00
Ben Turner
88db6a6673 Skeleton implementation for NPObject remoting 2009-08-10 16:28:22 -07: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
Ben Turner
a6cb8553d3 Add test plugin for ipc, make sure it works 2009-08-05 15:36:33 -07:00
Ben Turner
73c91dbd7b Don't abort if more than one arg is passed to a plugin 2009-08-05 13:49:13 -07:00
Ben Turner
ff67e8afc3 Use mozilla strings instead of std::string in IPDL 2009-07-29 14:12:15 -07: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
Benjamin Smedberg
fc924865a3 Build system for .ipdl files. 2009-07-13 12:14:56 -04: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
3835b44362 use a single binary, mozilla-runtime, for all child processes 2009-07-10 14:03:09 -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
Benjamin Smedberg
20278b20ba Commit new versions of generated headers. 2009-07-07 11:20:51 -04: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
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
cb52b46f78 Hook up the tab child process 2009-06-30 15:21:25 -04:00
Benjamin Smedberg
5a0b8bf812 Plugins stuff: this code is equivalent to electrolysis-tmp revision 61cd9e89fd00, except that I had to merge forward a minor change to the plugin-loading code from Josh's cleanup. 2009-06-30 14:51:05 -04:00