Commit Graph

830 Commits

Author SHA1 Message Date
Kartikaya Gupta
e5c6a12bcd Bug 1300203 - Ensure that sLastMouseMovePoint is updated even for touch-induced WM_MOUSEMOVE messages. r=jimm
MozReview-Commit-ID: 4qsjdL5iXVR
2016-09-29 15:15:00 -04:00
Carsten "Tomcat" Book
35357358a6 Backed out changeset 9fbc16390ef7 (bug 1299860) for bustage on a CLOSED TREE 2016-10-06 17:04:40 +02:00
Nicolas Silva
d416426d9d Bug 1299860 - Don't use the compositor backend of a popup with ImageBridge and VRManager. r=Bas 2016-10-06 16:39:56 +02:00
Xidorn Quan
76c185c9d6 Bug 888781 part 2 - Scale cursor with the window scale on Windows. r=jimm
MozReview-Commit-ID: C9LZpJF98mQ
2016-09-19 10:35:48 +10:00
Xidorn Quan
357b903377 Bug 888781 part 1 - Use cached default scale in GetDefaultScaleInternal of Windows. r=jimm
MozReview-Commit-ID: Ebm7h3h2mrg
2016-09-19 10:35:12 +10:00
Nicolas Silva
1ff5cca5f9 Bug 1284837 - Disallow implicit conversions from float to integer when creating. r=botond 2016-09-16 17:49:39 +02:00
Jonathan Kew
4cbbdfbcf6 Bug 1289143 - Apply the appropriate scaling to window edges when processing WM_NCCALCSIZE for a window on a secondary screen with non-system DPI. r=emk 2016-09-06 17:53:50 +01:00
Ho-Pang Hsu
bf445bf2ce Bug 1258808 - Part 2: Enhance Widget for Windows (Widget). r=smaug, f=btseng 2016-09-01 16:12:15 +08:00
Wes Kocher
eda25c5728 Merge inbound to m-c a=merge 2016-09-02 13:17:30 -07:00
Kartikaya Gupta
36ba6a8461 Bug 1298908 - On Windows, fire the contextmenu and long-tap events on the long-tap-up user action. r=botond,jimm
This patch prevents the Windows widget code from dispatching the contextmenu
event if APZ is handling touch input. Instead, the APZ code processes the
raw touch input, and will fire a contextmenu event when the user lifts their
finger after a long-press action, in keeping with the Windows platform
convention. Doing it this way also allows us to respect web conventions where
the web content can prevent the contextmenu event from firing by calling
preventDefault on the touchstart event; this was not possible when dispatching
the contextmenu event directly from the widget code.

This also makes long-pressing on browser chrome components work properly, as
it just shifts the point in time that the contextmenu event is fired without
changing any of the code that triggers the XUL popup. However, some changes
were needed to have the widget code ignore the synthetic mouse events that
the Windows platform sends us, because those would otherwise immediately
dismiss the contextmenu popup after it appeared.

MozReview-Commit-ID: 9HFZLC6xUAi
2016-08-30 17:32:08 -04:00
Nicholas Nethercote
bdd3a20a7b Bug 1296993 (part 8) - Streamline nsIWidget::CaptureMouse. r=mstange.
This patch does the following.

- Removes the return value, because none of the call sites check it.

- Removes the empty implementations from several nsIWidget instances, because
  they can use the nsBaseWidget one.
2016-08-25 14:10:02 +10:00
Nicholas Nethercote
c52f258188 Bug 1296993 (part 7) - Streamline nsIWidget::CaptureRollupEvents. r=mstange.
This patch does the following.

- Removes the return value, because none of the call sites check it.

- Puts an empty implementation into nsBaseWidget.

- Removes the empty implementations from several nsIWidget instances, because
  they can use the nsBaseWidget one.
2016-08-25 13:43:27 +10:00
Nicholas Nethercote
e31e3f0c52 Bug 1296993 (part 4) - Streamline nsIWidget::PlaceBehind. r=mstange.
This patch does the following.

- Removes the return value, because none of the call sites check it.

- Removes the empty implementations from several nsIWidget instances, because
  they can use the nsBaseWidget one.
2016-08-25 13:43:27 +10:00
Nicholas Nethercote
4ddf0a183d Bug 1296993 (part 3) - Streamline nsIWidget::ConstrainPosition. r=mstange.
This patch does the following.

- Removes the return value, because none of the call sites check it.

- Puts an empty implementation into nsBaseWidget.

- Removes the empty implementations from several nsIWidget instances, because
  they can use the nsBaseWidget one.
2016-08-25 13:43:27 +10:00
Nicholas Nethercote
5909b3a033 Bug 1296993 (part 1) - Streamline nsIWidget::ReparentNativeWidget. r=mstange.
This patch does the following.

- Removes the return value, because none of the call sites check it.

- Puts an empty implementation into nsBaseWidget.

