Commit Graph

251 Commits

Author SHA1 Message Date
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
Makoto Kato
0814a1c30c Bug 1248821 - Force Flash to windowless mode regardless of sandbox level. r=jimm
MozReview-Commit-ID: B6X6DS42tYb
2016-04-15 19:59:58 +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
Jim Mathies
a6a7ee58cc Bug 1041599 - Maintain a single volume control session between browser, content, and plugins on Windows. r=aklotz
MozReview-Commit-ID: 2LuYciKfsWn
2016-03-13 08:25:23 -05: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
Wes Kocher
c169cf975d Merge m-c to inbound, a=merge
MozReview-Commit-ID: 3PWdAnh0hk5
2016-03-01 15:29:43 -08: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
Yury Delendik
d52c5340df Bug 1250046 - Remove Shumway references from IPC. r=jmathies 2016-02-23 18:16:42 -06:00
Makoto Kato
5af7370252 Bug 1246574 - Store sandbox level to nsPluginTag for e10s. r=jimm
When turned on e10s, plugin process creates from chrome process.  So content
process doesn't know current sandbox level.  To rewrite wmode attribute on
contnet process by sandbox level >= 2, we should store sandbox level to
nsPluginTag.

MozReview-Commit-ID: DCQ5g7uCbJF
2016-02-08 20:21:20 +09: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
David Rajchenbach-Teller
e82056648c Bug 1224374 - Profiler labels for the 25 top chrome hangs;r=BenWa,MarcoZ
Experience shows that we do not have enough profiler labels to make
BHR hang reports meaningful. This patch adds enough labels to let us
exploit hang reports matching the 25 topmost chrome hangs.
2016-01-14 23:03:11 +01:00
Sebastian Hengst
2e241e7e5e Backed out 2 changesets (bug 1224374) for Windows bustage. r=bustage on a CLOSED TREE
Backed out changeset 5f458e6e4997 (bug 1224374)
Backed out changeset 0dc02cb0b604 (bug 1224374)
2016-01-19 21:30:41 +01:00
David Rajchenbach-Teller
b9014bc5d3 Bug 1224374 - Profiler labels for the 25 top chrome hangs;r=BenWa,MarcoZ
Experience shows that we do not have enough profiler labels to make
BHR hang reports meaningful. This patch adds enough labels to let us
exploit hang reports matching the 25 topmost chrome hangs.
2016-01-14 23:03:11 +01:00
Felipe Gomes
033296812e Bug 1239525 - Make sure async plugin initialization is off if e10s is on. r=aklotz 2016-01-14 16:38:53 -02: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
Jim Mathies
fe1db32780 Bug 1227312 - Avoid calling FinalizeChildData twice in GenerateCompleteMinidump. r=ted 2015-12-03 10:25:10 -06:00
Randell Jesup
c41ae23770 Bug 1226200: Don't assume a TCPSocket has only one managee (and rename LoneManagedOrNull) r=jdm 2015-12-22 10:14:23 -05:00
Mike Conley
317b401815 Bug 1193838 - Allow ProfileGatherer to gather profiles from exiting processes. r=BenWa 2015-08-18 14:57:35 -04: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
Mike Conley
97fc9f775a Bug 1103094 - Start profiling subprocesses if the parent process is already profiling. r=BenWa 2015-08-11 14:26:27 -04:00
Birunthan Mohanathas
ac37dec517 Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02: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
Nathan Froyd
0ff019108f Bug 1212027 - part 5 - add LoneManagedOrNull for simplifying a lot of upcoming code; r=jld
A lot of existing code has variations on:

  if (ManagedPFooChild().Length()) {
    ...(ManagedPFooChild()[0])...
  }
  // Do something with nullptr, or some other action.

It's pretty reasonable to repeat this code when the managed protocols
are stored in an array; the code gets much less nice when managed
protocols are stored in a hashtable.  Let's write a small utility
function to handle those details for us.  Then when we change the
underlying storage, we only need to update this function, rather than a
bunch of callsites.

ProtocolUtils.h is included by all the generated IPDL headers, so
LoneManagedOrNull should be available everywhere the above pattern would
be encountered.
2015-10-07 20:15:56 -04:00
Andrew McCreight
9964f6305e Bug 1213407 - PluginModuleContentParent should delete its Transport. r=billm 2015-10-12 10:27:00 -07:00
Michael Layzell
a093510d49 Bug 1201190 - Part 3: Mark every consumer of GUARD_OBJECT as MOZ_RAII, r=ehsan 2015-09-12 16:53:33 -04:00
Bob Owen
68dd0cf89e Bug 1202024: Initialize plugin details and quirks in parent on first run for async init. r=aklotz 2015-09-10 08:25:20 +01:00
Aaron Klotz
42fabfe5d0 Bug 1200698: Rename async plugin init pref; r=bsmedberg 2015-09-09 01:01:13 -06:00
Aaron Klotz
c473d5659d Bug 1194488: Whitelist specific plugins for async init; r=jimm 2015-08-31 17:04:25 -06:00
Bob Owen
e27f1455ab Bug 1185532: Turn on the NPAPI process sandbox for Windows 64-bit flash by default. r=bsmedberg 2015-08-20 12:45:09 +01: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
Wes Kocher
218bf8bae9 Backed out changeset a2f3a6818c4d (bug 1189887) for test_instance_re-parent.html failures CLOSED TREE 2015-08-05 13:09:08 -07:00
Aaron Klotz
8f9cc57f9b Bug 1189887: Enable async plugin init by default except when e10s is on; r=jimm 2015-07-31 13:39:42 -06:00
John Schoenick
174709e97c Bug 1178963 part 1. Use nsIPluginTagInternal instead of nsPluginTag in cases where it may be nsFakePluginTag. r=peterv 2015-05-20 15:30:05 +02:00
Aaron Klotz
a60b2fd738 Bug 1184068: Ensure that mShutdown is not incorrectly set from true to false if plugin crashes during CallNP_Shutdown; r=jimm 2015-07-22 17:39:32 -06:00
Jim Mathies
2cbada343d Bug 1128454 - When plugin bridging fails, propagate the error back to the content process without aborting tabs. r=billm 2015-07-20 10:20:15 -05:00
Jim Mathies
4180ebe4dd Bug 1128454 - When plugin bridging mysteriously fails, log the ipc channel state along with the nsresult error code. r=billm 2015-07-15 14:47:14 -05: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
Jim Mathies
d55e6f7543 Bug 1128454 - Add crash report annotations for plugin bridge operation failures. r=billm 2015-07-09 19:07:49 -05: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
Juan Gomez
89035d527e Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-07-03 18:29:00 -07: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
Ryan VanderMeulen
7aba9d7002 Backed out changeset 8b4e4083639e (bug 1171931) for B2G debug emulator bustage. 2015-06-25 19:48:42 -04:00
Juan Gomez
7323e89a40 Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-06-24 14:11:00 -04:00