Commit Graph

337 Commits

Author SHA1 Message Date
dan1bh
1f3097b1cf Bug 1352559 - Remove support for plugin-provided streams; NPN_NewStream, PPluginStream and other supporting machinery, r=bsmedberg
Removed API List:
* NPN_NewStream
* NPN_Write
* NPN_DestroyStream
* nsNPAPIStreamWrapper
* nsPluginStreamToFile
* PPluginStream.ipdl

MozReview-Commit-ID: 61dKGct3qGW
2017-07-11 14:27:25 -04:00
Sebastian Hengst
b087f8692e Backed out changeset 999aa7b6683d (bug 1352559) 2017-07-12 19:10:50 +02:00
dan1bh
e9cff23d89 Bug 1352559 - Remove support for plugin-provided streams; NPN_NewStream, PPluginStream and other supporting machinery, r=bsmedberg
Removed API List:
* NPN_NewStream
* NPN_Write
* NPN_DestroyStream
* nsNPAPIStreamWrapper
* nsPluginStreamToFile
* PPluginStream.ipdl

MozReview-Commit-ID: 61dKGct3qGW
2017-07-11 14:27:25 -04:00
Sylvestre Ledru
9d4a84d778 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG
2017-07-06 14:00:35 +02:00
Nicholas Nethercote
e358cc86df Bug 1352575 (part 23) - Remove PluginProcessParent::mRunCompleteTaskImmediately. r=jimm.
Because it never gets set true any more.

The patch also removes PluginModuleChromeParent::WaitForIPCConnection().
2017-04-18 16:56:45 +10:00
Nicholas Nethercote
f7aeac13e2 Bug 1352575 (part 22) - PluginModuleParent::mAsyncNewRv. r=jimm. 2017-04-18 16:56:45 +10:00
Nicholas Nethercote
048383e4ce Bug 1352575 (part 21) - Remove PluginModuleParent::mIsNPShutdownPending. r=jimm. 2017-04-18 16:56:45 +10:00
Nicholas Nethercote
e3ca2e41e9 Bug 1352575 (part 19) - Remove PluginModuleParent::mNPInitialized. r=jimm. 2017-04-18 16:56:45 +10:00
Nicholas Nethercote
359128054c Bug 1352575 (part 18) - Remove PluginAsyncSurrogate. r=jimm.
The patch also removes PluginDataResolver and various other things that are no
longer necessary.
2017-04-18 16:56:45 +10:00
Nicholas Nethercote
3896d24cf1 Bug 1352575 (part 16) - Remove PluginModuleChromeParent::mAsyncInitRv. r=jimm. 2017-04-18 16:56:45 +10:00
Nicholas Nethercote
e8f1fe8889 Bug 1352575 (part 15) - Remove PluginModuleChromeParent::mInitOnAsyncConnect. r=jimm. 2017-04-18 16:56:44 +10:00
Nicholas Nethercote
399e6697a7 Bug 1352575 (part 13) - Remove surrogate use when casting. r=jimm. 2017-05-26 15:32:30 +10:00
Nicholas Nethercote
b3ac8bd2e1 Bug 1352575 (part 12) - Remove NP_InitializeResult. r=jimm. 2017-04-18 16:56:44 +10:00
Nicholas Nethercote
b91228b62f Bug 1352575 (part 11) - Remove LoadPluginResult and AssociatePluginId. r=jimm. 2017-04-18 16:56:44 +10:00
Nicholas Nethercote
eac7799fe7 Bug 1352575 (part 10) - Remove PluginModuleChromeParent::mContentParent. r=jimm. 2017-04-18 16:56:44 +10:00
Nicholas Nethercote
e20e423748 Bug 1352575 (part 5) - Remove PluginModuleParent::mIsStartingAsync. r=jimm.
This allows a bunch of other things to be removed too, including
PluginModuleParent::mSurrogateInstances,
PluginModuleChromeParent::sInstantiated, and NS_PLUGIN_INIT_PENDING.

