Commit Graph

256 Commits

Author SHA1 Message Date
Nicholas Nethercote
0b2b65edc8 Bug 1325503 - Remove Windows {XP, Server 2003, Vista} support from widget/. r=jimm.
I did my best to remove as much stuff as possible in this patch. The starting
point was to remove all the IsVistaOrLater() and IsWin7OrLater() calls, but I
also grepped for various strings and found some other removable stuff that way.
I may have still missed some things.

Notable things done by this patch.

- It removes numerous blocklist entries.

- It removes CanComputeVirtualKeyCodeFromScanCode(), because it's always true
  now.

- It removes ShowXP{Folder,File}Picker(), even though these were available as
  fallbacks on Vista+. The "when platform is built without the longhorn SDK"
  condition in the comment above nsFilePicker::ShowXPFolderPicker() sounds like
  it won't ever happen any more.

- It removes the config.trim_on_minimize preference. This requires adding a
  bool sHaveInitializedPrefs variable; previously the lack of pref
  initialization was indicated by the tri-state sTrimOnMinimize variable having
  the value 2.

Notable things *not* done by this patch.

- ClearThemeRegion() still exists. The comment suggests that it is XP/Vista
  only, but the code suggests otherwise. jimm thinks the comment is wrong.

- The comment in WinWakeLockListener::Callback() suggests that the StartTimer()
  call is no longer needed to block the screen saver. I'm uncertain about this
  and so I think it's best left to a follow-up.

--HG--
extra : rebase_source : f46645907d237423fd6115ab1b4725b023a0dce3
2016-12-23 13:13:31 +11:00
Nicholas Nethercote
523bee37b8 Bug 1325234 (part 9) - Remove remaining NS_IMETHOD_ occurrences from nsIWidget. r=mstange.
|virtual T| is clearer than |NS_IMETHOD_(T)|.

--HG--
extra : rebase_source : 9c8f423d7a89782a4d790a50e137071271086eed
2016-12-21 15:27:20 +11:00
Nicholas Nethercote
bf4a843d70 Bug 1325234 (part 8) - Streamline nsIWidget::DispatchEvent. r=jimm.
This patch changes it from |NS_IMETHOD| to |virtual nsresult| because some
callsites are checked and some aren't.

--HG--
extra : rebase_source : dd98266bce0a7583863908b6f04729a6e403b721
2016-12-21 11:18:40 +11:00
Nicholas Nethercote
e52b19470c Bug 1325234 (part 6) - Streamline nsIWidget::SetTitle. r=jimm.
This patch changes it from |NS_IMETHOD| to |virtual nsresult| because some call
sites are checked and others aren't.

--HG--
extra : rebase_source : 6723b9db709d1506dd394b1e85572309c1c2e2cf
2016-12-21 11:13:08 +11:00
Nicholas Nethercote
ea1e2ca6ce Bug 1325234 (part 5) - Streamline nsIWidget::SetCursor (both versions). r=jimm.
This patch changes one from |NS_IMETHOD| to |virtual nsresult| and the other to
|virtual void|.

--HG--
extra : rebase_source : 55af71c01dc75d6bf7c63191e9cfabc9f5368ffa
2016-12-21 11:13:08 +11:00
Nicholas Nethercote
0eaecf55da Bug 1325234 (part 4) - Streamline nsIWidget::{SetFocus,SetNonClientMargins}(). r=mstange.
This patch changes them from |NS_IMETHOD| to |virtual nsresult|.

--HG--
extra : rebase_source : 5e54c2fd340c393b33c9e1dcf20a80fe2f41b2f4
2016-12-21 11:13:08 +11:00
Nicholas Nethercote
da5978a842 Bug 1325234 (part 3) - Streamline nsIWidget::Show(). r=mstange.
This patch changes it from |NS_IMETHOD| to |virtual void|. The return value was
only checked in one low-value assertion and one other place where the check had
no useful effect (in nsCocoaWindow::HideWindowChrome()).

