Commit Graph

141 Commits

Author SHA1 Message Date
Jim Mathies
2e14c78a7e Bug 563847 - [OOPP] Fix for crash [@ ntdll.dll@0x222a2 ] [@ RtlEnterCriticalSection ] (from PluginInstanceChild::FlashThrottleMessage). r=bent. 2010-05-06 11:40:26 -05:00
Benjamin Smedberg
e24771ce97 Bug 561817 part B - Install the nested event loop tracking mechanism for all RPC calls to plugins, not just specific handle-event calls, r=jimm 2010-04-30 14:42:51 -04:00
Karl Tomlinson
b54c9fe67a b=561308,539138 Realize GtkPlugs when associated with a socket for consistency with in-process behavior r=cjones
--HG--
extra : rebase_source : 96d433c381d6d560ddd566572cfc143d91113453
2010-04-29 22:43:15 +12:00
Benjamin Smedberg
67995408eb Bug 561871 part B: don't use Windows events to enter/exit a nested event loop within an RPC stack frame, because delivery of those events isn't always associated with the correct stack frame, and also because the events can be lost if they race with an incoming RPC reply message. Instead, keep a linked list (on the stack) of RPC frames globally and per-channel, to associate requests to enter a nested event loop with the correct frame, r=jimm
--HG--
extra : rebase_source : 694186dde4643904752c67e0c6eb7a6ad1dd2082
2010-04-28 11:01:09 -04:00
Jim Mathies
c9d1673369 Bug 558629 - Meter WM_USER events for Flash in PluginInstanceChild to improve responsiveness and lower CPU utilization. r=bsmedberg, a=developers. 2010-04-26 11:29:11 -05:00
Jim Mathies
2c972dc33b Bug 561495 - [OOPP] Mouse wheel and related windowing event hangs. r=masayuki, a=jrmuizel. 2010-04-26 10:05:29 -05:00
Benoit Girard
9897b0a83e Bug 555281 - Implement Core Animation NPAPI Drawing Model for OOPP. r=joe,josh,cjones
--HG--
extra : rebase_source : 8cc45083e0b513902c467c8c89248474c21b7923
2010-04-20 10:52:19 -04:00
Benoit Girard
046173124b Backed out changeset 44ee6030f4b2 2010-04-19 02:57:22 -04:00
Benoit Girard
b6d069f2c9 Bug 555281 - Implement Core Animation NPAPI Drawing Model for OOPP. r=joe,josh,cjones
--HG--
extra : rebase_source : 29f581f60c6db0e8945a5121cf2d7007b10a7433
2010-04-18 19:46:33 -04:00
Benoit Girard
b53f0597df Clear OOP CGContext for transparent plug-ins. b=557534 r=josh
--HG--
extra : rebase_source : 267e6db3a94758cc2834e5f48baf759bbaad1566
2010-04-06 15:02:54 -04:00
Jim Mathies
dff53c0295 Bug 552062 - [OOPP] Black Background on certain Flash Objects. r=bent. 2010-04-05 11:43:55 -05:00
Jim Mathies
b170e75577 Bug 535295 - [OOPP] Tearing/Repainting issues with flash videos, their controls and other page content during/after scrolling. r=roc. 2010-04-05 11:43:13 -05:00
Benoit Girard
8e7c8c5f5b Optimize Core Graphics drawing model OOPP implementation. b=555835 r=josh 2010-04-01 17:53:56 -04:00
Josh Aas
9aa84a5f00 [OOPP] Serialize remaining Cocoa NPAPI events, including keyboard events. b=555300 r=cjones 2010-03-29 15:27:49 -04:00
Benjamin Smedberg
2e0b8d0752 Bug 542700 - Async calls aren't cancelled when the instance is destroyed, and the list of pending calls isn't protected against simultaneous access, r=cjones
--HG--
extra : rebase_source : b0949fd4921d1dbb558e84e191387964af5767fc
2010-03-25 14:25:38 -04:00
Josh Aas
fc1d594cb2 Initialize NPP structure's pdata pointer to NULL. Plugins can mistake an uninitialized non-NULL value for their own instance pointer and try to dereference it. b=555312 r=BenWa 2010-03-29 10:16:27 -04:00
Benoit Girard
99e5fc5faf Implement Core Graphics drawing model for out-of-process plugins. b=554676 r=josh sr=cjones 2010-03-26 16:07:37 -04:00
Jim Mathies
a149cb14ad Bug 545149 - Fix various issues with winless plugin context menus. r=bent. 2010-03-22 22:06:35 -05:00
Chris Jones
42f30e5822 Bug 549888: Have the browser win NPP_SetWindow races, and add a special-cased NPP_HandleEvent async WindowPosChanged message for windows. r=jimm,karlt 2010-03-22 17:35:15 -05:00
Josh Aas
09fc21cbeb Allow Gecko to build and run on Mac OS X with MOZ_IPC defined. b=552862 r=cjones 2010-03-17 14:38:28 -04:00
Josh Aas
c953e77bdc Fix incorrect type usage for NPP_SetValue NPNVprivateModeBool. b=544158 r=karlt 2010-03-17 13:17:09 -04:00
Jim Mathies
4734d89b66 Bug 546766 - Don't trust plugin return values for getvalue calls. r=bsmedberg. 2010-03-13 17:57:53 -06:00
Benjamin Smedberg
e5aab11778 Merge and review fixup from async streams, bug 551049 2010-03-11 11:56:35 -05:00
Benjamin Smedberg
1a54d18a03 Bug 551049 part 3: delay the delivery of NPP_URLNotify until the related stream is completely delivered and destroyed, and propagate errors from NPP_Write and NPN_DestroyStream back to NPP_URLNotify r=bent 2010-03-06 16:03:05 -05:00
Benjamin Smedberg
3ec1519e77 Bug 551387 - octoshape plugin crashes because it doesn't implement NPNFunctions.setwindow, r=bent 2010-03-10 10:54:22 -05:00
Benjamin Smedberg
a87ccb8301 Bug 550305 - Reduce round-trips by making some NPRuntime/scriptable methods async instead of RPC, r=bent 2010-03-04 16:20:14 -05:00
Benjamin Smedberg
cdf15ace3b Bug 544074 - Crashes at mozilla::plugins::PluginModuleChild::UnregisterActorForNPObject - the hash of scriptable objects is mutating while we enumerate the actors being destroyed after a plugin instance is destroyed. Save the list of actors off into a separate non-mutating table, r=bent 2010-02-24 16:14:13 -05:00
Jim Mathies
5dc5015ef8 Bug 547353 - [OOPP] Mouse pointer coordinates misaligned with winless Silverlight. r=bent. 2010-02-24 16:13:48 -08:00
Ben Turner
236e97e5cd Bug 535017 - 'IPC plugins should cache well-known scriptable objects to avoid unnecessary actor creation/destruction'. r=bsmedberg. 2010-02-20 13:59:40 -08:00
Jim Mathies
094bf7e9a3 Bug 543201 - [OOPP] Shockwave window position is not correct. r=bent. 2010-02-18 14:20:25 -06:00
Karl Tomlinson
a4cd333dde b=543901 only call NPPluginFuncs::getvalue when non-NULL and remove NPP_GetValue NPPVpluginWindowBool NPPVpluginTransparentBool r=cjones 2010-02-04 13:02:48 +13:00
Chris Jones
592ad302a1 Log "schlepping drawable" messages as PLUGIN_LOG_DEBUG. no r=, trivial
--HG--
extra : transplant_source : %10%9E-%8B%09%5D2%F6%97%C0k%0E%08%20%A1%1C%1B%B1%23z
2010-02-10 17:17:33 -06:00
Jim Mathies
c877b84ecc 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
Oleg Romashin
afd6f98795 bug 544193 - Qt version for plugins embedding functionality required. r=mozbugz. 2010-02-10 22:48:20 +02:00
Benjamin Smedberg
16f9bfea5a Bug 541646 - Crash when Flash is running and we enter private browsing mode, r=bent
--HG--
extra : rebase_source : 5f6d75689cf70f6c7bdd578da0021287bfe22737
2010-02-03 17:17:28 -05:00
Benjamin Smedberg
30bd4e4e51 Bug 516515 - Don't initialize XPCOM in plugin processes, r=cjones
--HG--
extra : rebase_source : cab356b862a66fb7f5955b1f936944f2395bba3c
2010-02-03 17:17:09 -05:00
Oleg Romashin
959dec8b52 Bug 534644 - e10s: implement Qt ipc/chromium backend, part 2. r=benjamin. 2010-01-29 08:50:44 +02:00
Ben Turner
1e94a6bac2 Bug 542337 - '[OOPP] hang in test_plugin_clipping2.xhtml'. r=jimm.
--HG--
extra : rebase_source : 22b97f9252c02f7343d12b60fa9cd93cfbe12a25
2010-01-26 16:08:39 -08:00
Jim Mathies
877cceccfa Bug 541362 - [OOPP] hang closing tab with Yahoo web messenger loaded. r=bent.
--HG--
extra : rebase_source : 007df4403cc58cb02579723991827795e031f6bd
2010-01-26 15:40:43 -06:00
Jim Mathies
757c1b3d63 Bug 540052 - [OOPP] Test failure in test_plugin_focus.html. r=bent.
--HG--
extra : rebase_source : bdb40f27e098519ecd71abd75a80e8e612f888f8
2010-01-26 15:40:15 -06:00
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
a99d2bc8fe Bug 540775 - Implement NPP_SetValue(NPNVprivateModeBool), r=cjones
--HG--
extra : transplant_source : %C7T%9D%9E%A5%E8%B5HP%D8%DD%28%C6%C5%5E%9CS%9C%20%80
2010-01-19 22:23:35 -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
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
Benjamin Smedberg
51181a42aa Bug 539280 - Add support for NPNVnetscapeWindow query on Linux, r=karlt 2010-01-14 10:18:34 -05: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
Jim Mathies
938c329d54 Bug 536369 - OOPP: Add NPNVnetscapeWindow support for windows. r=bsmedberg. 2010-01-13 19:47:38 -06:00
Chris Jones
709ae3ce2b Bug 538537: Guard BrowserStreams from being deleted from within their constructor. r=bsmedberg 2010-01-12 17:06:18 -06: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
fc78df75e6 Fix windows bustage caused by 04d6f128da25 2010-01-04 16:41:34 -06: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
Chris Jones
cb0d649a87 bug 535073: prevent plugins from corrupting the stack by making word-size stores to pointers to NPBool (unsigned char). r=bsmedberg 2009-12-17 00:32:44 -06:00
Jim Mathies
23118539a9 Bug 531860 - plugin-alpha-zindex ref test fails with oopp enabled. r=jmuizelaar. 2009-12-14 18:27:25 -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
Chris Jones
411500f1ca Build fix 2009-12-01 17:33:51 -06:00
Jim Mathies
0ffd1b2e75 Bug 522299 - Electrolysis: Get windowless plugins drawing on win32. r=jmuizelaar. 2009-12-01 15:05:26 -06: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
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
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
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
Chris Jones
e1e761401a bug 506171: rewrite lower.py and add native IPDL arrays. 2009-10-16 18:31:53 -05:00
Karl Tomlinson
3fa2368891 b=521376 remove XSynchronize from plugin process r=cjones 2009-10-12 12:54:49 +13:00
Ben Turner
d8f6fca3ab Add threadsafety assertions to plugin code 2009-10-08 12:11:13 -07:00
Ben Turner
80b478e8c5 Bug 516524 - Support NPRuntime across processes. r=bsmedberg. 2009-10-07 16:50:48 -07: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
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
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
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
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
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
79d7e994f0 Implement NPN_GetURLNotify/NPN_PostURLNotify/NPP_URLNotify. Still without any tests! 2009-09-08 17:22:50 -04:00
Ben Turner
c6ad60ed4d Remove 'Protocol' suffix from IPDL-generated files 2009-09-09 15:59:06 -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
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