The patch also removes the AsyncPluginInit crash annotation.
2017-04-18 16:56:43 +10:00
Nicholas Nethercote
8feeffcee0 Bug 1352575 (part 4) - Remove dom.ipc.plugins.asyncInit.enabled pref. r=jimm.
The feature is in the process of being removed.
2017-04-18 16:56:43 +10:00
Nicholas Nethercote
541c0182b1 Bug 1352575 (part 3) - Remove PluginModuleChromeParent::mAsyncInitError. r=jimm.
It's unused.
2017-04-18 16:56:43 +10:00
Nicholas Nethercote
35794cec4f Bug 1352575 (part 1) - Remove unused supportsAsyncInit arguments and fields. r=jimm.
The aAllowAsyncInit argument to PluginModuleParent's constructor is unused.
This patch removes it and various other things that are no longer needed once
it is gone.
2017-04-18 16:56:43 +10:00
Bill McCloskey
ce42826bdf Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Nicholas Nethercote
a58025002f Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.
2017-06-22 17:08:53 +10:00
Cervantes Yu
b2491ab85e Bug 1360308 - Part 2: Use callback in CrashReporterHost::GenerateMinidumpAndPair() and up the caller chain. r=gsvelto
This changes CrashReporterHost::GenerateMinidumpAndPair() and up the caller chain to use callbacks so we
may call it synchronously or asynchronously.

MozReview-Commit-ID: 4PQH6cVdOk0
2017-06-22 18:52:58 +08:00
Cervantes Yu
7c616228a2 Bug 1360308 - Part 1: De-templatize CrashReporterHost::GenerateMinidumpAndPair(). r=gsvelto
Cleans up CrashReporterHost::GenerateMinidumpAndPair() and move it to CrashReporterHost.cpp.
Also removes the call to open a privileged process handle and get the already open handle
from GeckoChildProcessHost.

MozReview-Commit-ID: 8wLm1hf8zrJ
2017-06-22 18:52:42 +08:00
Chris Peterson
5406fb785e Bug 1373525 - dom/plugins: Remove unused member function PluginModuleMapping::IsLoadModuleOnStack(). r=jimm
The static variable PluginModuleMapping::sIsLoadModuleOnStack is only accessed within the class PluginModuleMapping and the unused getter IsLoadModuleOnStack() can be removed.

dom/plugins/ipc/PluginModuleParent.cpp:313:5 [-Wunused-member-function] unused member function 'IsLoadModuleOnStack'

MozReview-Commit-ID: 5UCxHZUQCNQ
2017-06-15 00:49:28 -07:00
Markus Stange
45510672c4 Bug 1369859 - Add MOZ_GECKO_PROFILER ifdefs around #includes of ProfilerParent.h. r=njn
MozReview-Commit-ID: HS3BBsrHVHu
2017-06-02 16:03:39 -04:00
Markus Stange
9b5004bdc9 Bug 1330185 - Use a top-level PProfiler protocol to control the profiler in other processes. r=billm,njn
MozReview-Commit-ID: EROfGuYQ6a0
2017-05-30 15:06:14 -04:00
David Parks
0114908c11 Bug 1363290 - Part 3: Proxy win32's SetCursorPos for plugins in chrome process. r=jimm, r=jed
SetCursorPos is used by Flash's relative cursor motion behavior.  It is blocked by the plugin sandbox.  This patch allows it to run by proxying it on the main process.
2017-05-16 14:47:09 -07:00
Phil Ringnalda
f13976f44f Backed out 5 changesets (bug 1330185, bug 1330184) for leaking an nsTArray_base from the plugin process on Win8
Backed out changeset e6f368f2d874 (bug 1330185)
Backed out changeset 2b8d50fcb20f (bug 1330184)
Backed out changeset dbe452a9eebb (bug 1330184)
Backed out changeset e13b9e798e16 (bug 1330184)
Backed out changeset 52489c7eadaf (bug 1330184)

