Commit graph

132 commits

Author SHA1 Message Date
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
Jim Mathies
a10d0c34c0 Bug 1178998 - Identify which hang detector reports a hang. r=billm 2015-07-06 12:39:25 -05:00
Wes Kocher
9e61cb09b7 Backed out changeset 9e0475a23d21 (bug 1158561) for assertions in test_clear_site_data.html CLOSED TREE 2015-07-01 16:25:26 -07:00
Brad Lassey
8caec1b14a bug 1158561 - [e10s] Browser hang in PluginModuleParent::NPP_ClearSiteData() r=jimm,mak 2015-06-30 18:08:19 -04:00
Ryan VanderMeulen
9483a612e8 Backed out changesets 57bbe09f18f2 and 8353c823b8b5 (bug 1158561) for win32 build bustage.
CLOSED TREE
2015-07-01 12:11:41 -04:00
Brad Lassey
9ddc8315be bug 1158561 - [e10s] Browser hang in PluginModuleParent::NPP_ClearSiteData() r=jimm,mak 2015-06-30 18:08:19 -04:00
Bill McCloskey
c04deb201e Bug 1164543 - Add HasLocalInstance support (r=jimm) 2015-06-19 17:35:05 -07:00
Bill McCloskey
5a3098de24 Bug 1175975 - Null crash fix in ProcessHangMonitor (r=jimm) 2015-06-19 17:35:04 -07:00
Ted Mielczarek
fca5598e0a bug 1174414 - Fix build without profiler. r=mconley
--HG--
extra : commitid : 9feSETPZSKa
extra : rebase_source : 025c9a8bdfee42be8926a87b8e6f9da51c0134c5
2015-06-13 20:55:33 -04:00
Mike Conley
883b7ff2db Bug 1116188 - Add async ProfileGatherer as the mechanism for gathering profiles from subprocesses. r=bgirard,bz
--HG--
extra : commitid : 3ssrVzrWpIy
extra : rebase_source : 5d389ada8f7e4c453c0b7e6a965ee46a7526e06f
2015-06-10 17:58:30 -04:00
Jim Mathies
ebf8adc0a6 Bug 1160142 - For e10s plugin hangs take the minidump of the browser process before we message the chrome UI about the hang. r=billm 2015-06-11 12:25:45 -05:00
Bob Owen
51a5fe52f3 Bug 1123759: Set low integrity on NPAPI processes for Windows sandboxing policy level >= 2. r=bbondy, r=bsmedberg 2015-05-22 17:05:45 +01:00
Mike Conley
91457c2516 Bug 1146955 - Unify pluginID for GMP and runID for NPAPI plugins to use the same internal incrementor. r=jesup, mrbkap.
--HG--
extra : rebase_source : bd7989a043f0b36f23ffc8d35a55a6110b09b163
extra : source : 175040b5d347dcbb31cf63f124f88ba1f53fda61
2015-04-27 15:09:45 -04:00
Aaron Klotz
9be46b97cf Bug 1152395: Ensure that NP_Shutdown respects async plugin init; r=jimm
--HG--
extra : rebase_source : 2fc1fda02d611303d18eb24a438ed2ac223a52f7
2015-04-08 11:31:18 -06:00
Mike Conley
d95fcd35e3 Bug 1148012 - Expose run ID through nsIObjectLoadingContent.idl. r=josh,smaug.
The run ID for a plugin is retrieved and cached in the nsObjectLoadingContent
on plugin instantiation.

--HG--
extra : rebase_source : d1e87b7751e6367c482b2420aa43bfadbce5e3e8
2015-03-17 13:28:32 -04:00
Mike Conley
22a0f74e8f Bug 1148012 - Add a run ID for plugins to differentiate subsequent runs of the same plugins. r=jimm.
Normally, this could be served by the process ID of a plugin, however, run ID is meant
to be consumed by multi-process browser chrome code for telling different runs of a
plugin apart (for example, for searching the DOM for a crashed instance of a plugin,
while ensuring that we don't accidentally find newly spawned instances that have not
crashed). Exposing something as low-level as the process ID to browser chrome code
seemed like Too Much Information. Also, there is the extremely unlikely chance that
a process ID might be re-used immediately after the original process shuts down. This
run ID avoids that case, regardless of how unlikely.

--HG--
extra : rebase_source : 4f0072ef660645efdb26d8fa7c9f03dfc60a4f4a
2015-03-17 13:42:34 -04:00