Commit Graph

462 Commits

Author SHA1 Message Date
Josh Aas
51c1f31f5c Improve nsNPAPIPluginInstance's stream management. Streams shouldn't keep strong references to their instances. Replace ugly linked list storage. b=554524 r=jst 2010-04-07 16:30:32 -04:00
Robert Sayre
5927f9eed6 Merge tracemonkey to mozilla-central. 2010-04-05 13:17:29 -04:00
Benoit Girard
442232c869 Put Flash 10.1+ and JavaPlugin2 out-of-process by default on Mac OS X. b=556092 r=josh 2010-04-05 11:25:59 -04:00
Robert Sayre
744599315f Merge mozilla-central to tracemonkey. 2010-04-04 14:15:05 -04:00
Josh Aas
e5b35d4ec9 Only allow out-of-process plugins on Mac OS X 10.6 or higher. b=556545 r=bgirard 2010-04-03 11:19:50 -04:00
Robert Sayre
baeb2d1edf Merge mozilla-central to tracemonkey. 2010-03-30 21:13:01 -07:00
Jeff Walden
ba84f1175f Readd ctypes, xpconnect, plugin, xpinstall, canvas, and typed array changes from bug 548702. 2010-03-29 19:47:40 -07:00
Jeff Walden
0973dfd6ab Merge. 2010-03-26 21:53:40 -07:00
Jeff Walden
95422c65a3 Backed out changeset e7065853ef79; I'll be repushing this incrementally, attempting to find the precise place where things go bad, in the near future. Happy days are here again! :-\ 2010-03-26 18:01:54 -07:00
Robert Sayre
84b14d6f30 Merge mozilla-central to tracemonkey. 2010-03-13 11:51:12 -05:00
Jeff Walden
106fbd8085 Bug 548702 - Temporary value-rooting scheme should be C++- and RAII-based, not macro-based. r=igor
--HG--
extra : rebase_source : c7bb34662dbd70df49d40880227139537c60356e
2010-01-11 11:52:21 -06:00
Josh Aas
a02149fecc Fix NPAPI NPN_PushPopupsEnabledState and NPN_PopPopupsEnabledState signature mismatches, statically initialize browser-side NPAPI function table with no casting. b=554170 r=bent 2010-03-25 19:45:33 -04:00
Josh Aas
d40619068c Back out patch for bug 554170 due to IPC bustage. 2010-03-25 17:11:14 -04:00
Josh Aas
feb256f474 Fix NPAPI NPN_PushPopupsEnabledState and NPN_PopPopupsEnabledState signature mismatches, statically initialize browser-side NPAPI function table with no casting. b=554170 r=bent 2010-03-25 16:33:40 -04:00
Josh Aas
ec35e887a5 Fix a compiler warning in nsNPAPIPluginInstance.cpp. No bug. 2010-03-25 14:57:30 -04:00
Chris Jones
7329573dd7 Bug 544936, part 6: Submit a browser minidump along with the plugin's, if we got one. r=dolske,gavin,josh 2010-03-24 16:22:04 -05:00
Martin Stransky
b3a1889d8e Bug 528900: Null check at _[pop|push]popupsenabledstate to avoid crashing r=jst 2010-02-20 08:53:10 -05:00
Brad Lassey
23156d33b8 Winmo bustage fix from bug 545080 r=dougt 2010-02-20 00:53:38 -05:00
Benjamin Smedberg
171347def1 Followup to bug 545080, convert additional functions to the explicit "W" variants so that even when we're not building with -DUNICODE we always use unicode paths, r=Thunderbird bustage 2010-02-19 15:31:28 -05:00
Benjamin Smedberg
a408137a65 Bug 545080 and bug 537344 - When UNICODE is defined in modules/plugin/base/src, we follow codepaths that aren't right, and the fields of nsPluginInfo are double-converted to UTF8, which is bad, r=josh 2010-02-13 16:59:39 -05:00
Karl Tomlinson
0cd7c3af25 b=540114 process reparent requests before removing the X error handler r=cjones 2010-02-18 11:05:24 +13:00
Karl Tomlinson
048a190877 b=540114 reparent foreign children of the socket window before it gets destroyed r=cjones 2010-02-16 10:40:46 +13:00
Saint Wesonga
22dd000e85 Bug 550894 - unreachable code in nsPluginHost::PostURL. r=josh 2010-03-11 07:49:29 +01:00
Doug Turner
e342d43d13 Bug 550545 - The NPAPI ImageExpose event should be disabled when building for Qt. r=vlad
--HG--
extra : rebase_source : b66a81ba5a019e7da387eb81d4fd2454be196fe7
2010-03-10 15:01:46 -08:00
Benjamin Smedberg
0ac333446e Bug 550944 - If a stream is alive at instance destruction, make sure we fire NPP_DestroyStream and NPP_URLNotify correctly. Also make the new-stream functions (NPN_GetURL etc) fail while we are destroying a plugin instance, r=josh
--HG--
extra : rebase_source : e94bc08bcc04c2ead28ac14bce7e3320a49c9d5a
2010-03-08 16:54:04 -05:00
Julian Seward
d06bc6c5d0 Bug 548441. Don't write to ndata after we delete the object it's in. r=bzbarsky 2010-03-09 14:38:13 -05:00
Benoit Girard
03c1f7cf9c Add support for the NPAPI Core Animation drawing model. b=497225 r=josh sr=roc 2010-03-23 20:51:11 -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
Justin Dolske
1db3f5a1ce Bug 550293 - plugin-crashed UI needs more user opt-in. r=vlad, ui-r=faaborg 2010-03-16 22:10:08 -07:00
Benjamin Smedberg
ced61e4b02 Followup to bug 548217 - Instead of using a bizarre dual-refcounting scheme, explicitly track when nsPluginStreamListenerPeer.mLocalCachedFile is shared and should be deleted, r=josh
--HG--
extra : rebase_source : 97f6bebfdb99f0c0cbd8cd033e62492fcb755d09
2010-03-06 14:38:54 -05:00
Benjamin Smedberg
2a5f3518de 1;2cBug 548217 - Make NP_SEEK streams work properly: they shouldn't crash if NPN_RequestRead is called after all the stream data is delivered, and they should call NPP_DestroyStream when NPN_DestroyStream is called, but not before. To this end, the classes nsPluginStreamInfo and nsPluginStreamListenerPeer have been unified: the nsNPAPIPluginStreamListener holds the stream listener peer alive so that additional range requests can be made on it. In addition the nsNPAPIPluginStreamListener holds *itself* alive for NP_SEEK streams, and only calls releases itself/calls CleanUpStream when the plugin explicitly calls NPN_DestroyStream or when the associated plugin instance is being destroyed. r=josh
--HG--
extra : rebase_source : 372df117d2b0c955605f44ee0e2fa512f0ad972b
2010-02-23 21:58:27 -05:00
Chris Jones
f0560d9e8e Bug 441324, part 1: Shuffle around includes to avoid problems with #define malloc et al. r=bsmedberg 2010-03-03 23:02:55 -06:00
Benjamin Smedberg
0b629a5939 Backed out changeset f829f942873d - bug 548217 because of topcrash bug 549112 2010-02-27 17:36:54 -05:00
Benjamin Smedberg
958042217d Bug 548217 - Make NP_SEEK streams work properly: they shouldn't crash if NPN_RequestRead is called after all the stream data is delivered, and they should call NPP_DestroyStream when NPN_DestroyStream is called, but not before. To this end, the classes nsPluginStreamInfo and nsPluginStreamListenerPeer have been unified: the nsNPAPIPluginStreamListener holds the stream listener peer alive so that additional range requests can be made on it. In addition the nsNPAPIPluginStreamListener holds *itself* alive for NP_SEEK streams, and only calls releases itself/calls CleanUpStream when the plugin explicitly calls NPN_DestroyStream or when the associated plugin instance is being destroyed. r=josh/jst 2010-02-23 21:58:27 -05:00
Benjamin Smedberg
7985a1dcb1 Backed out changeset 77dc38d8196e - bug 548217 because even though this patch is correct, it exposes a bug in the OOPP code which got backed out. 2010-02-25 03:57:57 -08:00
Benjamin Smedberg
4a49a68e09 1;2cBug 548217 - Make NP_SEEK streams work properly: they shouldn't crash if NPN_RequestRead is called after all the stream data is delivered, and they should call NPP_DestroyStream when NPN_DestroyStream is called, but not before. To this end, the classes nsPluginStreamInfo and nsPluginStreamListenerPeer have been unified: the nsNPAPIPluginStreamListener holds the stream listener peer alive so that additional range requests can be made on it. In addition the nsNPAPIPluginStreamListener holds *itself* alive for NP_SEEK streams, and only calls releases itself/calls CleanUpStream when the plugin explicitly calls NPN_DestroyStream or when the associated plugin instance is being destroyed. r=josh
--HG--
extra : rebase_source : fba343acbfcaa785c7405552d42f4558424b485c
2010-02-23 21:58:27 -05:00
Benjamin Smedberg
256648ae37 Bug 543977 - NPClass.invoke should be optional when a class just wants to implement NPClass.invokedefault, r=jst
--HG--
extra : rebase_source : 2e1fb9896bcbf12bc6d2772c02a1cc9557efe6eb
2010-02-17 13:30:54 -05: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
Oleg Romashin
afd6f98795 bug 544193 - Qt version for plugins embedding functionality required. r=mozbugz. 2010-02-10 22:48:20 +02:00
Ted Mielczarek
d40733d453 Bug 541076 - add minidump id and plugin name to PluginCrashed event. p=ted+dolske, r=jst, r=ted 2010-02-09 17:05:31 -08:00
Doug Turner
c5fb72ab64 Bug 543976 - Clean up Maemo defines. r=ted 2010-02-09 11:02:11 -08:00
Josh Aas
c04a923d42 Fix our plugin library loading code so that it works in 64-bit builds. 64-bit NSPR does not support bundle loading. b=544579 r=smichaud 2010-02-08 13:22:25 -06:00
Josh Aas
e0d1ee7974 More complete plugin architecture check for Mac OS X. Support 64-bit-only plugins and stop assuming that any universal binary plugin has the correct architecture. Fixes bug 544433 and bug 544437. r=smichaud 2010-02-06 23:29:58 -06:00
Josh Aas
20a6128dae Make all scriptable methods in nsIPluginHost appear before the C++ code. b=542712 r=jst 2010-02-06 16:07:13 -06:00
Benjamin Smedberg
151a3c2903 Bug 544016 - If two plugins are available for a MIME type, prefer the enabled one to the disabled/blocklisted one, r=josh
--HG--
extra : rebase_source : 8c4382719dd8886634a8f89a85d89af1e96f6c4d
2010-02-03 16:52:07 -05:00
Benjamin Smedberg
6db43fb19a revert changeset f61e06c31086 (bug 542971) since it caused bug 543376. 2010-02-02 17:18:37 -08:00
Benjamin Smedberg
fb8f40b46e Bug 542248 - ASSERTION: Shouldn't return null and NPERR_NO_ERROR (and then crash) navigation from one silverlight page to another, r=josh 2010-02-02 09:46:25 -05:00
Ben Turner
dac5a3fee3 Bug 542915 - 'Protect DelayedReleaseGCCallback from reentering and double-freeing NPObjects' r=jst+josh.
--HG--
extra : transplant_source : %5B%C1%C3QH%22%22%24%9D%A2%CE%E9%907%941%8F%F5%07%19
2010-02-01 12:35:48 -08:00
Josh Aas
4a93f5fe9f Clean up a bunch of things in nsNPAPIPlugin. b=543339 2010-01-31 16:41:26 -05:00
Daniel Holbert
32a1fb0c00 Bug 542959: Add 'const' to NP_GetMIMEDescription's parameter, to fix "deprecated conversion from string constant to ‘char*’" warning. r=cjones 2010-01-29 12:18:50 -08:00
Josh Aas
46d060dccd Get rid of nsPluginInstanceTag. Clarifies the plugin object hierarchy and makes it easier to get from one object to another. We avoid unnecessary null checks and strong references due to clarified lifetimes dependencies between objects. Makes all of this code less error-prone. b=542971 r=jst 2010-01-29 14:42:54 -05:00
Ben Turner
33a8aae576 Bug 542337 - '[OOPP] hang in test_plugin_clipping2.xhtml' Followup fix, r=roc.
--HG--
extra : transplant_source : ._%92%D6%40%FE%1E%92%01%11%7F%BA%2A%EF%24Y%84%DC6%0E
2010-01-28 12:23:07 -08:00
Ben Turner
453fbad6ed Bug 542337 - '[OOPP] hang in test_plugin_clipping2.xhtml' r=jimm. 2010-01-28 11:32:41 -08:00
Benjamin Smedberg
4245b947f3 Bug 539063 - Implement a whitelist/blacklist for OOPP, r=josh 2010-01-28 10:31:53 -05:00
Oleg Romashin
2d419b5929 Bug 534644 - implement Qt ipc/chromium backend, first part. r=benjamin, r=jones.chris.g 2010-01-28 07:22:41 +02:00
Chris Jones
c22de50bdf Bug 542356: Initialize the NPError outparam passed to NPP_New() so that plugins must set it to NPERR_NO_ERROR (and so as to work around a valgrind UMR false-positive for OOPP). r=joshmoz 2010-01-27 17:45:34 -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
Josh Aas
2e7df95914 Get rid of nsPluginInstanceTagList. Make this code easier to deal with and less error-prone. b=535643 r=jst 2010-01-26 20:30:58 -05:00
Gavin Sharp
937dce11b7 Bug 189378: add pref to disable plugins in the browser, r=josh
--HG--
extra : rebase_source : 7f70e2585d6b2840fa801969e5af50c5e81caca8
2009-10-05 05:00:57 -04: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
Chris Jones
80b004dd05 Bug 538532: When a plugin crashes, make sure all its instances are "stopped" ASAP. r=bsmedberg r=josh
--HG--
extra : rebase_source : 4355e574e5cf74da76ef5773e16fa3bd9a09225e
2010-01-12 00:45:24 -06:00
Chris Jones
2d1e4c2722 Bug 538532: Add the helper method nsPluginHost::FindTagForPlugin(). r=josh
--HG--
extra : rebase_source : c7192818d9f6e42510e681286a4dda774df8a94c
2010-01-12 00:45:23 -06:00
Josh Aas
9f1683fecf Sent "PluginCrashed" notification when a plugin crashes. b=519541 r=jst r=bsmedberg 2010-01-13 11:42:41 -05:00
Jim Mathies
bd95331a3a Bug 536303 - OOPP: disable oopp for Windows 2000. r=benjamin. 2010-01-10 17:50:36 -06:00
Benjamin Smedberg
86980c504e Bug 532246 - Plugins should not be able to obtain an NPObject* belonging to a different NPP, because that instance may go away before this one and the NPObject* may be invalidated and destroyed. Double-wrap in these cases. r=josh sr=jst 2009-12-02 12:02:41 -05:00
Josh Aas
0487ff44e4 Minor cleanup, no bug. a=bsmedberg 2010-01-05 13:30:00 -05:00
Michael Wu
27fd1e717b Bug 273025 - "bad logic results in potential leak xor crash based on flow" (Improve GetURL/PostURL code, v4 (2/2)) [r+sr=jst] 2009-12-27 14:26:00 -06:00
Oleg Romashin
bd7430f326 b=532627; nsPluginHostImpl::WritePluginInfo should call PR_Sync before PR_Close, r=jst 2009-12-23 13:58:54 +02:00
Blake Kaplan
b03049c0f2 Bug 535641 - Move this declaration around. r=jst 2009-12-22 16:54:06 -05:00
Josh Aas
ac8d51b495 Improve plugin instance stopped/started state management. b=535660 r=roc 2009-12-17 21:09:22 -05:00
Josh Aas
76e1222110 Stop storing xpconnect status in the plugin tag, it isn't used any more. b=535502 r=roc 2009-12-17 12:22:46 -05:00
Benjamin Smedberg
211d3738cb Merge mozilla-central to electrolysis. 2009-12-16 19:02:20 -05:00
Josh Aas
df4585ba38 Fix plugin host so that idle event timer can QI correctly and make the callback. b=535357 r=smichaud 2009-12-16 15:54:16 -05:00
Benjamin Smedberg
e9b0ccabad Bug 532751 - Notify the nsNPAPIPlugin and the related nsNPAPIPluginInstances when a plugin crashes so that reloading will create a new plugin process, r=josh 2009-12-16 15:08:45 -05:00
Benjamin Smedberg
234f5858ff Followup to review comment for bug 534866: don't set fCallbacks.size twice on MacOSX. 2009-12-16 09:10:30 -05:00
Benjamin Smedberg
ffeebc91f0 Merge mozilla-central into electrolysis 2009-12-16 08:38:42 -05:00
Josh Aas
a2cdef8b23 Separate plugin tag code from the plugin host. b=533371 r=jst 2009-12-16 08:16:42 -05:00
Benjamin Smedberg
097c85cae3 Bug 534866 - Fix Java and WMP plugins on Windows by initialize NPPluginFuncs.size before calling NP_Initialize, regression from bug 516509 which landed with the e10s merge, a=blocker-regression r?pending from josh 2009-12-15 21:24:26 -05:00
Josh Aas
733399cc7e Windows bustage fix, b=533371 2009-12-15 20:21:57 -05:00
Josh Aas
11a169cbb4 Separate plugin tag code from the plugin host. b=533371 r=jst 2009-12-15 17:47:22 -05:00
Josh Aas
df154de1eb Backed out changeset cbb4f67c6b68 2009-12-15 22:15:39 -05:00
Josh Aas
514a6c5e9d Greatly reduce the number of timers firing when multiple Carbon plugin instances are active on Mac OS X. Should reduce CPU usage. Make all instances use the same (at most two) timers for idle events. b=519598 r=roc 2009-12-15 15:44:52 -05:00
Josh Aas
e4ef56c1b9 Unset the plugin instance on the plugin instance owner if the instance fails to initialize. b=533030 r=jst 2009-12-15 15:28:12 -05:00
Benjamin Smedberg
999be86ac2 Merge mozilla-central into electrolysis. 2009-12-14 08:01:18 -05:00
Ben Turner
6e20a64631 Backing out changesets ed8d3323a50d, 3930bbdffdd5, 36e32abd2cc8, f4bcfc703ff9, 21051d997076, and 49f489315dd9 at the request of bsmedberg. 2009-12-11 12:48:37 -08:00
Benjamin Smedberg
cb534efdff Oh snap! nsPluginTag.mEntryPoint became a nsCOMPtr in a merge and ended up being double-released. Victory is mine! 2009-12-04 23:27:32 -05:00
Benjamin Smedberg
3e06063b78 !MOZ_IPC build bustage from bug 532751
--HG--
extra : rebase_source : a0b3a3318d3cd3d03fb034ae4d9fd5ab6cb9454a
2009-12-04 13:53:59 -05:00
Benjamin Smedberg
6e3d83cf38 Bug 532751 - Stop cacheing the nsNPAPIPlugin when it crashes, so that refreshing the page immediately reloads the plugin, r=bent pending r?joshmoz 2009-12-04 13:24:57 -05:00
Benjamin Smedberg
487e2582f8 Bug 532700 - nsNPAPIPluginInstance can outlive its nsNPAPIPlugin, sr=jst pending r=josh 2009-12-03 15:33:27 -05:00
Benjamin Smedberg
767eb11cb4 Merge mozilla-central into electrolysis 2009-12-04 11:28:50 -05:00
Benjamin Smedberg
13786e8a04 Bug 532605 - _write conflicts with symbols in the MSVC runtime. Remove all vestiges of PR_BEGIN_EXTERN_C from nsNPAPIPlugin.{h,cpp}, so that these functions are given C++ mangled names in the namespace we actually declared for them. 2009-12-03 09:17:49 -05:00
Ben Turner
ce1bd10179 Don't let plugin return a null window object and NPERR_NO_ERROR, r=jst. 2009-12-01 15:08:16 -08:00
Ben Turner
b17063546e Bug 526401 - Fixup handling of null NPP. r=bsmedberg. 2009-12-01 13:27:13 -08:00
Josh Aas
783c445e79 Fixing bug 520639. Make plugin library unloading independent of the lifetime of nsPluginTag objects. Patch and reviews by jst@mozilla.com and joshmoz@gmail.com, a=blocking1.9.2+ 2009-12-02 21:14:13 -08:00
Benjamin Smedberg
9911c2f99d Merge mozilla-central into Electrolysis 2009-11-30 12:59:43 -05:00
Johnny Stenback
c9d4899294 Fix for bug 531290 (Firefox 3.6b4 [@ PL_strlen | nsNPAPIPluginInstance::Initialize(nsIPluginInstanceOwner*, char const*) ] during npietab.dll initialization [@nsCOMPtr_base::assign_from_qi(nsQueryInterface, nsID const&) | xul.dll@0x9cc3c3 ]). r=josh, a=blocking1.9.2+. 2009-11-30 11:11:20 +01: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
Josh Aas
a4b1dd24fa Fix a bug that prevents NPAPI plugins from retrieving cookies. b=526462 r=roc 2009-11-25 02:40:46 -05:00