MozReview-Commit-ID: 8L20BZ5E3t2
2017-05-22 19:45:35 -07:00
Markus Stange
5775b5cb1b Bug 1330185 - Use a top-level PProfiler protocol to control the profiler in other processes. r=njn, r=billm
MozReview-Commit-ID: EROfGuYQ6a0
2017-05-22 13:47:02 -04:00
Markus Stange
fb5c50b4d5 Back out bug 1330184 and bug 1330185 because of test failures.
MozReview-Commit-ID: ILD4mevlSU6
2017-05-21 15:11:15 -04:00
Markus Stange
8baa6164cb Bug 1330185 - Use a top-level PProfiler protocol to control the profiler in other processes. r=njn, r=billm
MozReview-Commit-ID: EROfGuYQ6a0
2017-05-21 14:06:50 -04:00
Łukasz Kędziorski
5d6f7cf220 Bug 1357578 - Convert PRCList usage in nsPluginHost to mozilla::LinkedList. r=erahm,r=bsemdberg 2017-05-02 17:12:00 -07:00
Jim Mathies
7e94151cfc Bug 1359450 - Use Flash default wmode handling when Firefox can't support async accelerated rendering. Avoid forcing direct mode in these cases which falls back on windowed layout. r=aklotz
MozReview-Commit-ID: BdCeM7xDk9r
2017-04-25 10:55:48 -05:00
Markus Stange
85eb6f4cac Bug 1321617 - Tell the CrossProcessProfilerController whether a profile is a response to a GatherProfile request or whether it was sent because the process was exiting. r=mconley
MozReview-Commit-ID: BLkaeZqtRhv
2017-04-12 16:44:31 -04:00
Kyle Machulis
ceb4bf3e68 Bug 1350940 - Label Runnables in dom/plugins; r=bsmedberg
MozReview-Commit-ID: DCxeZUj6CEd
2017-03-27 13:35:25 -07:00
Markus Stange
ba275e84c4 Bug 1321907 - Move cross process profiler controlling code from ContentParent and PluginModuleParent into a new class called CrossProcessProfilerController. r=mconley,njn
MozReview-Commit-ID: HY2iWHlDaEy
2017-03-22 21:44:59 -04:00
Gabriele Svelto
30d88a559a Bug 1322611 - After a crash compute the SHA256 hash of a minidump and attach it to the crash ping; r=Ted, nchen
This patch changes the crashreporter client code as well as the crash service
code to compute a SHA256 hash of a crash' minidump file and add it to the
crash ping. The crash service code computes the hash on the fly before handing
over the crash to the crash manager; the crash manager will then add it to the
crash ping. The crashreporter client on the other hand sends the hash via the
ping it generates but it also adds it to the event file so that the crash
manager can pick it up and send it along with its own crash ping. On Fennec
the crashreporter activity takes care of computing the hash.

SHA256 hash computation uses nsICryptoHash in the crash service, the
java.security.MessageDigest class in Fennec, the bundled NSS library in the
crashreporter when running on Windows and Mac and the system-provided NSS
library under Linux. The latter is required because the crashreporter client
uses the system curl library which is linked to NSS and which would thus clash
with the bundled one if used together.

This patch introduces two new methods for the nsICrashService interface:
|getMinidumpForID()| and |getExtraFileForID()|, these reliably retrieve the
.dmp and .extra files associated with a crash and ensure the files exist
before returning. These new methods are used in the CrashService for
processing and will become the only way to reliably retrieve those files
from a crash ID.

MozReview-Commit-ID: 8BKvqj6URcO
2017-02-16 07:36:57 +01:00
Benjamin Smedberg
89b6f2227c Bug 1342141 part B - Use NP_EMBED as the mode for all plugins, whether they are full-page or not, r=jimm
MozReview-Commit-ID: BeB24ux8TEp
2017-02-23 12:37:42 -05:00
Nicholas Nethercote
ea1ea2233a Bug 1340928 (part 12) - Remove profiler_get_gatherer(). r=mstange.
profiler_get_gatherer() exposes ProfileGatherer to the outside world in a way
that makes future changes difficult.

