Commit Graph

1106 Commits

Author SHA1 Message Date
Tom Bannister
9257bacc72 Bug 1434710 - Replaced all instances of mozilla::IndexSequence, mozilla::MakeIndexSequence and mozilla::IndexSequenceFor with std::index_sequence, std::make_index_sequence and std::index_sequence_for and removed mfbt/IndexSequence.h. r=botond
MozReview-Commit-ID: 1Ema7TUNr5v
2018-04-09 21:12:13 +10:00
Sebastian Hengst
d91e9954eb Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tristan Bourvon
6095241db8 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Nika Layzell
32fa76c4fe Bug 1443954 - Part 3: Add support for RefCounted types to IPDL, r=bz,froydnj,baku
This patch was reviewed in parts, however the intermediate states would not build:

Bug 1443954 - Part 3A: Strip pointers from the argument to WriteParam and WriteIPDLParam before selecting the ParamTraits impl, r=froydnj

Bug 1443954 - Part 3B: Move nsIAlertNotification serialization to the refcounted system, r=bz

Bug 1443954 - Part 3C: Move geolocation serialization to the refcounted system, r=bz

Bug 1443954 - Part 3D: Move nsIInputStream serialization to the refcounted system, r=baku

Bug 1443954 - Part 3E: Move BlobImpl serialization to the refcounted system, r=baku

Bug 1443954 - Part 3F: Correctly implement ParamTraits for actors after the ParamTraits changes, r=froydnj
2018-04-10 17:49:48 -04:00
Jonathan Watt
dcee05dad5 Bug 1452170 follow-up - Fix Windows unified build bustage by adding missing AutoRestore.h includes. r=me on CLOSED TREE 2018-04-09 10:21:42 +01:00
David Parks
a69090c204 Bug 1446499: Use static nsWindowsDllInterceptor in plugin's HookProtectedMode r=aklotz
HookProtectedMode requires its nsWindowsDllInterceptor to last as long as the functions need to be overridden.  This uses a static object instead of a local one.
2018-04-03 17:09:36 -07:00
Honza Bambas
596e8f36d7 Bug 1443892 - Add -MOZ_LOG and -MOZ_LOG_FILE command line arguments. r=erahm, r=nfroyd 2018-04-03 11:32:00 -04:00
Haik Aftandilian
5b6a8c9117 Bug 1444291 - Part 3 - Add read access to the Mac Flash sandbox, support sandbox levels r=Alex_Gaynor
Replace the boolean pref "security.sandbox.mac.flash.enabled"
with "dom.ipc.plugins.sandbox-level.flash" to support sandbox
levels and be consistent with the Windows pref name.

Adds filesystem read access to the sandbox using sandbox extensions
granted by the file dialog machinery (level 1).

Add support for level 2 which blocks read access.

Allow the sandbox to be disabled with MOZ_DISABLE_NPAPI_SANDBOX.


MozReview-Commit-ID: 4rfobEoxQpF
2018-03-15 20:23:19 -07:00
Coroiu Cristina
f0e23f51b3 Backed out 3 changesets (bug 1444291) for bustage at build/src/dom/plugins/ipc/PluginProcessChild.cpp
Backed out changeset 48a9c2131347 (bug 1444291)
Backed out changeset dfc31b6c9f53 (bug 1444291)
Backed out changeset 8ee3e65465ed (bug 1444291)
2018-03-16 03:07:35 +02:00
Haik Aftandilian
5de9f2ac22 Bug 1444291 - Part 3 - Add read access to the Mac Flash sandbox, support sandbox levels r=Alex_Gaynor
Replace the boolean pref "security.sandbox.mac.flash.enabled"
with "dom.ipc.plugins.sandbox-level.flash" to support sandbox
levels and be consistent with the Windows pref name.

Adds filesystem read access to the sandbox using sandbox extensions
granted by the file dialog machinery (level 1).

Add support for level 2 which blocks read access.

Allow the sandbox to be disabled with MOZ_DISABLE_NPAPI_SANDBOX.


