Benjamin Smedberg
|
aa44111ad9
|
TODO-removal: make NullableStringGet an inline function instead of a macro, and make NullableString an inline function in mozilla::plugins instead of in an anonymous namespace: no need to have a separate copy of it for each translation unit.
|
2009-11-25 15:07:45 -05:00 |
|
Benjamin Smedberg
|
3815e2f045
|
More TODOs in the the plugin stream code, use the NullableString mechanisms which were invented after this landed.
|
2009-11-25 10:34:59 -05: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
|
bb315f002e
|
Backed out changeset 97c456993dbd -- red herring, no need for this debugging spew.
|
2009-11-20 13:48:42 -05:00 |
|
Chris Jones
|
fe82937760
|
temporary debugging spew to check bug 529234
|
2009-11-20 11:54:46 -06:00 |
|
Benjamin Smedberg
|
bda0f732bc
|
Don't crash if NP_Initialize failed remotely: PluginLibrary::NP_Initialize returns an nsresult, not a NPError; nsNPAPIPlugin::CreatePlugin fails but still sets the outparam; nsPluginHost doesn't properly rv-check nsNPAPIPlugin::CreatePlugin, which causes us to think the bad plugin is actually good. I hate stupid failure chains!
|
2009-11-20 10:34:20 -05:00 |
|
Chris Jones
|
9a696edbf3
|
bug 530007: fix crashing edge cases in the hope of getting better diagnostics about failed tests
|
2009-11-20 02:23:07 -06: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
|
e9917531bc
|
Fix bad allocation pattern in NPP_New
|
2009-11-19 14:47:09 -08: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 |
|
Chris Jones
|
64b9366a4d
|
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 |
|
Ben Turner
|
cafe07f11b
|
Bug 525792 - 'Fix leaks running mochitests'.
|
2009-11-12 14:16:54 -08:00 |
|
Benjamin Smedberg
|
effd77def4
|
Don't rely on the plugin methods to return a non-null actor when the say NPERR_NO_ERROR... crashing here is a no-no even if the plugin is stupid.
|
2009-11-11 17:01:07 -05: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 |
|
Phineas T. Farnsworth
|
c1f7d557dc
|
bug 526626: band-aids for shutdown assertions
|
2009-11-09 16:56:55 -06:00 |
|
Ben Turner
|
d1a97dd911
|
Bug 522414 - 'RPC and Sync channels will deadlock easily on Windows'. r=jimm+rs.
|
2009-11-06 14:33:12 -08:00 |
|
Chris Jones
|
721479dcd3
|
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
|
f1358e3105
|
bug 525792: fix leaking PluginModules, call NP_Shutdown() on plugins. minor, no r=
|
2009-11-03 15:37:07 -06:00 |
|
Benjamin Smedberg
|
3367daa125
|
Remove stale TODO, this will be properly covered by parent-side error handling events.
|
2009-11-02 11:48:52 -05:00 |
|
Benjamin Smedberg
|
f0f56fb840
|
Linux build bustage from previous commit, bug 525605.
|
2009-10-31 15:32:06 -04:00 |
|
Benjamin Smedberg
|
c7b65d066d
|
Bug 525605 - Windows unit tests orange loading plugins: on Windows, the directly-imported plugin functions are WINAPI, so we need to use careful typedefs to get the calling convention right.
|
2009-10-31 15:22:02 -04:00 |
|
Benjamin Smedberg
|
b0a9529f7f
|
Bug 525454 - Crash in mochitest-ipcplugins where NPP_Invoke returns the last reference to an object. Also fixes an operator-precedence error.
|
2009-10-30 17:02:47 -04: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 |
|
Chris Jones
|
db4d86c978
|
Make a DEBUG_cjones log message DEBUG
|
2009-10-27 16:07:49 -05:00 |
|
Benjamin Smedberg
|
1b97d8b940
|
Linux build bustage from bug 522122.
|
2009-10-27 16:59:40 -04:00 |
|
Jeff Muizelaar
|
31d0efb7ae
|
Bug 522122. Electrolysis: Forawrd windows events to windowless plugins. r=cjones,karlt
This gets windowless plugin events mostly working. We don't forward IME events because
they are much more complicated.
|
2009-10-27 15:58:33 -04:00 |
|
Josh Aas
|
39b3aac40a
|
Allow multiple types of OOP plugins to load. b=516509 r=cjones
|
2009-10-27 15:51:12 -04:00 |
|
Chris Jones
|
0564ad103d
|
bug 523143: switch protocols using nsTArray to native IPDL arrays
|
2009-10-19 14:10:52 -05:00 |
|
Chris Jones
|
e1e761401a
|
bug 506171: rewrite lower.py and add native IPDL arrays.
|
2009-10-16 18:31:53 -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
|
970c751691
|
Remove testplugin for ipc, we can run the real one now.
|
2009-10-08 14:40:51 -07:00 |
|
Ben Turner
|
dfe7dc6f40
|
Oops, revert bad changes
|
2009-10-08 12:23:04 -07:00 |
|
Ben Turner
|
d8f6fca3ab
|
Add threadsafety assertions to plugin code
|
2009-10-08 12:11:13 -07:00 |
|
Ben Turner
|
f26ec904ef
|
Oops, missed two
|
2009-10-08 11:45:20 -07:00 |
|
Ben Turner
|
366f27bdff
|
Crash fixes, must initialize variants before returning true
|
2009-10-08 11:36:50 -07:00 |
|
Chris Jones
|
e163ed39df
|
implement NPN_UserAgent, which was trickier than expected
|
2009-10-08 02:54:16 -05:00 |
|
Chris Jones
|
b67d0407f8
|
fix some simple crasher bugs
|
2009-10-08 00:49:30 -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 |
|
Karl Tomlinson
|
1ab026f529
|
b=519641 pass visual and colormap to plugin process r=cjones
|
2009-10-01 10:36:14 +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
|
0ae3b43203
|
fix stupid bug in deserialization of NPWindow. X11 windowless plugins now work.
|
2009-09-25 15:35:03 -05:00 |
|
Chris Jones
|
09dd02217f
|
forward NPWindow.{x, y} properly. no windowless gfx yet, but closer. thanks=karlt
|
2009-09-25 11:16:44 -05:00 |
|
Chris Jones
|
0151e59e0a
|
attempt to fix linux build
|
2009-09-25 00:17:29 -05:00 |
|
Chris Jones
|
22800f56d8
|
pre-fix windows bustage. thanks=bent
|
2009-09-24 21:14:41 -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
|
7464979f8c
|
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
|
b4b02694d7
|
Bustage fix for linux
|
2009-09-23 00:48:28 -07:00 |
|
Ben Turner
|
fb65d976a0
|
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
|
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 |
|
Benjamin Smedberg
|
b492f5cb54
|
__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
|
eb6738b7b5
|
More nsresult -> bool fixes, and fix windows bustage from NPEvent stub impl.
|
2009-09-19 12:24:24 -07:00 |
|
Chris Jones
|
fcd45719e6
|
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
|
0b4ab180ee
|
Fix up dom/plugins code for bug 516661 - no more nspluginsdefs.h!
|
2009-09-18 17:01:09 -04: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
|
b407807f12
|
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
|
16ebf43c77
|
Actually implement the geturl/posturl functions on the child-side plugin host.
|
2009-09-15 15:48:18 -04:00 |
|
Ben Turner
|
cce28b953f
|
Further fixes for unions
|
2009-09-14 19:26:17 -07:00 |
|
Ben Turner
|
7c57ab02d5
|
Add simple tests for NPIdentifiers in testplugin
|
2009-09-14 15:35:02 -07:00 |
|
Ben Turner
|
d21caee81e
|
Add support for NPIdentifiers to oop plugins
|
2009-09-14 13:01:31 -07:00 |
|
Benjamin Smedberg
|
3c02ab3b1b
|
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
|
0c3c67bde3
|
Fix Windows build bustage from the NPN_GetURLNotify patch.
|
2009-09-11 13:52:53 -04:00 |
|
Benjamin Smedberg
|
79d7e994f0
|
Implement NPN_GetURLNotify/NPN_PostURLNotify/NPP_URLNotify. Still without any tests!
|
2009-09-08 17:22:50 -04:00 |
|
Chris Jones
|
e20692ab9b
|
add discriminated union types to IPDL
|
2009-09-10 23:55:03 -05:00 |
|
Ben Turner
|
c6ad60ed4d
|
Remove 'Protocol' suffix from IPDL-generated files
|
2009-09-09 15:59:06 -07:00 |
|
Ben Turner
|
dccb0805dd
|
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
|
09ee5262ac
|
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
|
9b4c68bafb
|
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
|
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 |
|
Benjamin Smedberg
|
21fc0c7806
|
Revert accidental commit of printf-debugging code in the test plugin.
|
2009-09-08 16:05:12 -04:00 |
|
Benjamin Smedberg
|
2d9e19df05
|
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
|
0f1d5c36a0
|
Force child processes to close and wait for them on shutdown
|
2009-09-02 17:18:27 -07:00 |
|
Robin Bate Beorop
|
b7c4e982b3
|
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
|
bca8ff5efc
|
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
|
f09e5b1b04
|
build on 64-bit linux
|
2009-08-12 00:41:55 -05:00 |
|
Ben Turner
|
5e45b0c25d
|
Skeleton implementation for NPObject remoting
|
2009-08-10 16:28:22 -07:00 |
|
Ben Turner
|
1088815043
|
Add extremely basic support for unblocking in the event of a bad message
|
2009-08-07 16:13:20 -07:00 |
|
Ben Turner
|
2f24daa576
|
Add test plugin for ipc, make sure it works
|
2009-08-05 15:36:33 -07:00 |
|
Ben Turner
|
5cb28b62f1
|
Don't abort if more than one arg is passed to a plugin
|
2009-08-05 13:49:13 -07:00 |
|
Ben Turner
|
d4bb2883d3
|
Use mozilla strings instead of std::string in IPDL
|
2009-07-29 14:12:15 -07:00 |
|
Benjamin Smedberg
|
0501b7a589
|
Make --disable-ipc work... mac-ppc now builds by default.
|
2009-07-20 15:04:52 -04:00 |
|
Chris Jones
|
cc9c58dbcb
|
add SyncLaunch() method to GeckoChildProcess class. remove much newly obseleted code.
|
2009-07-20 13:14:41 -05:00 |
|
Benjamin Smedberg
|
28d4675b23
|
Build system for .ipdl files.
|
2009-07-13 12:14:56 -04: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
|
e6c73d1542
|
use a single binary, mozilla-runtime, for all child processes
|
2009-07-10 14:03:09 -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 |
|
Benjamin Smedberg
|
0cf96b07ba
|
Commit new versions of generated headers.
|
2009-07-07 11:20:51 -04:00 |
|
Ben Turner
|
67ac5c13b2
|
Some windows build fixup
|
2009-07-02 13:48:33 -07:00 |
|
Ben Turner
|
73f03dff53
|
merge bent's changes from libchromiumipc. Gtk plugins now drawing
|
2009-07-01 14:19:32 -07: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
|
5a4dce8f48
|
Hook up the tab child process
|
2009-06-30 15:21:25 -04:00 |
|
Benjamin Smedberg
|
8620d95413
|
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 |
|