Commit graph

147 commits

Author SHA1 Message Date
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
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
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
Tom Ritter
15cb139b10 Bug 1344845 - Fix --disable-sandbox by ifdef-ing an include. r=handyman
MozReview-Commit-ID: F06jWmvH52V

--HG--
extra : transplant_source : %9E%D4%96%8C%2Bn%ED%B7B%E6%C04%CC%C0%7Ez%8A%EA%7E%3A
2017-03-06 13:38:32 -06: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
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
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
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
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
Nathan Froyd
c6166bd03a Bug 1307483 - remove mProtocolCallStack from PluginModuleChromeParent; r=jimm
The last useful references to this were removed in bug 1250046, when we
deleted Shumway-specific IPC support.  All this code is doing now is
taking up space.
2016-10-05 00:04:32 -04:00
David Parks
17683f933c Bug 1251202 - Implement Default Audio Device Notifications for NPAPI plugins on Windows. r=jimm
Adds plugin variables NPPVpluginRequiresAudioDeviceChanges and NPNVaudioDeviceChangeDetails on Windows.

--HG--
extra : rebase_source : ff18bbca9772352b18be1dfcde90570775e8d5cc
2016-09-19 14:05:41 -07:00
Kyle Machulis
f8661f72f8 Bug 820831 - Turn on ContentScaleFactor calculation on Windows; r=jimm
MozReview-Commit-ID: 5rqTURsO839

--HG--
extra : rebase_source : 2e2f71d825221723990049958d43d6e2eb40411d
2015-09-17 13:31:34 -07:00
Makoto Kato
0d03e6a9b7 Bug 1180684 - Part 2. Hook GetKeyState on plugin process. r=aklotz
MozReview-Commit-ID: 3cCWMYYaTkn

--HG--
extra : rebase_source : 5350555661244ba0e3afe86bde12988270f9f7cf
2016-08-22 16:06:50 +09:00
Bob Owen
73dac13bac Bug 1252877 Part 4: Remove notification of plugins about scrolling from child. r=jimm
MozReview-Commit-ID: 2tHtOxx7jKa
2016-07-18 09:54:02 +01:00
Gabriele Svelto
35b1fc1eb3 Bug 1262852 - Create a minidump of the plugin process as soon as possible during hang r=jimm 2016-06-24 14:25:08 +02:00
David Anderson
910f73265e Move TaskFactory from dom/plugins to ipc/glue. (bug 1271180 part 1, r=aklotz)
--HG--
rename : dom/plugins/ipc/TaskFactory.h => ipc/glue/TaskFactory.h
extra : rebase_source : 96b02ead0afb82a27d668927dd53d722b77e488b
2016-06-10 15:43:35 -04:00
Phil Ringnalda
5e0adb7d56 Back out 5 changesets (bug 1271180) for static analysis bustage
CLOSED TREE

Backed out changeset cfb53b780b18 (bug 1271180)
Backed out changeset 204b084385f8 (bug 1271180)
Backed out changeset 353da876be33 (bug 1271180)
Backed out changeset 4472dfbc1dc6 (bug 1271180)
Backed out changeset 81079e787b8a (bug 1271180)

--HG--
rename : ipc/glue/TaskFactory.h => dom/plugins/ipc/TaskFactory.h
2016-06-11 00:46:09 -07:00
David Anderson
995cadf738 Move TaskFactory from dom/plugins to ipc/glue. (bug 1271180 part 1, r=aklotz)
--HG--
rename : dom/plugins/ipc/TaskFactory.h => ipc/glue/TaskFactory.h
extra : rebase_source : 485012c5a08eb0ce2a4225ddfe9cbfb454fc4302
2016-06-10 15:43:35 -04:00
Jonathan Watt
b15368cfcb Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Valentin Gosu
451803ecf5 Bug 1148161 - rename PluginModuleParent::OfflineObserver to PluginOfflineObserver r=jimm
The class name clashes with mozilla::net::OfflineObserver and ends up crashing in nsTraceRefcnt::GetBloatEntry because the two classes have a different size.
2016-05-12 17:43:34 +02:00
Kyle Huey
7579799b01 Bug 1266595: Replace Chromium Task with Runnable. r=froydnj 2016-04-27 17:06:05 -07:00
Andrea Marchesini
a9b65ecfb0 Bug 1261094 - Improve how MessageChannel::mInterruptStack is used in IPC code, r=jld 2016-04-28 07:21:49 +08:00
Masayuki Nakano
b332dc9ff4 Bug 1257759 part.5 PluginInstanceChild should post received native key event to chrome process if the key combination may be a shortcut key r=jimm
When PluginInstanceChild receives native key events, it should post the events to the chrome process first for checking if the key combination is reserved.  However, posting all key events to the chrome process may make damage to the performance of text input.  Therefore, this patch starts to post a key event whose key combination may be a shortcut key.  However, for avoiding to shuffle the event order, it posts following key events until all posted key events are handled by the chrome process.