This patch:

- Removes ProfileGatherer.h from the list of headers exported from the
  profiler.

- Removes nsIProfiler.profileGatherer and nsProfiler::GetProfileGatherer().

- Replaces profiler_get_gatherer() with three new functions that provide
  minimal but sufficient access to ProfileGatherer:
  profiler_will_gather_OOP_profile(), profiler_gathered_OOP_profile(), and
  profiler_OOP_exit_profile().

  These functions provide access to the ProfileGatherer in a similar fashion to
  the pre-existing functions profiler_get_profile_jsobject_async() and
  profiler_save_profile_to_file_async()

This significantly reduces the size of the profiler's API surface.
2017-02-22 10:19:53 +11:00
David Parks
4784604438 Bug 1284897 - Hook GetSaveFileNameW/GetOpenFileNameW to record and grant a sandboxed process permission to access user-chosen files. r=jimm 2017-02-08 11:38:40 -08:00
Sebastian Hengst
25e6d08981 Backed out changeset c35afe490583 (bug 1284897) 2017-02-21 23:13:20 +01:00
David Parks
f7818b4465 Bug 1284897 - Hook GetSaveFileNameW/GetOpenFileNameW to record and grant a sandboxed process permission to access user-chosen files. r=jimm 2017-02-08 11:38:40 -08:00
Jim Mathies
b570b8d311 Bug 1340276 - Force wmode=direct for certain Flash objects. r=aklotz
MozReview-Commit-ID: 6WsZL99kUc
2017-02-16 16:13:30 -06:00
Phil Ringnalda
f72d4e4b61 Backed out 5 changesets (bug 1284897) for mozilla::SandboxPermissions::RemovePermissionsForProcess crashes
Backed out changeset 19b2fcee13a9 (bug 1284897)
Backed out changeset a5171791437f (bug 1284897)
Backed out changeset 3ea8b8a18515 (bug 1284897)
Backed out changeset 21497a4e3bde (bug 1284897)
Backed out changeset 12e17d5f0fa9 (bug 1284897)
2017-02-16 22:14:15 -08:00
David Parks
93ff7f87a4 Bug 1284897 - Hook GetSaveFileNameW/GetOpenFileNameW to record and grant a sandboxed process permission to access user-chosen files. r=jimm 2017-02-08 11:38:40 -08:00
David Anderson
e22a919afe Switch PPluginModule from PCrashReporter to shmem-based CrashReportHost/Client. (bug 1338281 part 5, r=billm) 2017-02-15 14:44:30 -08:00
Benjamin Smedberg
699733b057 Bug 1337781 - Force Flash to be windowless on Linux, r=jimm
MozReview-Commit-ID: KuSqj0FwAXg
2017-02-08 09:35:28 -05:00
Carsten "Tomcat" Book
ffc915c2f6 Backed out changeset f4c6758e15f9 (bug 1307708) on developers request 2017-02-09 11:49:38 +01:00
David Parks
5691514b86 Bug 1307708 - Make the GetKeyState IPDL call sync (it was intr). r=jimm
This should avoid destruction messages from deleting the actor while the intr message is awaiting a response.
2017-02-06 11:53:59 -08:00
Andrew McCreight
8f66878a7c Bug 1333915, part 2 - Stop using bridges and spawns in plugins. r=jimm
The old code would do the content process portion of the open by
immediately sending a message back to the content process, but this
has some weird issues with nesting and priorities. Instead of doing
that, I return the endpoint for the content process back to the
original sync call. This requires more code changes, to thread the
endpoint along, but it is conceptually simpler.

Once I removed the bridges and got it working, I was just able to
remove the spawns from the IPDL file and it worked.

MozReview-Commit-ID: 1tfiJrV4jbV
2017-01-25 14:17:17 -08:00