Commit Graph

133 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
Nathan Froyd
6b106cc361 Bug 1265902 - part 1 - be more efficient when using nsContentUtils::GetSurfaceData(); r=mccr8
nsContenUtils::GetSurfaceData() returns an allocated buffer; the uses of
it in PuppetWidget and nsContentUtils::TransferableToIPCTransferable
copy the allocated buffer again.  We can do better than this.  In the
PuppetWidgetCase, we can simply construct an nsDependentCString for
sending the IPC message.  In the TransferableToIPCTransferable case, we
can transfer ownership of the buffer into the IPCDataTransferItem we are
creating.
2016-04-20 11:50:45 -04:00
Masayuki Nakano
99eab530eb Bug 1259656 part.1 Rename WidgetEvent::refPoint to WidgetEvent::mRefPoint r=smaug
MozReview-Commit-ID: ESWM5ZyBpSR
2016-04-18 23:09:02 +09:00
Masayuki Nakano
35775b20e1 Bug 1259657 Rename WidgetGUIEvent::widget to WidgetGUIEvent::mWidget r=smaug
MozReview-Commit-ID: 167PQWJDEHW
2016-04-14 17:03:14 +09:00
Kartikaya Gupta
ebc6b999e7 Bug 1250505 - Convert SynthesizeNativeTouchPoint and SynthesizeNativeTouchTap to take a LayoutDeviceIntPoint instead of a ScreenPoint. r=njn
MozReview-Commit-ID: EybGq9b1B8Z
2016-04-15 06:39:36 -04:00
Ting-Yu Chou
ec79a2e5a1 Bug 1260736 - Let the client to filter out its interested messages to lower the number of times entering the monitor in PeekMessages(). r=dvander 2016-04-13 09:51:34 +08:00
Milan Sreckovic
dd0830c93c Bug 1259513: Make gfxContext constructor private, use a utility function that can return nullptr. r=bas,lsalzman
MozReview-Commit-ID: rHhLEDZEQt
2016-04-12 15:18:11 -04:00
Nathan Froyd
0c59d23a4e Bug 1261818 - don't pass nsAutoCStrings into nsBaseWidget debugging methods; r=karlt
Passing raw character pointers works just fine.
2016-03-31 14:42:13 -04:00
Ting-Yu Chou
df3ab076b1 Bug 1255968 - Part 2: Implement puppet widget's HasPendingInputEvent() for interruptible reflow to work in content process. r=bz 2016-03-29 15:03:54 +08:00
Arata Furukawa
a3f2b4162e Bug 1259655 - part 1 Rename WidgetEventTime::time to WidgetEventTime::mTime r=masayuki
MozReview-Commit-ID: 7lBCEVkanvF
2016-03-28 13:29:42 +09:00
Kartikaya Gupta
c18266e65d Bug 1242690 - Squash together DispatchAPZAwareEvent and DispatchInputEvent. r=dvander
MozReview-Commit-ID: 2cou0cK4Yw8
2016-03-10 18:25:48 -05:00
Kartikaya Gupta
5c9dcec141 Bug 1252262 - Don't combine the client offset into the outer rect for the child process. r=jimm
MozReview-Commit-ID: BslkWk7ndkx
2016-03-08 14:14:43 -05:00
Peter Van der Beken
2998bad48a Bug 1020199 - Make sure APZ works with nested oop iframe. r=kats, r=dvander. 2016-01-08 20:17:39 +01:00
Makoto Kato
85294d227b Bug 1243268 - Support ImmSetCandidateWindow(CFS_EXCLUDE) on plugin process. r=masayuki 2016-02-02 17:05:56 +09:00
Kartikaya Gupta
423eb91d86 Back out 3 csets from bug 1242690 for causing bug 1244549. r=backout 2016-01-31 14:44:58 -05:00
Kartikaya Gupta
aa24bb85e0 Bug 1242690 - Squash together DispatchAPZAwareEvent and DispatchInputEvent. r=dvander 2016-01-29 16:31:15 -05:00
Masayuki Nakano
a92e756814 Bug 1242331 part.2 Rename TextChangeDataBase::mCausedByComposition to mCausedOnlyByComposition r=smaug 2016-01-28 13:28:53 +09:00
Nicholas Nethercote
8b08d3a33e Bug 1239864 (part 10) - Use the new rect iterators in view/ and widget/. r=roc. 2016-01-18 17:20:59 -08:00
Nicholas Nethercote
06ef418546 Bug 1239864 (part 1) - Add new, nicer rect-iterators for nsRegion and nsIntRegion. r=roc.
This requires renaming the existing nsIntRegion::RectIterator as
nsIntRegion::OldRectIterator to make way for the new nsIntRegion::RectIterator.
This doesn't require many knock-on changes because most existing uses of
that type use the nsIntRegionRectIterator typedef.
2016-01-14 18:36:11 -08:00
Kartikaya Gupta
0da0da690c Bug 1240891 - Silence warning from calling GetNativeData(NS_NATIVE_WINDOW). r=roc 2016-01-25 17:13:50 -05:00
Randall Barker
b474749936 Bug 1231517 - part 3, Add ZoomToRect function to nsIWidget classes r=kats 2016-01-20 16:24:59 -08:00
Nicholas Nethercote
da19ce6e70 Bug 1239589 - Change nsBaseWidget::mBounds to a LayoutDeviceIntRect. r=kats.
This patch removes dozens of ToUnknown/FromUnknown conversions and doesn't add
any new ones, which is nice. It also removes UntypedDevPixelsToCocoaPoints(),
which is no longer needed.
2015-11-22 20:32:29 -08:00
Jonathan Kew
d74daaf3aa Bug 890156 - patch 0.2 - Remove the (unused) aRect parameter from nsBaseWidget::BaseCreate. r=kats 2016-01-13 07:32:55 +00:00
Makoto Kato
fca5f2b18c Bug 1208944 - Part 10-a. Call CallWindowProc when WidgetPluginEvent isn't handled by plugin. r=masayuki 2015-12-29 22:57:38 +09: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
4da7dd7612 Bug 1208944 - Part 10-a. Call CallWindowProc when WidgetPluginEvent isn't handled by plugin. r=masayuki 2015-12-29 22:57:38 +09: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
b243971354 Bug 1222662 - Disable cursor caching in the content process on Windows. r=aklotz 2015-12-21 16:19:15 -06:00
Masayuki Nakano
90f1919bed Bug 1179632 part.4 Clean up the code to request IME to commit composition across process boundary r=smaug 2015-12-11 15:15:58 +09:00
Masayuki Nakano
4f019fe44a Bug 1179632 part.2 WidgetCompositionEvent should store NativeIMEContext which caused the event and PuppetWidget should store it for GetNativeIMEContext() r=smaug, sr=smaug 2015-12-11 15:15:57 +09:00
Masayuki Nakano
21a40a0391 Bug 1179632 part.1 native IME context should not be stored in InputContext but should be able to retrieve with nsIWidget::GetNativeData() r=smaug 2015-12-11 15:15:57 +09:00
Nicholas Nethercote
738f8217ba Bug 1230047 (part 2) - Make several PaintWindow() functions use LayoutDevice coordinates. r=kats.
Specifically, the PaintWindow() functions in the following classes:
- nsIWidgetListener, and its subclasses nsView and nsWebBrowser;
- nsChildView;
- nsWindow (the one in widget/uikit/);
- nsViewManager.
2015-12-02 21:45:41 -08:00
Nicholas Nethercote
b0bb46d766 Bug 1230047 (part 1) - Make SynthesizeNativeTouch{Point,Tap}() take ScreenIntPoints. r=kats. 2015-12-02 21:45:38 -08:00
Nicholas Nethercote
6f043f6b6e Bug 1229237 (part 3) - Make nsIWidget::Invalidate() take a LayoutDeviceIntRect. r=botond. 2015-11-16 21:18:31 -08:00
Nicholas Nethercote
8da819977a Bug 1229237 (part 1) - Make nsIWidget::{Create,CreateChildren}() take a LayoutDeviceIntRect. r=botond. 2015-11-16 00:35:18 -08:00
Nathan Froyd
54dfa729a9 Bug 1218454 - part 2 - don't #include nsContentUtils.h from CallbackObject.h; r=bz
We used to need nsContentUtils.h here for nsCxPusher, but since that got
moved to ScriptSettings.h, we no longer need nsContentUtils.h for
anything.
2015-10-26 12:14:47 -04:00
Nicholas Nethercote
3dfaddf77b Bug 1224482 (part 1) - Tweak typed/untyped versions of Get{,Client,Screen}Bounds(). r=kats.
In nsIWidget, GetBoundsUntyped(), GetClientBoundsUntyped() and
GetScreenBoundsUntyped() are currently the primary implementations, and the
untyped versions are defined on top of them. This patch flips that around.
2015-11-12 16:04:52 -08:00
Nicholas Nethercote
a9b04a8e78 Bug 1224403 (part 12) - Remove WidgetToScreenOffsetUntyped(). r=kats.
There are few enough calls now that using WidgetToScreenOffset() +
ToUnknownPoint() is a better approach.
2015-11-12 15:37:18 -08:00
Nicholas Nethercote
6b72094044 Bug 1224403 (part 1) - Make Configuration::mBounds a LayoutDeviceIntRect. r=kats. 2015-11-10 16:27:26 -08:00
Botond Ballo
db5d15db66 Bug 1222661 - Replace ToUntyped(obj) calls with obj.ToUnknown*(). r=nical 2015-11-06 22:13:40 -05:00
Nicholas Nethercote
c3c2a5bf71 Bug 1223310 (part 2) - Use LayoutDeviceIntRect for bounds-related functions in nsIWidget. r=kats.
The patch renames the existing functions (GetBounds(), GetClientBounds(), etc)
by adding an |Untyped| suffix. It then adds typed equivalents, and uses those
typed equivalents in all the call sites where it's easy to do so. The trickier
remaining call sites are converted to use the Untyped-suffix version.
2015-11-09 21:37:32 -08:00
Nicholas Nethercote
2459b09f92 Bug 1223310 (part 1) - Pass a LayoutDeviceIntPoint instead of an nsIntPoint to InitEvent(). r=kats.
Also use direct assignment for some LayoutDeviceIntPoint assignments, rather
than doing it field-by-field.
2015-11-09 21:37:32 -08: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
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
Masayuki Nakano
7dedb038a9 Bug 1211352 part.5 PuppetWidget should cache only the focused editor rect information while a plugin has focus r=m_kato 2015-10-10 10:21:02 +09:00
Masayuki Nakano
310f34ee92 Bug 1211352 part.4 PuppetWidget::GetIMEUpdatePreference() should request only position change notifications while a plugin has focus r=m_kato 2015-10-10 10:21:02 +09:00
Masayuki Nakano
dc248b50f7 Bug 1211352 part.2 PuppetWidget shouldn't send notifications which are not wanted by the parent process r=m_kato 2015-10-10 10:21:01 +09:00
Benoit Girard
5ab9060ba4 Bug 1199885 - Part 12: Add StartScrollbarDrag IPC message. r=kats 2015-09-28 17:00:25 -04:00