MozReview-Commit-ID: 4rfobEoxQpF
2018-03-13 15:38:11 -07:00
David Parks
3c2162ae77 Bug 1445471 - Recognize invalid HANDLEs in plugin brokering. r=jimm
When InternetOpenA, or some other brokered function that returns handles, fails, we should not return a valid HANDLE id.  We return an id of 0 instead.
2018-03-14 12:28:22 -07:00
Makoto Kato
8f6c9d0bf6 Bug 1438955 - Remove ImmReleaseContext hook. r=masayuki 2018-03-07 11:01:30 +09:00
Nathan Froyd
8c351f81ee Bug 1443236 - remove static init and shutdown nsRegion routines; r=kats
These routines are no-ops; let's get rid of them.
2018-03-05 14:06:50 -05:00
Chris Peterson
6f1ceebe9d Bug 1330529 - Part 5: Remove some Windows line endings from PluginProcessChild.cpp. r=jimm
MozReview-Commit-ID: DhNuxymQ97U
2018-02-02 22:45:12 -08:00
Chris Peterson
20eb6ec7bd Bug 1330529 - Part 3: Protect DLL loads in wmain instead of waiting until PluginProcessChild::Init. r=jimm
Removing #define XRE_DONT_PROTECT_DLL_LOAD from plugin-container.cpp and xpcshell.cpp allows the #included nsWindowsWMain.cpp to protect DLL loads much earlier in the plugin process startup.

MozReview-Commit-ID: HbgyfvljvFs
2018-02-02 22:53:34 -08:00
Chris Peterson
738c2c8e27 Bug 1330529 - Part 2: Remove unused SetDllDirectory workaround for Shockwave Player plugin. r=jimm
This code was added in bug 607832 to work around a Shockwave Player bug where it tries to load some DLLs from the current directory, but the current directory is not the one it expects. We no longer support the Shockwave Player plugin, so this workaround is no longer necessary and we can always call SetDllDirectory("") to remove the current directory from the DLL search path.

MozReview-Commit-ID: C4MjB1SkZE3
2018-02-02 22:34:19 -08:00
Haik Aftandilian
0fdcab2793 Bug 1436566 - [Mac] Land disabled-by-default sandboxing for the Flash NPAPI plugin process. r=Alex_Gaynor,jimm
MozReview-Commit-ID: Es0GbMLKvH5
2018-02-12 15:46:31 -08:00
David Parks
abc1a8467f Bug 1436253 - Fix NPAPI FunctionBroker condition variable concurrency issues. r=aklotz
The Monitor's Wait call is subject to spurious waking and needed a condition guard (I just use a boolean) to detect if it should not have been awakened.  Additionally, the ok value was being assigned after the Notify, despite it no longer being valid on this thread.
2018-02-06 21:35:44 -08:00
David Parks
7649e4b878 Bug 1433856 - Block PluginModuleChromeParent::CleanupFromTimeout from recursing. r=jimm
CleanupFromTimeout is (transitively) recursing in calls to Close(), as that now leads to shutting down the plugin broker thread and CleanupFromTimeout was being rerun since nsThread::Shutdown runs tasks..
2018-01-29 18:15:18 -08:00
David Parks
5627a4792a Bug 1433855 - Make sure plugin function broker's PostToDispatchThread is Waiting before Notifying it. r=jimm
The Monitor's condition variable could be notified before the calling thread had begun to Wait for it.  This caused the Notify to be missed, leading to hangs.  By grabbing the Monitor in PostToDispatchHelper, we know Wait has been called because, otherwise, the calling thread would still hold the Monitor.
2018-01-30 17:32:27 -08:00
David Parks
43fa45b0cb Bug 1429643: Limit Win32 NPAPI SSL brokering to 64-bit builds; r=jimm
Uses PluginQuirks to avoid brokering in 32-bit, as Flash has its own 32-bit sandbox.
2018-01-15 19:51:34 -08:00
David Parks
5ff2a588b6 Bug 1382251: Part 11 - Update moz.build with new files; r=jimm
Includes the build changes made by the earlier patches in this series.  Also adds some #includes required by other files when these are added to the unified build.
2017-11-06 10:47:01 -08:00
David Parks
2ba56a477f Bug 1382251: Part 9 - Hook functions needed for SSL communication in NPAPI process; r=jimm
Adds Win32 networking APIs to the function broker so that we can run SSL communications outside of the sandbox.
2017-11-06 10:41:21 -08:00
David Parks
5bd2f5e3cf Bug 1382251: Part 8 - Migrate some previously hooked functions to FunctionHook/Broker; r=jimm,froydnj
Moves GetWindowInfo, GetKeyState, SetCursorPos, GetSaveFileNameW and GetOpenFileNameW to the new FunctionHook and FunctionBroker systems.
2017-11-06 11:07:16 -08:00
David Parks
e2b266b377 Bug 1382251: Part 7 - Add mechanism for automatically brokering DLL functions; r=jimm
The FunctionBroker is a special kind of FunctionHook that brokers the hooked function on another process.  In the child process, it uses the FunctionBrokerChild to request that the FunctionBrokerParent run a function and return the response.  It handles most cases of parameter, return value and error marshaling on its own.  It also guarantees that requests are issued from the proper thread.
2017-11-06 10:34:47 -08:00
David Parks
5de1dbff8b Bug 1382251: Part 6 - Start/stop new top-level brokering actors on their own threads; r=jld
The FunctionBroker actors allow the NPAPI process (child) to run methods on the main process (parent).  Both the parent and the child run dedicated threads for this task -- this is a top-level protocol.
2017-11-06 10:29:15 -08:00
David Parks
623453807d Bug 1382251: Part 5 - Add IpdlTuple for type-safely marshaling tuples; r=jld
IpdlTuple is an array of Variants that is accessed by type and that reports an error if there is a type error.  This is used for safe and easy communication of IPDL objects, validated at run time since IPC data is untrusted.
2017-11-06 10:17:15 -08:00
David Parks
dc48e41285 Bug 1382251: Part 4 - Init/Shutdown parts of XPCOM needed in plugin process; r=erahm
We have not been initializing or shutting down XPCOM in the plugin process.  We need the nsThreadManager for this bug but, more importantly, we need to properly shut down XPCOM in order to get things like handlers connected to the ShutdownPhases (e.g. ClearOnShutdown, used to free resources at process end).

