Commit graph

328 commits

Author SHA1 Message Date
Nicholas Nethercote
1f21c73d85 Bug 1352575 (part 16) - Remove PluginModuleChromeParent::mAsyncInitRv. r=jimm.
--HG--
extra : rebase_source : e901cb818cd3cd39560b2fd86415024bf0fd7c1d
2017-04-18 16:56:45 +10:00
Nicholas Nethercote
89708190f1 Bug 1352575 (part 15) - Remove PluginModuleChromeParent::mInitOnAsyncConnect. r=jimm.
--HG--
extra : rebase_source : 8a32d63bd15bf365ffd825248d374c21b6a885de
2017-04-18 16:56:44 +10:00
Nicholas Nethercote
4b13b22552 Bug 1352575 (part 13) - Remove surrogate use when casting. r=jimm.
--HG--
extra : rebase_source : f58166692141cce898877f48c7390587e385175d
2017-05-26 15:32:30 +10:00
Nicholas Nethercote
e08f1ddc1f Bug 1352575 (part 12) - Remove NP_InitializeResult. r=jimm.
--HG--
extra : rebase_source : 9ac4be00773bbcb27834bd338c569238cd0bec7c
2017-04-18 16:56:44 +10:00
Nicholas Nethercote
671542cfd3 Bug 1352575 (part 11) - Remove LoadPluginResult and AssociatePluginId. r=jimm.
--HG--
extra : rebase_source : ecc5dd47ef1177abd947f331473a7436c97dad61
2017-04-18 16:56:44 +10:00
Nicholas Nethercote
8990926e77 Bug 1352575 (part 10) - Remove PluginModuleChromeParent::mContentParent. r=jimm.
--HG--
extra : rebase_source : 75006d9b1b70752de872ad4c5de74248d6ce9290
2017-04-18 16:56:44 +10:00
Nicholas Nethercote
c67ffb04c6 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.

--HG--
extra : rebase_source : cadb1d215fd93051c9032ea0a1fb6f1d2fb80c6d
2017-04-18 16:56:43 +10:00
Nicholas Nethercote
86c372f589 Bug 1352575 (part 4) - Remove dom.ipc.plugins.asyncInit.enabled pref. r=jimm.
The feature is in the process of being removed.

--HG--
extra : rebase_source : 7540804ef15db7001dafc854fc35f7c1834d8815
2017-04-18 16:56:43 +10:00
Nicholas Nethercote
3dbe336b54 Bug 1352575 (part 3) - Remove PluginModuleChromeParent::mAsyncInitError. r=jimm.
It's unused.

--HG--
extra : rebase_source : a52c85e601f47b132e5e4fea1d682f7ee4210bfb
2017-04-18 16:56:43 +10:00
Nicholas Nethercote
a68d1bbb86 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.

--HG--
extra : rebase_source : a97f5b83a0f8564fd287a5e920fb24e01b45967e
2017-04-18 16:56:43 +10:00
Bill McCloskey
f115503a0b 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
58786e1ea7 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.

--HG--
extra : rebase_source : 318d1bc6fc1425a94aacbf489dd46e4f83211de4
2017-06-22 17:08:53 +10:00
Cervantes Yu
05b9a6c854 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
e7ad561c4e 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
06783015b2 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

--HG--
extra : source : 0c369361860f9904472e3247946a9ee65bbf3145
extra : intermediate-source : cbe47c79803d6d46166866df8c8ae451fa5b5318
extra : histedit_source : 94d7539194d783092481b299cb6ae37dd5a11ad6
2017-06-15 00:49:28 -07:00
Markus Stange
26469737d1 Bug 1369859 - Add MOZ_GECKO_PROFILER ifdefs around #includes of ProfilerParent.h. r=njn
MozReview-Commit-ID: HS3BBsrHVHu

--HG--
extra : rebase_source : b8439920e82f067bb1a05d513d029363a8c2a24e
2017-06-02 16:03:39 -04:00
Markus Stange
e2336b07a8 Bug 1330185 - Use a top-level PProfiler protocol to control the profiler in other processes. r=billm,njn
MozReview-Commit-ID: EROfGuYQ6a0