--HG--
extra : rebase_source : f6671e9e0e10ee18fb32f8b1c83f1e64c3d97e67
2016-12-21 11:12:54 +11:00
Nicholas Nethercote
e2d9e4ed68 Bug 1325234 (part 2) - Streamline nsIWidget::Invalidate(). r=jimm.
This patch changes it from |NS_IMETHOD| to |virtual void|. The return value was
only checked in one low-value assertion so I decided it wasn't needed.

--HG--
extra : rebase_source : 3523d9a086cf98c40d237d777f5dd471af0d7465
2016-12-20 09:55:32 +11:00
Stone Shih
f60994b515 Bug 1031362 Part1: Dispatching mouse events by handling pen generated WM_POINTER* messages. r=jimm,smaug 2016-11-20 10:24:46 +08:00
Carsten "Tomcat" Book
9b6d97a4be Backed out changeset 1413fa802632 (bug 1031362) for test failures in pointerevents/test_touch_action.html
--HG--
extra : rebase_source : 937d349fb18e2368d4155364558027134c01fec6
2016-12-20 14:52:23 +01:00
Stone Shih
d908d1a2d4 Bug 1031362 Part1: Dispatching mouse events by handling pen generated WM_POINTER* messages. r=jimm,smaug 2016-11-20 10:24:46 +08:00
Nicholas Nethercote
3af5047314 Bug 1299335 (part 8) - Streamline nsIWidget::Enable. r=mstange.
This patch changes it from |NS_IMETHOD| to |virtual void| because every
implementation of these functions always returns |NS_OK|.

--HG--
extra : rebase_source : 07ee29c514bf35b97d7195c53bb5b9220d1ef961
2016-12-19 20:54:16 +11:00
Nicholas Nethercote
a28c8f38b2 Bug 1299335 (part 7) - Streamline nsIWidget::{Move,Resize}. r=mstange.
This patch changes them from |NS_IMETHOD| to |virtual void| because every
implementation of these functions always returns |NS_OK|.

--HG--
extra : rebase_source : 6207df5a46aeb6b8aaa0f697447a51bc6a6dc366
2016-12-19 20:54:03 +11:00
Nicholas Nethercote
d0912b2968 Bug 1299335 (part 4) - Streamline nsIWidget::HideWindowChrome. r=mstange.
This patch does the following.

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

- Removes the empty implementations from the android nsIWidget instance,
  because it can use the nsBaseWidget one.

--HG--
extra : rebase_source : 0791d3cb05907d6b41879549b52f3a33018abf45
2016-12-16 10:54:12 +11:00
Nicholas Nethercote
1dab0c3072 Bug 1299335 (part 3) - Streamline nsIWidget::SetParent. r=mstange.
This patch removes its return value, because none of the call sites check it
except for one non-vital assertion.

--HG--
extra : rebase_source : 3471c4e22394b8a05c6708d0f8469686ffad9814
2016-12-16 10:54:11 +11:00
Nicholas Nethercote
efc5071ff2 Bug 1299335 (part 2) - Streamline nsIWidget::SetIcon. 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.

--HG--
extra : rebase_source : a1a04193bc3940f1468c7c235f6d6e0341d0f1c2
2016-12-16 10:54:11 +11:00
Nicholas Nethercote
3970265787 Bug 1299335 (part 1) - Change some nsIWidget function return values from |NS_IMETHOD| to |virtual MOZ_MUST_USE nsresult|. r=jimm.
Specifically: OnDefaultButtonLoaded, AttachNativeKeyEvent, BeginMoveDrag,
BeginResizeDrag, GetAttention. These are all fallible functions whose result is
always checked.

The patch also moves some trivial function definitions from nsBaseWidget.cpp to
nsBaseWidget.h, and removes the android BeginResizeDrag() because it can
use the nsBaseWidget one.