This patch includes some work to make services that are uninitialized in the plugin process to handle Shutdown calls without failing.
2017-11-06 10:10:43 -08:00
David Parks
3de72a4418 Bug 1382251: Part 3 - Add mechanism for automatically hooking DLL functions; r=jimm
FunctionHook uses the DLL interceptor to redirect Win32 calls to a user-supplied function.
2017-11-06 10:04:19 -08:00
David Parks
d934bd37cc Bug 1430586 - Make sure the NPObjectData map still exists before use. r=jimm
The shutdown path has a way to free the sObjectMap before all plugin references to it have been executed.  It does this by scheduling a DeferNPObjectReleaseRunnable, then shutting down the plugin with PluginInstanceChild::Destroy.  This patch keeps the runnable from failing in that case.
2018-01-23 12:56:06 -08:00
Sylvestre Ledru
beb7e6997a Bug 1431072 - Move a duplicate declarations (NS_NPAPIPLUGIN_CALLBACK) into a common file r=jimm
MozReview-Commit-ID: HZsNoNUOtnO
2018-01-17 14:32:56 +01:00
Chris Peterson
677bf4030c Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe
2017-11-05 19:37:28 -08:00
Andrew McCreight
26d2e25dbf Bug 1426284 - Remove TransportDIB files. r=jld
PluginMessageUtils.h was bootlegging base/shared_memory.h via transport_dib.h