--HG--
extra : rebase_source : be0aa1b9c7963882e8e7d47964f2da5b670ab10a
extra : intermediate-source : e6f368f2d8741f2a9655b288d49b59fbbd6b90b7
extra : source : 51cdc2541486d5ddf2d385ec0459a9ec38b8775b
2017-05-30 15:06:14 -04:00
David Parks
f2774deb20 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.

--HG--
extra : histedit_source : 85515d398c0c107c2258185c0591a943b26e724a
2017-05-16 14:47:09 -07:00
Phil Ringnalda
6368ef89e2 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
9bf6b534a2 Bug 1330185 - Use a top-level PProfiler protocol to control the profiler in other processes. r=njn, r=billm
MozReview-Commit-ID: EROfGuYQ6a0

--HG--
extra : rebase_source : 3495ccc7700703cc587f571dfc12e46a682c29a2
extra : source : 51cdc2541486d5ddf2d385ec0459a9ec38b8775b
2017-05-22 13:47:02 -04:00
Markus Stange
42b5d166ec 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
b5fdcd479d Bug 1330185 - Use a top-level PProfiler protocol to control the profiler in other processes. r=njn, r=billm
MozReview-Commit-ID: EROfGuYQ6a0

--HG--
extra : rebase_source : de266bda4fc2d6532ff45a6d548b13cd0b4f7206
extra : histedit_source : ad5c4e140c068f17c51d5085fd88ac691e50ab4f
2017-05-21 14:06:50 -04:00
Łukasz Kędziorski
264fce8c06 Bug 1357578 - Convert PRCList usage in nsPluginHost to mozilla::LinkedList. r=erahm,r=bsemdberg 2017-05-02 17:12:00 -07:00
Jim Mathies
8709518a57 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

--HG--
extra : rebase_source : 9ad04ab84307dafd8b4368be2135193a1afd32ee
2017-04-25 10:55:48 -05:00
Markus Stange
59446b4f09 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

--HG--
extra : rebase_source : b0271115a66afbf54d98b5bad61165f815f5bd8c
extra : histedit_source : 299cccc9cc8c06de4d61686ff49d2b0e7649da78
2017-04-12 16:44:31 -04:00
Kyle Machulis
fd15c21a56 Bug 1350940 - Label Runnables in dom/plugins; r=bsmedberg
MozReview-Commit-ID: DCxeZUj6CEd

--HG--
extra : rebase_source : ff3c4f30530f289a69807c9762a18d40f2ffbc7d
2017-03-27 13:35:25 -07:00
Markus Stange
2a4fe61200 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

--HG--
extra : rebase_source : a91e7b40ea2dbd6d75c2d1a62c359d7ea983fe3c
2017-03-22 21:44:59 -04:00
Gabriele Svelto
1ab1c1e41b 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

--HG--
extra : source : a4d8291c56fcde00238ab3166bbe6af6dd602340
2017-02-16 07:36:57 +01:00
Benjamin Smedberg
c974a29a4b 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

--HG--
extra : histedit_source : 74c556c04e56ae7e5d6c5cd8f42f49f358864bac
2017-02-23 12:37:42 -05:00
Nicholas Nethercote
348841f745 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.

