Commit Graph

842 Commits

Author SHA1 Message Date
Chris H-C
b8d35a910e Bug 1235821 - Don't track mouseleave when capturing mouse. r=jimm
Since, in Windows, the tabbar overlays the "nonclient" area, TrackMouseEvent
will report a WM_MOUSELEAVE when you move your mouse when dragging a tab.

So, suspend mouseleave tracking when capturing and resume when we end capture.

A nice effect of TrackMouseEvent is that it'll immediately post a WM_MOUSELEAVE
if called when the mouse is outside the client area, so when capture ends, we
are either over the client area and tracking resumes or we aren't and we get
an immediate WM_MOUSELEAVE.
2016-01-06 10:48:00 -05:00
Makoto Kato
5e49cc7809 Bug 1208944 - Part 10-b. Call DefaultProc When CompositionEvent isn't handled correctly by plugin. r=masayuki 2015-12-29 22:57:38 +09: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
700c4607c4 Bug 1208944 - Part 10-b. Call DefaultProc When CompositionEvent isn't handled correctly by plugin. r=masayuki 2015-12-29 22:57:38 +09: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
Shakthi Wijeratne
8ffaf10bac Bug 1232669 - Fixed typo MOOUSEMOVE in nsWindow r=chutten 2015-12-20 20:09:32 -08:00
Kartikaya Gupta
1ed67b5b63 Bug 1222190 - Implement GetTimeAsyncForPossibleBackwardsSkew for windows to fix backwards skew on hibernation. r=birtles 2015-12-21 09:38:17 -05: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
ae857e0e63 Bug 1229665 - Convert widget clip regions to LayoutDevicePixels. r=botond. 2015-12-02 14:32:55 -08:00
Nicholas Nethercote
14171842ac Bug 1229237 (part 5) - Make Update{Opaque,WindowDragging}Region() take a LayoutDeviceIntRegion. r=botond. 2015-11-25 21:42:59 -08:00
Nicholas Nethercote
451bb9fef8 Bug 1229237 (part 4) - Make ThemeGeometry::mRect a LayoutDeviceIntRect. r=botond. 2015-11-22 20:32:29 -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
Nicholas Nethercote
b3312ed385 Bug 1228125 (part 1) - Remove nsIWidget::GetBoundsUntyped(). r=botond.
This requires adding a new overloading of LayoutDevicePixel::ToAppUnits and a
new PixelCastJustification: LayoutDeviceIsParentLayerForRCDRSF.
2015-11-25 20:32:47 -08:00
Chris H-C
fdd7e32ba8 Bug 506815 - Replace MouseTrailer with TrackMouseEvent. r=jimm
MouseTrailer, using a 200ms timer, was used to track whether a pointer was
still present over a window.

Windows has, since Windows 2000, offered to do this for us via an API called
TrackMouseEvent. (It'll also give us hover timings and non-client area versions
if we want)