For receiving response from widget, this patch defines nsIKeyEventInPluginCallback.  It's specified by nsIWidget::OnWindowedPluginKeyEvent() for ensuring the caller will receive the reply.  Basically, the caller of nsIWidget::OnWindowedPluginKeyEvent() should reply to the child process.  However, if the widget is a PuppetWidget, it cannot return the result synchronously.  Therefore, PuppetWidget::OnWindowedPluginKeyEvent() returns NS_SUCCESS_EVENT_HANDLED_ASYNCHRONOUSLY and stores the callback to mKeyEventInPluginCallbacks.  Then, TabParent::HandledWindowedPluginKeyEvent() will call PuppetWidget::HandledWindowedPluginKeyEvent().

MozReview-Commit-ID: G6brOU26NwQ

--HG--
extra : rebase_source : 8140456de278956d2d594e85c7b397ae366b4962
2016-04-19 20:09:37 +09:00
Aaron Klotz
8db796eb11 Bug 1256943: Ensure that BLOCKED_ON_PLUGIN_MODULE_INIT_MS is being recorded in e10s chrome; r=jimm
I also add some missing data to the content version, namely the duration of time that ContentParent::SendLoadPlugin takes.

MozReview-Commit-ID: 8qSZopvY1D7

--HG--
extra : rebase_source : ca717c149a52ed1ece9ac0678dca0c284ab26c5d
2016-03-15 14:04:34 -06:00
Aaron Klotz
094a7b0970 Bug 1161169: Clean up usage of mContentParent and clearly identify it as specifically for async plugin init; r=billm,jimm
mContentParent is really just to be used while handling a synchronous
ContentParent::RecvLoadPlugin call when async plugin init turned on.

In any other context, using it will be unsafe.

This patch adds comments and assertions to ensure that this value isn't set
otherwise, and converts the one use of mContentParent outside of async plugin
init to use an alternative mechanism for identifying the content process.

MozReview-Commit-ID: Esgt1kj0MCt

--HG--
extra : rebase_source : 166b913b401582c6948e4b61efc102dc1b9c8d2f
2016-03-03 00:24:36 -07:00
Jim Mathies
b4cc9c50e1 Bug 1232181 - Plugin module plumbing for retrieving scroll captures and updating plugin instance content scroll state. r=roc 2016-03-01 12:48:25 -06:00
Makoto Kato
a9e2d876b8 Bug 1201904 - Force windowless mode for Flash when sandbox level >= 2. r=bsmedberg
--HG--
extra : commitid : Bi7iElnGJdT
extra : rebase_source : 9e2dcde2410bd089d6fd3f0da77927199c586443
2016-01-15 16:45:15 +09:00
Nicholas Nethercote
f447bec986 Bug 1233619 (part 2) - Moz2Dify BeginUpdate() and BeginUpdateBackground() functions. r=roc.
The only non-trivial change is in BasicPaintedLayer::Validate().

--HG--
extra : rebase_source : 7eed0e384d2d856d918ad025b09e29f796017f51
2015-12-17 19:39:10 -08:00
Nicholas Nethercote
67e5c3ea2c Bug 1233619 (part 1) - Remove unneeded gfxContext argument from EndUpdate() and EndUpdateBackground() functions. r=roc.
--HG--
extra : rebase_source : cc16e7a77d8d60706cd0406c859aece88d7b18c3
2015-12-17 19:39:09 -08:00
Mike Conley
9811d5b26c Bug 1193838 - Expose ProfileGatherer as an nsISupports through nsIProfiler for process parent actors. r=BenWa
We need to let ContentParent and PluginModuleParent get a reference to the ProfileGatherer
during the window of time that we're profiling so that if they start to die (the actor is
starting to go away), they have a gatherer they can send their last profile data to.

--HG--
extra : commitid : LkcpDsiXmp0
extra : rebase_source : d1c9e6e7640ff759cef25920e2bc17c0484544bd
2015-08-12 14:20:26 -04:00
David Anderson
949bfb8805 Implement the direct bitmap drawing model for plugins. (bug 1217665 part 6, r=mattwoodrow)
--HG--
extra : rebase_source : a3243dc38b6033d6dcdaf98d89323b4315efd0f7
2015-12-02 11:31:17 -08:00
David Anderson
55f75a9936 Revive NPAPI async drawing: stub code. (bug 1217665 part 1, r=aklotz)
--HG--
extra : rebase_source : e106bcfe1d671bcff1175b08d47bd8fd2768d64e
2015-12-02 11:31:16 -08:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Aaron Klotz
1a99652bde Bug 1194488: Whitelist specific plugins for async init; r=jimm
--HG--
extra : rebase_source : d1823d3f1eaf2632fc61e0a444cce2d144d8951f
2015-08-31 17:04:25 -06:00
Bob Owen
89f39ad39a Bug 1182411 Part 1: Make plugin quirks available to the Parent as well as the Child. r=jimm 2015-08-12 16:00:25 +01:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Daniel Holbert
08e61a1e4e Bug 1158561 followup: Add 'override' annotations to overriding methods added in this bug: Callback(), SitesWithData(), RecvReturnClearSiteData(), & RecvReturnSitesWithData(). rs=ehsan 2015-07-07 21:10:32 -07:00
Brad Lassey
857ea25644 bug 1158561 - [e10s] Browser hang in PluginModuleParent::NPP_ClearSiteData() r=jimm,mak 2015-06-30 18:08:19 -04:00