--HG--
extra : rebase_source : ef32a41b547bcbc21f7df0043f683307470b136e
2016-12-16 10:54:02 +11:00
David Parks
6ea0979c0f Bug 1273091 - Mouse cursor does not disappear in html5 fullscreen video on Windows. r=masayuki
When we jump to fullscreen, the OS sends a WM_MOUSELEAVE, which we turn into a eMouseExitFromWidget.  The eMouseEnterIntoWidget was previously only sent when the mouse moved into the widget, which required the mouse to move.  When entering fullscreen, we want the eMouseEnterIntoWidget to happen right away.
2016-11-28 10:46:15 -08:00
David Anderson
2c5e03e62e Don't reset devices for each tab when the compositor resets. (bug 1316788, r=rhunt) 2016-11-14 11:47:01 -08:00
Nicolas Silva
9f87d72b3f Bug 1299860 - Don't use the compositor backend of a popup with ImageBridge and VRManager. r=Bas 2016-10-07 11:08:32 +02:00
Carsten "Tomcat" Book
2a026d93ba Backed out changeset 9fbc16390ef7 (bug 1299860) for bustage on a CLOSED TREE 2016-10-06 17:04:40 +02:00
Nicolas Silva
f10342b425 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
Ho-Pang Hsu
8e327f28fa Bug 1258808 - Part 2: Enhance Widget for Windows (Widget). r=smaug, f=btseng
--HG--
extra : rebase_source : d22c59ac2a0e0bb7baec976bbabc1c75ec6f5955
extra : histedit_source : 12058ce71e0268f2582044bf307f83d461966bd4
2016-09-01 16:12:15 +08:00
Kartikaya Gupta
48a5a4c393 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

--HG--
extra : rebase_source : aea932d9f95454c585bcdf962d151c946b5c6ec2
2016-08-30 17:32:08 -04:00
Nicholas Nethercote
5bf56904c4 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.

--HG--
extra : rebase_source : 1c42bb32a662f2659c934a245ecd0025045120a5
2016-08-25 14:10:02 +10:00
Nicholas Nethercote
346d5f4895 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.

--HG--
extra : rebase_source : 2a94a47f1e7fe986d1efc3854c72968a3e28e365
2016-08-25 13:43:27 +10:00
Nicholas Nethercote
4390cb4f8d 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.

--HG--
extra : rebase_source : 82733f682c9e254e20354cc6908955a1e7485ee7
2016-08-25 13:43:27 +10:00
Nicholas Nethercote
d8684f0659 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.

--HG--
extra : rebase_source : ccf64aaa9364d096e1f060ef77be7e8455b11e1f
2016-08-25 13:43:27 +10:00
Nicholas Nethercote
ff02e25e13 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.

--HG--
extra : rebase_source : e98b7f9970a920c39e941bb531dfc098125913d1
2016-08-25 13:43:26 +10:00
Nicholas Nethercote
00246f9dff 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|.

--HG--
extra : rebase_source : d090848cf5ea2e92c0188b07559c1e1f3899829f
2016-08-22 09:16:50 +10:00
Nicholas Nethercote
367d94e34e Bug 1293596 (part 7) - Make nsIWidget::Destroy infallible. r=karlt.
--HG--
extra : rebase_source : 403d279c432c70671aa85991868d006c1f2da81d
2016-08-10 10:04:11 +10:00
Nicholas Nethercote
8bc855b22d 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.

--HG--
extra : rebase_source : 85d54185f63d2c138ee3f3e0e0bfe3b5e805a981
2016-08-22 09:15:49 +10:00
Nicholas Nethercote
3fda0deee8 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
cc993d1772 Bug 1293596 (part 4) - Tweak nsIWidget::Create. r=mstange.
They don't need to be NS_IMETHOD, but they should be MOZ_MUST_USE. Adding the
latter catches a few missing checks, which the patch adds.

