Commit Graph

141 Commits

Author SHA1 Message Date
Benjamin Smedberg
8c94839c1b Bug 614979 - Flash plugin crashes because we don't destroy the plugin window right after NPP_Destroy, which means that messages are being delivered and causing async messages to be queued after NPP_Destroy. Destroy the window earlier, r=jimm a=blocker 2010-12-09 09:54:26 -05:00
Benjamin Smedberg
4be20f111a Bug 556194 - Use-after-free of PluginInstanceChild::mAsyncCallMutex - don't clear the pending async calls until after NPP_Destroy is called, because it is a synchronization point. r=cjones a=blocker 2010-12-07 10:05:56 -05:00
Jim Mathies
e7d876bbd3 Bug 604303 - Fixup linux expose quirk to use PluginModuleChild quirks system. r=karlt, a=betaN. 2010-12-06 18:50:53 -06:00
Jim Mathies
1a1c762758 Bug 604303 - Move plugin quirks from PluginInstanceChild to PluginModuleChild. r=bsmedgerg, a=betaN. 2010-12-06 18:50:47 -06:00
Robert O'Callahan
1f241efa1c Bug 615417. Postpone AsyncSetWindow processing until we're not in the middle of painting the plugin. r=bsmedberg a=pavlov 2010-12-05 21:57:33 +00:00
Benjamin Smedberg
1562eceab1 Bug 611593 - Topcrash @ PluginInstanceChild::AnswerNPP_Destroy because we were failing to clear mCurrentInvalidateTask in InvalidateRectDelayed. r=smaug a=blocking2.0 2010-11-15 09:18:33 -05:00
Benjamin Smedberg
a95396d2ef Bug 611206 - Send the plugin information about mouse position changes when we scroll, even when we don't need to repaint the plugin, r=karlt 2010-11-15 09:41:18 -05:00
Mike Hommey
4eb2407cf0 Bug 610951 - Avoid c++0x compilers to fail on narrowing conversions inside {} in PluginInstanceChild.cpp. r=jst,a=jst 2010-11-11 09:20:03 +01:00
Benjamin Smedberg
c1f3d96e91 Final merge of bug 596451. a=blocking2.0 - Asynchronous layer-based painting on Windows. Various pieces r=josh/romaxa/karlt/jmathies/roc.
This merge includes the fix for bug 583109 - Add visibility notifications for plugins, so that asynchronous painting can be suspended when plugins are not visible. This collaterally fixes bug 606285, hulu homepage doesn't paint with async layers.