--HG--
rename : tools/profiler/public/ProfileGatherer.h => tools/profiler/gecko/ProfileGatherer.h
extra : rebase_source : d8e06a1133d4098c3a214858d3ff2c4bdcd9f1f2
2017-02-22 10:19:53 +11:00
David Parks
8e150e4643 Bug 1284897 - Hook GetSaveFileNameW/GetOpenFileNameW to record and grant a sandboxed process permission to access user-chosen files. r=jimm
--HG--
extra : rebase_source : 024eae9f9657579debd38baba1526acfdca2385a
2017-02-08 11:38:40 -08:00
Sebastian Hengst
3db78708f4 Backed out changeset c35afe490583 (bug 1284897) 2017-02-21 23:13:20 +01:00
David Parks
7c0cff84c2 Bug 1284897 - Hook GetSaveFileNameW/GetOpenFileNameW to record and grant a sandboxed process permission to access user-chosen files. r=jimm
--HG--
extra : rebase_source : fcfe35521d457905d3205752343c2b9da9bef13d
extra : histedit_source : f44f572c1bc17d1ac8d8d1cef7ed35e5f8125b79
2017-02-08 11:38:40 -08:00
Jim Mathies
bc2f0d8531 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
87ae1a50e4 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
32aabd5e62 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
3a24634204 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
0376642438 Bug 1337781 - Force Flash to be windowless on Linux, r=jimm
MozReview-Commit-ID: KuSqj0FwAXg

--HG--
extra : rebase_source : e52d1e89c177dd4d546eba383eab2c272b01e5a7
extra : histedit_source : 4eaefb2e81b0e8a1b0db905c1cee8aa3d838c919
2017-02-08 09:35:28 -05:00
Carsten "Tomcat" Book
f0343913a8 Backed out changeset f4c6758e15f9 (bug 1307708) on developers request 2017-02-09 11:49:38 +01:00
David Parks
2b771634a4 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.

--HG--
extra : rebase_source : b45e8ffcfe6f63213a289aac874fd43cb71a54ec
2017-02-06 11:53:59 -08:00
Andrew McCreight
87a0a37e72 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

--HG--
extra : rebase_source : 1ce0012d3f51b0cdebb1954cf473811a9d6c47a7
2017-01-25 14:17:17 -08:00
Bill McCloskey
ec760e9fba Bug 1332494 - Move TaskCategory definition to xpcom/threads/TaskCategory.h (r=froydnj)
MozReview-Commit-ID: ET43PbGRgxl
2017-01-26 14:45:58 -08:00
Nicholas Nethercote
22b6d342d7 Bug 1333296 (part 1) - Rename MOZ_ENABLE_PROFILER_SPS as MOZ_GECKO_PROFILER. r=mstange,glandium.
--HG--
extra : rebase_source : 223f3a17f009645369be503392cc1f0cea7f19a1
2017-01-24 14:15:12 +11:00
Jim Mathies
be65900be8 Bug 1331951 - Remove plugin async drawing work around that landed in bug 1312242. r=bsmedberg
MozReview-Commit-ID: 8OgOLm7HyDT
2017-01-18 09:14:05 -06:00
Tomislav Jurin
348bfffc19 Bug 1296189 - Replace NS_RUNTIMEABORT("some string literal message") with MOZ_CRASH(). r=froydnj 2016-12-02 13:46:53 -08:00
Bill McCloskey
21912efc29 Bug 1318506 - Label PluginInstance IPC messages with plugin's DocGroup (r=jimm)
The goal here is to assign a DocGroup to every runnable. This patch labels all
IPC message handlers for PPluginInstance with the DocGroup of the plugin
instance's document.

MozReview-Commit-ID: 6OIard9n2GB
2016-12-01 15:00:13 -08:00
Sebastian Hengst
fa248911ec Backed out changeset 3411c3d9c141 (bug 1318506) 2016-12-01 13:35:23 +01:00
Bill McCloskey
1ea2a1e009 Bug 1318506 - Label PluginInstance IPC messages with plugin's DocGroup (r=jimm)
The goal here is to assign a DocGroup to every runnable. This patch labels all
IPC message handlers for PPluginInstance with the DocGroup of the plugin
instance's document.

MozReview-Commit-ID: 6OIard9n2GB
2016-11-30 18:01:59 -08:00
Sotaro Ikeda
514c309d12 Bug 1312988 - Separate the recycling allocators for gpu and cpu textures. r=nical 2016-11-14 10:09:39 +01:00
Kan-Ru Chen
f8100451db Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm
We will use the new type for the generated IPDL message handler
prototype to make sure correct error handling method is called.

MozReview-Commit-ID: AzVbApxFGZ0
2016-11-15 04:26:00 +01:00