Commit Graph

246 Commits

Author SHA1 Message Date
Kyle Huey
b334682d78 Bug 1268313: Part 2 - Replace some NewRunnableMethods with NS_NewNonOwningRunnableMethod. r=froydnj 2016-04-28 14:08:24 -07:00
Kyle Huey
f3e34e67b3 Bug 1266595: Replace Chromium Task with Runnable. r=froydnj 2016-04-27 17:06:05 -07: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
Kyle Machulis
d37bea3dcb Bug 1171182 - Browser Zoom Query for NPAPI; r=bsmedberg r=jaas 2016-03-18 10:50:50 -07:00
Jim Mathies
6a9c477807 Bug 1253434 - Avoid trying to capture plugin windows that have a zero width or height and a positive value for the other dim. r=aklotz
MozReview-Commit-ID: 8YZZsnqlkdX
2016-03-03 17:23:32 -06: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
5b507902b3 Bug 1232181 - Add support for capturing plugin windows on Windows. r=aklotz 2016-03-01 12:48:26 -06:00
Yury Delendik
d52c5340df Bug 1250046 - Remove Shumway references from IPC. r=jmathies 2016-02-23 18:16:42 -06:00
Birunthan Mohanathas
bfee0fb40c Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Makoto Kato
85294d227b Bug 1243268 - Support ImmSetCandidateWindow(CFS_EXCLUDE) on plugin process. r=masayuki 2016-02-02 17:05:56 +09:00
Phil Ringnalda
d871b9515f Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas
245cd6a02f Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Nicholas Nethercote
f16ab43ac3 Bug 1209812 (part 6) - Convert all gfxImageFormat values to SurfaceFormat equivalents. r=jrmuizel.
This patch:

- Makes the following substitutions (plus necessary namespace qualifiers:

    gfxImageFormat::ARGB32      --> SurfaceFormat::A8R8G8B8_UINT32
    gfxImageFormat::RGB24       --> SurfaceFormat::X8R8G8B8_UINT32
    gfxImageFormat::A8          --> SurfaceFormat::A8
    gfxImageFormat::RGB16_565   --> SurfaceFormat::R5G6B5_UINT16
    gfxImageFormat::Unknown     --> SurfaceFormat::UNKNOWN

- Changes gfxImageFormat to be a typedef to gfx::SurfaceFormat. This will be
  removed soon.

- Removes gfxCairoFormatToImageFormat() and gfxImageFormatToCairoFormat() and
  replace calls to them with CairoFormatToGfxFormat() and
  GfxFormatToCairoFormat().

- Removes ParamTraits<gfxImageFormat>.

- Add namespace qualifiers to SurfaceFormat instances where necessary.
2016-01-07 20:57:38 -08: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
Makoto Kato
1c11b1945f Bug 1208944 - Part 9. Hook IMM32 APIs on plugin process. r=masayuki 2015-12-29 22:57:38 +09:00
Sebastian Hengst
e8bb1c660e Backed out 15 changesets (bug 1208944) for failing tests M(2,5) on OSX. r=backout
Backed out changeset c29de223de2f (bug 1208944)
Backed out changeset 3d99da255be1 (bug 1209844)
Backed out changeset 3c915942af38 (bug 1209844)
Backed out changeset 759b425b5503 (bug 1208944)
Backed out changeset bf73cf8f0fda (bug 1208944)
Backed out changeset 0e337d912b7d (bug 1208944)
Backed out changeset 31c47f2980b5 (bug 1208944)
Backed out changeset 3e0d70a6e809 (bug 1208944)
Backed out changeset 7685dcb63e5f (bug 1208944)
Backed out changeset 3c2b9372dd36 (bug 1208944)
Backed out changeset 18160d306493 (bug 1208944)
Backed out changeset 4974e397b655 (bug 1208944)
Backed out changeset fde7e439844d (bug 1208944)
Backed out changeset 4213a355fbdc (bug 1208944)
Backed out changeset 33cfddbbf5f2 (bug 1208944)
2015-12-29 17:42:02 +01:00
Makoto Kato
1ecd04e712 Bug 1208944 - Part 9. Hook IMM32 APIs on plugin process. r=masayuki 2015-12-29 22:57:38 +09:00
Jim Mathies
305f10c14e Back out cset a3bb1bf0b330 (bug 1222662) to make way for a better fix. 2015-12-24 12:44:11 -05:00
Morris Tseng
a5b2dadb41 Bug 1215438 - Part 4: Rename CairoImage to SourceSurfaceImage. r=roc 2015-12-18 14:52:16 +08:00
Jim Mathies
4eb8344273 Bug 1222662 - Hook SetCursor calls from windowless flash and update the cursor when flash tries to override the content area cursor. r=aklotz 2015-12-10 17:42:28 -05:00
David Anderson
bace26ae48 Add Telemetry for the drawing models that plugins use. (bug 1229961 part 1, r=aklotz,vladan) 2015-12-10 13:16:30 -08:00
David Anderson
bcf8e2b0cd Add an NPN_GetValue query to find the browser's DXGI adapter. (bug 1217665 part 10, r=aklotz,mattwoodrow) 2015-12-02 11:31:17 -08:00
David Anderson
64c7099f2c Implement the direct DXGI drawing model for plugins. (bug 1217665 part 7, r=mattwoodrow) 2015-12-02 11:31:17 -08: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
b27c6defe7 Disable async rendering paths when a plugin is using direct drawing. (bug 1217665 part 3, r=aklotz) 2015-12-02 11:31:16 -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
Birunthan Mohanathas
e95885610b Bug 1217307 - Remove some unnecessary null checks in rest of dom/. r=njn 2015-11-19 09:13:49 +02:00
David Anderson
a6d1779800 Add IPC helpers to marshal DXGI_ADAPTER_DESC. (bug 1225283 part 1, r=mattwoodrow) 2015-11-18 12:11:52 -08:00
Wes Kocher
326758dad8 Backed out 2 changesets (bug 1225283) for Windows build bustage CLOSED TREE
Backed out changeset a2dc8e863533 (bug 1225283)
Backed out changeset 5f456b78cccc (bug 1225283)
2015-11-17 14:41:42 -08:00
David Anderson
d4e81d8a2b Add IPC helpers to marshal DXGI_ADAPTER_DESC. (bug 1225283 part 1, r=mattwoodrow) 2015-11-17 13:38:12 -08:00
David Anderson
4b2059b489 Decouple MacIOSurfaceImage from ImageContainer. (bug 1222910, r=mstange) 2015-11-17 00:09:00 -08:00
David Anderson
94c51e6a9a Decouple CairoImage from ImageContainer. (bug 1222910, r=roc) 2015-11-17 00:09:00 -08:00
George Wright
fde55ba3dc Bug 1111892 - Ensure gdk_ungrab_pointer is always called in the correct process r=jimm 2015-11-04 16:46:10 -05:00
Nicholas Nethercote
6c72fe82fa Bug 1186812 (part 3) - Replace nsBaseHashtable::EnumerateRead() calls in dom/{ipc,plugins}/. r=jimm. 2015-11-01 20:18:51 -08:00
Birunthan Mohanathas
ac37dec517 Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
David Anderson
433e734995 Remove Windows-specific synchronous plugin drawing code. (bug 1218688 part 1, r=jimm) 2015-10-28 10:50:36 -07: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
bf7f6dda03 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Nicholas Nethercote
9b0389603b Bug 1208300 (part 4) - Remove gfxRGBA and some related things. r=jwatt.
Hooray!
2015-09-24 19:24:16 -07:00
Nicholas Nethercote
0929981996 Bug 1207741 - Remove gfxIntSize. r=nical.
gfxIntSize is just a typedef of gfx::IntSize, so this is very mechanical. The
only tricky part is deciding for each occurrence whether to replace it with
IntSize, gfx::IntSize or mozilla::gfx::IntSize; in all cases I went with the
shortest one that worked given the existing "using namespace" declarations.
2015-09-23 11:49:05 -07:00
Yury Delendik
446be66517 Bug 1192831 - Remove PlayPreview API. r=jet, r=peterv 2015-08-20 15:15:18 -05:00
Bob Owen
5bb0e187cb Bug 1182411 Part 2: Change winless popup surrogate to have its parent set in the chrome process. r=jimm
The creation of the surrogate native window in the child NPAPI process was
failing when then sandbox was at low integrity, because the parent is from the
chrome process, so at medium integrity.
Instead of making an IPC call to get the parent, we now create the window upfront
and send it in an IPC message to be parented in the chrome process.
This is done with asynchronous messaging.
2015-08-12 16:00:26 +01:00
Bob Owen
627c6d861d Bug 1185529: On Windows, ensure that NPAPI child window has the correct parent before setwindow is called. r=jimm 2015-08-07 08:48:16 +01:00
Ehsan Akhgari
586ea8dd85 Bug 1167690 - Part 3: Hook up NPNVmuteAudioBool to the plugin process; r=josh 2015-07-29 08:26:44 -04:00
Benoit Girard
597fda6c6e Bug 1167690 - Part 1: Hook up NPPVpluginIsPlayingAudio to the plugin process; r=josh 2015-07-29 08:26:40 -04: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
Robert O'Callahan
e436ca0770 Bug 1143575. Let callers of ImageContainer::SetCurrentImages specify frame IDs. r=nical 2015-07-03 22:13:48 +12:00
Robert O'Callahan
fd1108d2e0 Bug 1143575. Pass a list of timestamped images to ImageContainer::SetCurrentImages. r=nical 2015-07-07 09:58:18 +12:00
Robert O'Callahan
6a308ac09c Bug 1143575. Convert SetCurrentImage(nullptr) callers to call ClearAllImages instead. r=nical 2015-03-26 11:40:36 +13:00