- Removes the empty implementations from several nsIWidget instances, because
  they can use the nsBaseWidget one.
2016-08-25 13:43:26 +10:00
Kartikaya Gupta
069c940554 Bug 1298313 - Revert the third patch from bug 1256339 because it broke long-press context menus in non-e10s mode. r=backout
MozReview-Commit-ID: FZEbH0TlY8L
2016-08-29 14:29:57 -04:00
Sotaro Ikeda
85f2d33a46 Bug 1259571 - Reduce tearing with basic layers on Windows r=dvander 2016-08-23 15:18:55 -07:00
Nicholas Nethercote
0f4ec1c554 Bug 1293596 (part 8) - Make nsIWidget::EnableDragDrop() infallible. r=jimm.
Its return value is only checked in one low-value assertion.

The patch also does the following.

- Removes the Android and GTK overloadings of EnableDragDrop(), which are
  identical to the nsBaseWidget one.

- Streamlines the Windows implementation: fixes the indentation and takes
  advantage of infallible |new|.
2016-08-22 09:16:50 +10:00
Nicholas Nethercote
ab7ae3b80d Bug 1293596 (part 7) - Make nsIWidget::Destroy infallible. r=karlt. 2016-08-10 10:04:11 +10:00
Nicholas Nethercote
628ec722f3 Bug 1293596 (part 6) - Make nsIWidget::SetSizeMode() infallible. r=mstange,baku.
The only implementation of SetSizeMode() that can fail is the nsCocoaWindow
one, on an Objective C exception, which is unlikely and can be swallowed.

This allows some nsGlobalWindow functions to become infallible as well.
2016-08-22 09:15:49 +10:00
Nicholas Nethercote
c2cd6516c6 Bug 1293596 (part 5) - Tweak nsIWidget::MakeFullScreen{,WithNativeTransition}(). r=mstange.
They don't need to be NS_IMETHOD.

The patch also gives nsBaseWidget an InfallibleMakeFullScreen() function, which
avoids the need for some checks.
2016-08-19 09:27:28 +10:00
Nicholas Nethercote
f245c9eabc Bug 1293596 (part 3) - Remove GetNonClientMargins. r=mstange.
It's dead code -- the only use is a recursive call within
nsWindow::GetNonClientMargins().
2016-08-19 09:03:13 +10:00
Nicholas Nethercote
8b8bd02a31 Bug 1293596 (part 2) - Rework nsIWidget bounds getters. r=mstange.
This patch makes GetBounds(), GetScreenBounds() and GetClientBounds() more
obviously infallible, like existing functions such as GetNaturalBounds() and
GetClientSize(). This results in clearer behaviour in nsCocoaWindow.mm if
Objective C exceptions occur. Along the way, the patch removes some useless
failure checks for these functions.

The patch also removes the NS_IMETHOD from GetRestoredBounds and makes that
function MOZ_MUST_USE.
2016-08-19 09:03:04 +10:00
Nicholas Nethercote
eb4f9a274e Bug 1293603 (part 3) - Remove erroneous NS_METHOD uses in widget/. r=erahm.
All these occurrences are for methods declared with NS_IMETHOD, and so they
should be NS_IMETHODIMP instead of NS_METHOD.
2016-08-09 14:03:13 +10:00
Yura Zenevich
abb4eebf15 Bug 527003 - separating XPCOM parts from nsAccessibilityService. Removing a11y service in favour of using nsAccessibilityService directly. Adding support for a11y service shutdown. r=surkov
MozReview-Commit-ID: KKeywNi3fQb
2016-08-08 20:51:39 -04:00
Carsten "Tomcat" Book
52c300009e Backed out changeset 02d76f158f3d (bug 1259571) for talos xperf regressions 2016-08-08 11:53:51 +02:00
Sotaro Ikeda
b1f37d42eb Bug 1259571 - Try tearing-free drawing with GDI r=dvander,mattwoodrow 2016-08-07 23:54:12 -07:00
Kartikaya Gupta
86f137f6be Bug 1289435 - Extract a helper function to dispatch MultiTouchInput to APZ if applicable and then to Gecko. r=mstange
This also modifies the windows widget code to use this new helper function, as
it avoids an unnecessary round-trip where a MultiTouchInput gets converted to
a WidgetTouchEvent (in nsWindow.cpp) and then back to a MultiTouchInput (in
APZCTreeManager.cpp)