MozReview-Commit-ID: CPGxu2lpdj0
2017-12-19 12:40:41 -08:00
Petr Sumbera
bd6994121d Bug 1423174 - Rename CS to avoid macro conflict on Solaris. r=jgilbert 2017-12-05 04:10:29 -08:00
Stephen A Pohl
cb0b633441 Bug 1419004: Fix crash when setting plugin process names on macOS 10.13.2. r=mstange 2017-12-12 17:03:33 -06:00
Stephen A Pohl
16dacb5170 Backout e66e48637c65 (bug 1419004) for compile error. r=me 2017-12-12 16:57:35 -06:00
Stephen A Pohl
986da37aca Bug 1419004: Fix crash when setting plugin process names on macOS 10.13.2. r=mstange 2017-12-12 16:38:19 -06:00
Sylvestre Ledru
923049ccb3 Bug 1394734 - Replace CONFIG['MSVC'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: 5orfnoude7h
2017-12-08 13:46:13 +01:00
Sylvestre Ledru
37064ac043 Bug 1394734 - Replace CONFIG['GNU_C*'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: 7duJk2gSd4m
2017-12-07 22:09:15 +01:00
Julian Hector
4cad37d6ab Bug 1401107 - Use ContiguousEnumSerializer for ParamTraits in npapi; r=jimm 2017-12-04 10:12:50 -05:00
Bob Owen
9e2907fd96 Bug 1420922: Remove orphaned TARGET_SANDBOX_EXPORTS defines. r=dmajor 2017-11-27 16:07:15 +00:00
Gabriele Svelto
de4cc6a7cf Bug 1402519 - Remove MOZ_CRASHREPORTER directives from dom; r=peterv
MozReview-Commit-ID: 4G2C9y6csvc
2017-10-10 12:43:09 +02:00
shindli
f90a73f3c0 Backed out 16 changesets (bug 1402519) for conflicts during merge r=backout on a CLOSED TREE
Backed out changeset 07fcf163241a (bug 1402519)
Backed out changeset c6d2ad45d8e2 (bug 1402519)
Backed out changeset 8a3caca61294 (bug 1402519)
Backed out changeset 01425eae2c48 (bug 1402519)
Backed out changeset cf298d3815de (bug 1402519)
Backed out changeset e1964f4389cd (bug 1402519)
Backed out changeset f405337f3569 (bug 1402519)
Backed out changeset a76356fd3359 (bug 1402519)
Backed out changeset d3bb350d1c34 (bug 1402519)
Backed out changeset 9d3bfd9f932c (bug 1402519)
Backed out changeset e3dd6e5b073f (bug 1402519)
Backed out changeset e801b0c00134 (bug 1402519)
Backed out changeset 8a4139fa5dca (bug 1402519)
Backed out changeset 8d01c14ac1ca (bug 1402519)
Backed out changeset 24e0dcd01898 (bug 1402519)
Backed out changeset f8fdf450613f (bug 1402519)
2017-11-23 00:11:44 +02:00
Gabriele Svelto
44aa02b094 Bug 1402519 - Remove MOZ_CRASHREPORTER directives from dom; r=peterv
MozReview-Commit-ID: 4G2C9y6csvc
2017-10-10 12:43:09 +02:00
David Parks
5f7fac1106 Bug 1411631 - Use ContiguousEnumSerializerInclusive for GetOpenFileName IPC. r=jimm
Use the new helper for serializing enums in IPDL.
2017-11-01 01:59:31 -07:00
Marco Castelluccio
c66949f9b1 Bug 1413845 - Remove PluginPRLibrary as it is unused. r=jimm 2017-11-02 11:03:24 +01:00
Chris Peterson
4434deda7a Bug 1412048 - Replace NS_RUNTIMEABORT("...") with MOZ_CRASH("..."). r=froydnj
And remove unreachable code after MOZ_CRASH().

MozReview-Commit-ID: 6ShBtPRKYlF
2017-10-24 23:30:31 -07:00
David Parks
cd71dd4c8c Bug 1410140 - Copy file dialog fields from NPAPI process. r=jimm
The OpenFileNameIPC object specifies information in an LPOPENFILENAMEW in an IPDL-friendly structure.  This properly copies the file name and filter fields.
2017-10-21 15:02:28 -07:00
Tom Ritter
48e016d233 Bug 1411142 Cast enums to int to silence warning about comparing enums of different types r=jld
MozReview-Commit-ID: LIbuzPuZ2mr
2017-10-23 23:54:21 -05:00
Sylvestre Ledru
d4bc4b1554 Bug 1411001 - Remove the +x permissions on cpp & h files r=froydnj
MozReview-Commit-ID: DjDkL20wRg0
2017-10-23 20:59:55 +02:00