This changeset only implements asynchronous painting for out-of-process plugins. In-process painting will be implemented as a followup. Note that it is still possible to disable asynchronous layers on Windows by setting the preference mozilla.plugins.use_layers to false, but my intention is to remove this preference and sync-painting codepaths soon in a followup.
2010-11-10 10:29:09 -05:00
Benjamin Smedberg
1417fd7f05 Fix review comments from bug 583109 (changeset 6ff3fcbb7845), comment 46. 2010-11-09 09:36:33 -05:00
Benjamin Smedberg
b5c8de3824 Bug 606285 and Bug 583109 - Send the "visible" notification when painting with async layers, so that when a plugin goes from invisible to visible it starts sending asynchronous paints. Suspend sending surface updates for asynchronous plugins when they are invisible, and set the empty clipRect so that the plugin knows that drawing is suspended per the new API. Assume that plugins are visible again when a Paint or BuildLayer call is received. r-pending=karlt 2010-11-05 10:40:55 -04:00
Benjamin Smedberg
0a2062e721 Merge mozilla-central to the branch for bug 596451. 2010-10-28 10:05:20 -04:00
Benjamin Smedberg
f720cf82c8 Bug 596451 part K - Make sure we set up the same plugin quirks for async plugin rendering that we do in AnswerNPP_SetWindow (fixes Flash/Silverlight context menus and mouse pointers), r=jmathies 2010-10-27 16:56:48 -04:00
Benjamin Smedberg
473e3cb7ae Build bustage from bug 596451 part I - always return a value from PluginInstanceChild::ReadbackDifferenceRect. 2010-10-27 15:27:33 -04:00
Benjamin Smedberg
151a8aa808 Bug 596451 part H - Make our quirk of silverlight transparent by default active in the plugin process, to match the logic in nsNPAPIPluginInstance. This makes the Microsoft Surface website paint correctly. r=jimm 2010-10-27 09:13:53 -04:00
Benjamin Smedberg
38659c6622 Bug 596451 part F - fix mouse/window positioning and remove the Silverlight quirk by changing the logical->device offset before painting, r=jimm 2010-10-27 09:09:37 -04:00
Benjamin Smedberg
433d19c29d Bug 596451 part I - Read back from the current Windows surface, instead of repainting the entire client area every time, r-pending=jmathies 2010-10-27 09:09:15 -04:00
Benjamin Smedberg
c26e61f8d5 Bug 596451 part E - Implement transparency using DIBs with builtin transparency. Flash at least does this correctly, and since nobody else really uses windowless transparency, this is going to be the Way It Is. r-pending=jimm/karlt 2010-10-27 09:03:09 -04:00
Jim Mathies
df2b7ba807 No bug, remove left over printf debug statement from PluginInstanceChild. r=me, a=nobug. 2010-10-27 13:32:45 -05:00
Benjamin Smedberg
ae4a853966 Bug 596451 part D - Hook up asynchronous plugin painting on Windows. This part allows opaque plugins to paint correctly. r=jmathies 2010-10-25 13:57:13 -04:00
Benjamin Smedberg
71106cd304 Bug 596451 part C - simplify the behavior of the returning surface from Show, because it's only used to hand back ownership of IPDL shared memory. 2010-10-14 14:14:23 -04:00
Benjamin Smedberg
135698e22c Merge mozilla-central with the asynchronous plugins painting branch. 2010-10-13 10:45:01 -04:00
Chris Jones
703c658a1c Bug 562424: Switch IPDL interfaces to infallible TArray. r=bent a=blocking 2010-11-08 20:49:00 -06:00
Benjamin Smedberg
95ae6cb873 Bug 596451 part A - fix PluginInstanceChild to use bools, r=jimm/josh 2010-09-21 12:03:16 -04:00
Oleg Romashin
52e2bd1f57 Bug 598227 - Add support NPP_ImageDraw API for Maemo5. r=dougt a=blocking-fennec 2010-09-23 16:06:41 -07:00
Josh Aas
9ad0d0ad81 Bug 598223: Gracefully handle the failure of OOP plugins that negotiate Carbon NPAPI. r=cjones r=bsmedberg a=2.0-b7 2010-09-23 01:27:59 -04:00
Oleg Romashin
bc6cfe1962 Bug 556487 - Plugin Child/Parent async implementation. r=roc a=blocking2.0 2010-09-15 09:02:49 -07:00
Oleg Romashin
d6e7e30d34 Bug 556487 - Plugin Child/Parent async API. r=roc,jones.chris.g a=blocking2.0 2010-09-15 09:02:44 -07:00
Jim Mathies
77765b9c3a Bug 572417 - Reset mouse capture when entering full screen mode in flash. r=bsmedberg, a=betaN. 2010-10-07 02:03:18 -05:00
Oleg Romashin
90150a79e4 Bug 599202 - Add support NPP_ImageDraw API for Maemo6. r=dougt a=npodb
--HG--
extra : rebase_source : 8486484c5c2bd25a1e1b63859a62bf41787e7004
2010-10-05 09:15:49 +03:00
Jim Mathies
5e5a5f4a19 Bug 596094 - Restore plugin subclass when Flash resets it in full screen mode (ipc enabled case). r=bent, a=betaN 2010-10-21 16:52:48 -05:00
Benjamin Smedberg
3a5f09a601 Revert bug 595337 because of persistent leaks running mochitests, and bug 556487 because of in-process test failures (crashes) and a reftest failure. 2010-09-14 14:50:24 -07:00
Oleg Romashin
b4c9003ff3 Bug 556487 - Plugin Child/Parent async implementation. r=roc a=blocking2.0 2010-09-14 12:01:10 -07:00
Oleg Romashin
728d67a018 Bug 556487 - Plugin Child/Parent async API. r=roc,jones.chris.g a=blocking2.0 2010-09-14 12:01:05 -07:00
Benjamin Smedberg
c179a09b28 Bug 583053 - Corruption issues when running rdio because windows double-pass rendering events don't win the RPC race, r=bent 2010-08-16 10:10:25 -04:00
Benoit Girard
360d838dce Bug 568513 - Implement NPN_PopUpContextMenu. r=josh a=blocking-beta3 2010-07-29 18:38:32 -04:00
Makoto Kato
613f3559d8 Bug 574095 - crash loading test plugin on 64-bit win7 tests in /layout/generic/crashtests/505912-1.html , /tests/layout/generic/test/test_plugin_clipping.xhtml [@ _SetWindowLongPtr() | nsPluginNativeWindowWin::SubclassAndAssociateWindow]. r=joshmoz 2010-07-12 13:49:12 +09:00
Matt Woodrow ext:(%20and%20Karl%20Tomlinson%20%3Ckarlt%2B%40karlt.net%3E)
d18637dbf2 b=569775 leak foreign colormap wrappers to work-around an old GDK bug that could destroy the browser's colormap r=cjones 2010-07-02 15:57:02 +12:00
Michael Wu
0b3d7041c8 Bug 576336 - Fix debugging build with MOZ_IPC on Android 2010-07-01 16:41:36 -07:00
Michael Wu
e133497c0e Bug 574717 - Stub out ipc plugin stuff for Android, r=cjones 2010-06-25 13:24:50 -07:00
Felipe Gomes
ccf46b30df Bug 570267 - [OOPP] Firefox 3.6.4 bug: When a flash file has a focus, window.onblur event does not happen as expected.
r=jimm
2010-06-23 10:08:56 -07:00
Benjamin Smedberg
1af2f3576f Bug 449129 - abort a plugin process if a plugin attempts to spin an event loop while painting, r=jmathies 2010-06-23 10:18:00 -04:00
Chris Jones
bf91852da6 Bug 572295: Add X11Util.h for X11 toolkits. r=karlt,joedrew 2010-06-21 15:35:49 -05:00
Jesse Ruderman
f04ef428cb Remove stray line breaks from NS_ERROR messages, since they interfere with log processing. rs=jst
--HG--
extra : rebase_source : 87421691da969e0ebe5fbfbc44cd8f18617d1351
2010-06-17 13:28:38 -07:00
Benoit Girard
22930b5f78 Implement InvalidatingCoreAnimation Drawing Model. b=559211 r=josh 2010-06-09 00:11:48 -04:00
Chris Jones
b0a6866357 Bug 567645: Temporarily work around now-fatal deserialization errors by sending a dummy message in place of previously ignored windows messages. r=bent 2010-05-25 19:41:02 -05:00
Benoit Girard
e67987c906 Added CGContextSaveGState for OOPP Shared CGContext. b=565963 r=josh 2010-05-20 15:22:57 -04:00
Jim Mathies
54c35c09df Bug 566610 - Undo the nuclear reply message option, keep the set focus fix. r=bent. 2010-05-18 13:17:10 -05:00
Benoit Girard
4fe7201af4 Bug 528146: Run plug-in code on the thread that starts in main(). r=cjones
--HG--
rename : dom/plugins/PluginThreadChild.cpp => dom/plugins/PluginProcessChild.cpp
rename : dom/plugins/PluginThreadChild.h => dom/plugins/PluginProcessChild.h
rename : ipc/ipdl/test/cxx/IPDLUnitTestThreadChild.cpp => ipc/ipdl/test/cxx/IPDLUnitTestProcessChild.cpp
rename : ipc/ipdl/test/cxx/IPDLUnitTestThreadChild.h => ipc/ipdl/test/cxx/IPDLUnitTestProcessChild.h
2010-05-10 23:18:00 -05:00
Jim Mathies
cdca26afe7 Bug 563377 - [OOPP] Add centralized ReplyMessage handler in PluginModuleChild for all child windows (various fullscreen hang fixs). r=bent. 2010-05-11 10:19:14 -05:00