I'm all for having Windows do the work for us, and it'll save us from waking up
the main thread five times a second.
2015-11-20 07:42:00 +01:00
Matt Brubeck
bb13ab3d32 Bug 431620 - Remove unused function GetToggledKeyState [r=roc] 2015-11-16 16:06:41 -08:00
Nicholas Nethercote
c265db3570 Bug 1224482 (part 3) - Replace GetClientOffsetUntyped() with GetClientOffset(). r=kats.
The patch also changes nsMenuPopupFrame::mLastClientOffset to
LayoutDeviceIntPoint.
2015-11-13 01:37:02 -08: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
1a5af22d9a Bug 1224403 (part 9) - Remove GetRestoredBoundsUntyped(). r=kats.
The typed version can be used everywhere without difficulty.
2015-11-12 05:43:01 -08:00
Nicholas Nethercote
76cc8f39f7 Bug 1224403 (part 5) - Make OnDefaultButtonLoaded() return/take a LayoutDeviceIntMargin. r=kats. 2015-11-12 04:34:29 -08:00
Nicholas Nethercote
d8b6eda36b Bug 1224403 (part 4) - Make {Get,Set}NonClientMargins() return/take a LayoutDeviceIntMargin. r=kats.
This required adding {To,From}UnknownMargin().
2015-11-11 23:05:04 -08:00
Nicholas Nethercote
ecf3a02b22 Bug 1224403 (part 2) - Split GetClientOffset() into typed and untyped versions. r=kats. 2015-11-11 19:56:06 -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
60a5318264 Bug 1222661 - Replace FromUntyped(obj) calls with FromUnknown*(obj). r=nical 2015-11-09 18:22:25 -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
Nathan Froyd
f2df1d62b7 Bug 1222444 - remove unused variable in nsWindow::GetMessageTimeStamp; r=roc 2015-11-05 15:15:49 -05:00
Benoit Girard
703753a1a5 Bug 1211612 - Add DragInputBlock for async scrollbars. r=kats 2015-10-26 16:06:49 -04:00
Aaron Klotz
854eed35b6 Bug 1217565 - Fix assertion in nsWindow::IPCWindowProcHandler to account for suppressed neutering; r=jimm 2015-10-22 16:09:55 -04:00
Makoto Kato
3cad889e0f Bug 978679. Implement touch events for GTK3. r=karlt 2015-04-30 08:29:34 +12:00
Carsten "Tomcat" Book
c4ec0d715a Backed out changeset 2f909d41108b (bug 978679) for bustage on a CLOSED TREE 2015-10-19 13:22:55 +02:00
Makato Kato
1c60c7c42e Bug 978679 - Implement touch events for GTK3. r=karlt 2015-10-19 23:04:52 +13: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
Jim Mathies
a34d78b927 Bug 1199892 - "Mouse cursor flickers in Flash object with wmode opaque/transparent". r=roc 2015-10-01 05:51:00 +02:00
Ehsan Akhgari
237f8ad33c Bug 1208904 - Fix a condition in nsWindow::SetNonClientMargins; r=roc
Found by Viva64.
2015-09-27 19:34:13 -04: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
Masayuki Nakano
c52e0f004e Bug 895274 part.243 Rename NS_TOUCH_END to eTouchEnd r=smaug 2015-09-15 00:14:35 +09:00
Masayuki Nakano
27a41ba675 Bug 895274 part.241 Rename NS_TOUCH_START to eTouchStart r=smaug 2015-09-15 00:14:34 +09:00
Masayuki Nakano
94ccd0d27f Bug 895274 part.219 Rename NS_GESTURENOTIFY_EVENT_START to eGestureNotify r=smaug 2015-09-12 01:19:28 +09:00
Andrea Marchesini
8cbd09f629 Bug 1203426 - Rename StructuredCloneIPCHelper to StructuredCloneData, r=smaug 2015-09-10 21:50:58 +01:00
Masayuki Nakano
417d87fd39 Bug 895274 part.184 Rename NS_WHEEL_WHEEL to eWheel r=smaug 2015-09-11 01:59:54 +09:00
Masayuki Nakano
c973758d78 Bug 895274 part.168 Rename NS_CONTENT_COMMAND_REDO to eContentCommandRedo r=smaug 2015-09-11 01:59:53 +09:00
Masayuki Nakano
fbeb86172b Bug 895274 part.167 Rename NS_CONTENT_COMMAND_UNDO to eContentCommandUndo r=smaug 2015-09-11 01:59:53 +09:00
Masayuki Nakano
6f49d6c1b4 Bug 895274 part.166 Rename NS_CONTENT_COMMAND_DELETE to eContentCommandDelete r=smaug 2015-09-11 01:59:52 +09:00
Masayuki Nakano
b3c6348bea Bug 895274 part.165 Rename NS_CONTENT_COMMAND_PASTE to eContentCommandPaste r=smaug 2015-09-11 01:59:52 +09:00