Commit Graph

176 Commits

Author SHA1 Message Date
Nathan Froyd
862a7d6649 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
ae5e8512ae Bug 1251202 - Implement Default Audio Device Notifications for NPAPI plugins on Windows. r=jimm
Adds plugin variables NPPVpluginRequiresAudioDeviceChanges and NPNVaudioDeviceChangeDetails on Windows.
2016-09-19 14:05:41 -07:00
Kyle Machulis
7819d15177 Bug 820831 - Turn on ContentScaleFactor calculation on Windows; r=jimm
MozReview-Commit-ID: 5rqTURsO839
2015-09-17 13:31:34 -07:00
Makoto Kato
8893b79119 Bug 1180684 - Part 2. Hook GetKeyState on plugin process. r=aklotz
MozReview-Commit-ID: 3cCWMYYaTkn
2016-08-22 16:06:50 +09:00
Bob Owen
4d92ace334 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
f8555cd1cf 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
78a6c64379 Move TaskFactory from dom/plugins to ipc/glue. (bug 1271180 part 1, r=aklotz) 2016-06-10 15:43:35 -04:00
Phil Ringnalda
fb45b46515 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)
2016-06-11 00:46:09 -07:00
David Anderson
9efe15d5c6 Move TaskFactory from dom/plugins to ipc/glue. (bug 1271180 part 1, r=aklotz) 2016-06-10 15:43:35 -04:00
Jonathan Watt
9c5b8de022 Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Valentin Gosu
283d514a0f 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
f3e34e67b3 Bug 1266595: Replace Chromium Task with Runnable. r=froydnj 2016-04-27 17:06:05 -07:00
Andrea Marchesini
0b0d05f69d Bug 1261094 - Improve how MessageChannel::mInterruptStack is used in IPC code, r=jld 2016-04-28 07:21:49 +08:00
Masayuki Nakano
bbce223b06 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
2016-04-19 20:09:37 +09:00
Aaron Klotz
0ce4b873e9 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
2016-03-15 14:04:34 -06:00
Aaron Klotz
aa93454d29 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
2016-03-03 00:24:36 -07:00
Jim Mathies
26c7ae8377 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
4ad859e9df Bug 1201904 - Force windowless mode for Flash when sandbox level >= 2. r=bsmedberg 2016-01-15 16:45:15 +09:00
Nicholas Nethercote
5a68f41931 Bug 1233619 (part 2) - Moz2Dify BeginUpdate() and BeginUpdateBackground() functions. r=roc.
The only non-trivial change is in BasicPaintedLayer::Validate().
2015-12-17 19:39:10 -08:00
Nicholas Nethercote
e2e2a2fbf9 Bug 1233619 (part 1) - Remove unneeded gfxContext argument from EndUpdate() and EndUpdateBackground() functions. r=roc. 2015-12-17 19:39:09 -08:00
Mike Conley
e4b7406993 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.
2015-08-12 14:20:26 -04:00
David Anderson
aad66b2774 Implement the direct bitmap drawing model for plugins. (bug 1217665 part 6, r=mattwoodrow) 2015-12-02 11:31:17 -08:00
David Anderson
4686122c82 Revive NPAPI async drawing: stub code. (bug 1217665 part 1, r=aklotz) 2015-12-02 11:31:16 -08:00
Nathan Froyd
4e6d8f6705 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
2015-10-18 01:24:48 -04:00
Aaron Klotz
c473d5659d Bug 1194488: Whitelist specific plugins for async init; r=jimm 2015-08-31 17:04:25 -06:00
Bob Owen
0df3fee46d 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
a29151dc87 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
89eea44e48 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
6f3fecc1b0 bug 1158561 - [e10s] Browser hang in PluginModuleParent::NPP_ClearSiteData() r=jimm,mak 2015-06-30 18:08:19 -04:00
Jim Mathies
dd9333e112 Bug 1178998 - Identify which hang detector reports a hang. r=billm 2015-07-06 12:39:25 -05:00
Wes Kocher
1e193b542b 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
5f96379688 bug 1158561 - [e10s] Browser hang in PluginModuleParent::NPP_ClearSiteData() r=jimm,mak 2015-06-30 18:08:19 -04:00
Ryan VanderMeulen
45d22e186e Backed out changesets 57bbe09f18f2 and 8353c823b8b5 (bug 1158561) for win32 build bustage.
CLOSED TREE
2015-07-01 12:11:41 -04:00
Brad Lassey
ffff931b1a bug 1158561 - [e10s] Browser hang in PluginModuleParent::NPP_ClearSiteData() r=jimm,mak 2015-06-30 18:08:19 -04:00
Bill McCloskey
0e72bb1aba Bug 1164543 - Add HasLocalInstance support (r=jimm) 2015-06-19 17:35:05 -07:00
Bill McCloskey
52dd1aa5a4 Bug 1175975 - Null crash fix in ProcessHangMonitor (r=jimm) 2015-06-19 17:35:04 -07:00
Ted Mielczarek
d0bfb3c3cf bug 1174414 - Fix build without profiler. r=mconley 2015-06-13 20:55:33 -04:00
Mike Conley
009806627b Bug 1116188 - Add async ProfileGatherer as the mechanism for gathering profiles from subprocesses. r=bgirard,bz 2015-06-10 17:58:30 -04:00
Jim Mathies
536efcfe2d 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
40889a97b9 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
16367a6360 Bug 1146955 - Unify pluginID for GMP and runID for NPAPI plugins to use the same internal incrementor. r=jesup, mrbkap. 2015-04-27 15:09:45 -04:00
Aaron Klotz
c7b1e97b26 Bug 1152395: Ensure that NP_Shutdown respects async plugin init; r=jimm 2015-04-08 11:31:18 -06:00
Mike Conley
ca7d1a4482 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.
2015-03-17 13:28:32 -04:00
Mike Conley
65a98b8305 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.
2015-03-17 13:42:34 -04:00
Ehsan Akhgari
ea41d8de48 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Aaron Klotz
17f21295f6 Bug 1128768: Part 5 - Update plugin code to retrieve SWF file for hang annotations; r=jimm 2015-02-25 17:38:09 -07:00
Aaron Klotz
8f6660cccf Bug 1115438: Move PluginModuleParent's invocation of CreateToolhelp32Snapshot off the main thread; r=jimm 2015-03-06 12:31:17 -07:00
Aaron Klotz
fba365c8b0 Bug 1127888: Fix causes of async plugin init hangs; r=jimm 2015-02-21 23:07:24 -07:00
Benjamin Smedberg
701b286595 Bug 1133003 part A - send a global observer notification when Flash hangs, r=aklotz 2015-02-19 14:52:04 -05:00
Benjamin Smedberg
3607dcdc58 Bug 1126450 - When Flash has a blocklist entry, we should keep protected-mode on, no matter the value of the pref setting. r=aklotz 2015-01-27 15:49:48 -05:00