MozReview-Commit-ID: 1WGbfINTW6c
2016-08-03 12:06:58 -04:00
Jeff Muizelaar
24788822e8 Bug 1289236. Remove ResizeTransparentWindow. r=dvander
We can just recreate the surface when needed.
2016-07-29 09:29:35 -04:00
David Anderson
8f1b55629b Add DeviceManagerD3D11 as a wrapper around gfxWindowsPlatform. (bug 1282364 part 1, r=mattwoodrow) 2016-07-26 12:50:30 -07:00
David Anderson
90d4a57c72 Implement vsync notification for remote compositors. (bug 1285625 part 3, r=mchang) 2016-07-19 11:56:07 -07:00
Bob Owen
87003f6f32 Bug 1252877 Part 2: On Windows capture an image for windowed plugins to be displayed during APZ scroll. r=jimm, r=mattwoodrow
MozReview-Commit-ID: ElE0GD3tLah
2016-07-18 09:54:02 +01:00
Jonathan Kew
7112c7dae3 Bug 1270954 - When Win10 Anniversary Update APIs are available, enable automatic scaling of the non-client area when a window is on a secondary display with different DPI. r=emk, a=kwierso 2016-07-14 17:46:26 +01:00
Kartikaya Gupta
5f924577bb Bug 1256339 - Fix up handling for touch-derived contextmenu events on desktop. r=mconley,jimm
This patch stops the widget code from passing along touch-derived contextmenu
events straight from Windows to Gecko, and instead lets the APZ gesture
detection code handle it. This allows the contextmenu event to be prevented
according to web standards, e.g. if the touchstart event is cancelled.

This changes to browser.js will affect both Linux and Windows, but the behaviour
implemented is in line with native Windows touch behaviour. We may want to
add an alternate codepath for Linux to better simulate "native" Linux behavior,
if there is such a thing for touch-derived contextmenu.

MozReview-Commit-ID: 18qzK15ic8E
2016-07-05 13:24:54 -04:00
Carsten "Tomcat" Book
dcf7915a78 Merge mozilla-central to autoland 2016-07-02 11:16:11 +02:00
David Anderson
add6c95120 Extract a delegate interface out of WinCompositorWidget. (bug 1281998 part 6, r=jimm) 2016-07-01 01:15:16 -07:00
David Anderson
c70cd6b6e2 Move CompositorWidget construction out of nsIWidget. (bug 1281998 part 5, r=jimm) 2016-07-01 01:15:16 -07:00
David Anderson
020480eae5 Move CompositorWidget ownership from nsWindow to CompositorSession. (bug 1281998 part 4, r=jimm) 2016-07-01 01:15:16 -07:00
David Anderson
19ade82818 Rename CompositorWidgetProxy files to CompositorWidget. (bug 1281998 part 2, r=jimm) 2016-07-01 01:15:16 -07:00
David Anderson
c3322e664b Allow creating WinCompositorWidgetProxy without an nsWindow. (bug 1281998 part 1, r=jimm) 2016-07-01 01:15:15 -07:00
Bill McCloskey
48fe44d618 Bug 1282153 - Remove retaining outparam to GetLayerManager (r=dvander) 2016-06-30 14:30:30 -07:00
Carsten "Tomcat" Book
da443a18ab Merge mozilla-central to autoland 2016-07-01 11:20:25 +02:00
Phil Ringnalda
89deea28e2 Back out 7 changesets (bug 1281998) for Windows Marionette crashes
Backed out changeset d806fac2c856 (bug 1281998)
Backed out changeset b8d4fedfd7eb (bug 1281998)
Backed out changeset a72929c0c3ec (bug 1281998)
Backed out changeset 74198f88fa37 (bug 1281998)
Backed out changeset 54a0e73f6906 (bug 1281998)
Backed out changeset 99d1da1293b7 (bug 1281998)
Backed out changeset a5a9585754b1 (bug 1281998)
2016-06-29 19:35:24 -07:00
David Anderson
eb66f8ed62 Extract a delegate interface out of WinCompositorWidget. (bug 1281998 part 6, r=jimm) 2016-06-29 16:47:23 -04:00
David Anderson
27793b9f88 Move CompositorWidget construction out of nsIWidget. (bug 1281998 part 5, r=jimm) 2016-06-29 16:47:22 -04:00
David Anderson
54d6f14645 Move CompositorWidget ownership from nsWindow to CompositorSession. (bug 1281998 part 4, r=jimm) 2016-06-29 16:47:22 -04:00
David Anderson
4a6d8ea9f0 Rename CompositorWidgetProxy files to CompositorWidget. (bug 1281998 part 2, r=jimm) 2016-06-29 16:47:22 -04:00
David Anderson
15be9e7cec Allow creating WinCompositorWidgetProxy without an nsWindow. (bug 1281998 part 1, r=jimm) 2016-06-29 16:47:22 -04:00
eyim
9937bfdcb9 Bug 1277314 - Add ogl compositing feature in gfxplatform r=BenWa,dvander
MozReview-Commit-ID: HMfvXtKV0Yk
2016-06-20 12:29:47 -04:00
Jan Varga
e6e5ce2cf2 Bug 1246828 - Part 4: Rename profile-before-change2 to profile-before-change-qm and profile-before-change3 to profile-before-change-telemetry; r=asuth 2016-06-15 11:49:04 +01:00