The patch also gives PuppetWidget an InfallibleCreate() function, which makes
the infallibility of PuppetWidget creation clear.
2016-08-19 09:03:17 +10:00
Nicholas Nethercote
8f79833e36 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
67af4817e9 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
Thomas Zimmermann
48ef99e762 Bug 1265386: Fix white-space errors in widget/, r=nfroyd
MozReview-Commit-ID: ATXI7dYFHmA
2016-07-22 10:56:13 +02:00
Carsten "Tomcat" Book
d2a1babef4 Backed out changeset 2bea1e1e403d (bug 1265386) for bustage on a CLOSED TREE 2016-07-21 13:59:02 +02:00
Thomas Zimmermann
d8818e0d94 Bug 1265386: Fix white-space errors in widget/, r=nfroyd
MozReview-Commit-ID: ATXI7dYFHmA
2016-07-21 13:29:30 +02:00
Bob Owen
25fe73cb68 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
David Anderson
97a92d5d5e Extract a delegate interface out of WinCompositorWidget. (bug 1281998 part 6, r=jimm) 2016-07-01 01:15:16 -07:00
David Anderson
6562af780a Move CompositorWidget construction out of nsIWidget. (bug 1281998 part 5, r=jimm) 2016-07-01 01:15:16 -07:00
David Anderson
3f0ea0572d Rename CompositorWidgetProxy files to CompositorWidget. (bug 1281998 part 2, r=jimm)
--HG--
rename : widget/CompositorWidgetProxy.cpp => widget/CompositorWidget.cpp
rename : widget/CompositorWidgetProxy.h => widget/CompositorWidget.h
rename : widget/windows/WinCompositorWidgetProxy.cpp => widget/windows/WinCompositorWidget.cpp
rename : widget/windows/WinCompositorWidgetProxy.h => widget/windows/WinCompositorWidget.h
2016-07-01 01:15:16 -07:00
Bill McCloskey
b8ababd5ee Bug 1282153 - Remove retaining outparam to GetLayerManager (r=dvander) 2016-06-30 14:30:30 -07:00
Phil Ringnalda
0d0d24bccc 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)

--HG--
rename : widget/CompositorWidget.cpp => widget/CompositorWidgetProxy.cpp
rename : widget/CompositorWidget.h => widget/CompositorWidgetProxy.h
rename : widget/windows/WinCompositorWidget.cpp => widget/windows/WinCompositorWidgetProxy.cpp
rename : widget/windows/WinCompositorWidget.h => widget/windows/WinCompositorWidgetProxy.h
2016-06-29 19:35:24 -07:00
David Anderson
4853817add Extract a delegate interface out of WinCompositorWidget. (bug 1281998 part 6, r=jimm)
--HG--
extra : rebase_source : 66e23a6efd766341a97ab46f1c52b368f145d849
2016-06-29 16:47:23 -04:00
David Anderson
358a567c70 Move CompositorWidget construction out of nsIWidget. (bug 1281998 part 5, r=jimm)
--HG--
extra : rebase_source : 881a2fac4447de3f1aeae3f34f21f9e76a79e0a3
2016-06-29 16:47:22 -04:00
David Anderson
804c1ee06f Rename CompositorWidgetProxy files to CompositorWidget. (bug 1281998 part 2, r=jimm)
--HG--
rename : widget/CompositorWidgetProxy.cpp => widget/CompositorWidget.cpp
rename : widget/CompositorWidgetProxy.h => widget/CompositorWidget.h
rename : widget/windows/WinCompositorWidgetProxy.cpp => widget/windows/WinCompositorWidget.cpp
rename : widget/windows/WinCompositorWidgetProxy.h => widget/windows/WinCompositorWidget.h
extra : rebase_source : 8ecf59ad6039f0d0d2a51008aef53ef37aa2ce0e
2016-06-29 16:47:22 -04:00
David Anderson
d4a4548584 Move transparency handling to WinCompositorWigetProxy. (bug 1265975 part 4, r=jimm) 2016-05-04 22:00:14 -07:00
David Anderson
309e579428 Move the WM_SETTEXT present lock to CompositorWidgetProxy. (bug 1265975 part 3, r=jimm) 2016-05-04 22:00:13 -07:00