Commit Graph

830 Commits

Author SHA1 Message Date
Kartikaya Gupta
3050106083 Merge m-c to graphics
MozReview-Commit-ID: 6XqNGxF5EiQ
2016-12-23 10:14:44 -05:00
Wes Kocher
a072dd50b2 Merge m-c to inbound, a=merge
MozReview-Commit-ID: 3HW7YWDqTBQ
2016-12-23 14:40:42 -08:00
Kartikaya Gupta
26f427122c Merge m-c to graphics
MozReview-Commit-ID: E0Sr26LKcZx
2016-12-21 10:16:15 -05:00
Kartikaya Gupta
d6ef195f56 Bug 1147335 - Add support for drag-and-drop via touch (Windows-only, main-process-only). r=smaug
This patch adds a new non-DOM event type, "mousetouchdrag". The name is horrible, I
know. The "mouse" comes from the fact that it's a WidgetMouseEvent, and the
"touchdrag" comes from the fact that this event is fired at the start of a touch
gesture for drag-and-drop. Right now this event is only fired from the Windows
widget code, when we receive a touch-source doubleclick event from the OS. This
event is sent to us from the OS when it detects the sequence "touchstart, touchend,
touchstart" within certain time/distance constraints. Eventually we may detect
similar gestures for other platforms in the APZ GestureEventListener and dispatch
the "mousetouchdrag" event for those as well.

The only effect of this event is that it begins tracking a drag gesture in the
EventStateManager. Subsequent touchmove events can begin the actual drag-and-drop
operation by calling ::DoDragDrop. See the discussion in bug 1147335 for some
important caveats about DoDragDrop and how it only works with left-mouse-button
events (real or synthetic).

MozReview-Commit-ID: bGyOk6dRoJ
2017-01-03 10:55:48 -05:00
Kartikaya Gupta
fe0d7f6d46 Bug 1330755 - Follow-up to move the MakeScopeExit to after the null check. r=bobowen
MozReview-Commit-ID: GrRU0Efh0Ns
2017-01-17 10:57:06 -05:00
Nicholas Nethercote
0aafa0e5ec Bug 1325234 (part 9) - Remove remaining NS_IMETHOD_ occurrences from nsIWidget. r=mstange.
|virtual T| is clearer than |NS_IMETHOD_(T)|.
2016-12-21 15:27:20 +11:00
Nicholas Nethercote
bc88544c2d 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.
2016-12-21 11:18:40 +11:00
Nicholas Nethercote
bbbd1bf919 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.
2016-12-21 11:13:08 +11:00
Nicholas Nethercote
56412157dc 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|.
2016-12-21 11:13:08 +11:00
Nicholas Nethercote
343e7a7830 Bug 1325234 (part 4) - Streamline nsIWidget::{SetFocus,SetNonClientMargins}(). r=mstange.
This patch changes them from |NS_IMETHOD| to |virtual nsresult|.
2016-12-21 11:13:08 +11:00
Nicholas Nethercote
d3809ce662 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()).
2016-12-21 11:12:54 +11:00
Nicholas Nethercote
dc2aa85dd7 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.
2016-12-20 09:55:32 +11:00
Kartikaya Gupta
b9992ac181 Merge m-c to graphics
MozReview-Commit-ID: 4IBPvJvxXEM
2016-12-15 10:15:36 -05:00
Carsten "Tomcat" Book
ef798f401e Merge mozilla-central to mozilla-inbound 2016-12-22 16:25:35 +01:00
Jonathan Kew
2ae1973075 Bug 1320531 - Check whether DPI appears to have changed before calling ChangedDPI + ResetLayout while dragging windows. r=emk 2017-01-31 20:54:23 +00:00
Kartikaya Gupta
17245d5f13 Merge m-c to graphics
MozReview-Commit-ID: KhxBqJbwxv8
2016-12-06 23:45:24 -05:00
Aaron Klotz
a9f4e30874 Bug 1329616: Use intercepted SendMessageTimeoutW to check for WM_GETOBJECT originating from tiptsf; r=jimm 2017-01-09 16:06:01 -07:00
Nicholas Nethercote
8b2d264e0f 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.
2016-12-23 13:13:31 +11:00
Jean-Luc Bonnafoux
2f42a7d767 Bug 569583 - GetParent returns nsWindow::mParent in nsWindow.cpp. r=jimm 2017-01-10 20:36:16 +01:00
Aaron Klotz
878782e887 Bug 1323521: Prevent Windows touchscreen support from instantiating a11y; r=jimm
MozReview-Commit-ID: 3xV0b97lEre
2016-12-14 12:20:48 -07:00
Cervantes Yu
b3d13f4c64 Bug 1321244 - Lazily init global variables that could implicitly initialize NSPR. r=froydnj
MozReview-Commit-ID: IPU9Qc8lr50
2016-12-01 11:48:32 +08:00
Morris Tseng
876f0e708e Merge mozilla-central to graphics. 2016-11-28 10:46:02 +08:00
Kartikaya Gupta
d4307a1607 Merge m-c to graphics
MozReview-Commit-ID: LrF5oQpIOhC
2016-11-18 11:39:22 -05:00
Carsten "Tomcat" Book
e97c430a2f Backed out changeset 1413fa802632 (bug 1031362) for test failures in pointerevents/test_touch_action.html 2016-12-20 14:52:23 +01:00
Carsten "Tomcat" Book
55152086e0 Backed out changeset bb1654cb6f30 (bug 1031362) 2016-12-20 14:46:03 +01:00
Carsten "Tomcat" Book
e6504e80e3 Backed out changeset 1d3072ee3656 (bug 1031362) 2016-12-20 14:46:02 +01:00
Stone Shih
033d660f83 Bug 1031362 Part3: Rollup popups by WM_POINTERDOWN. r=jimm, smaug
MozReview-Commit-ID: FiefSHcMBIn
2016-11-29 15:31:21 +08:00
Stone Shih
e8dbfb1e3d Bug 1031362 Part2: Refine InkCollector to enable it only on Win7. r=smaug 2016-11-25 14:36:37 +08:00
Stone Shih
c5455f27c3 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
ba591e22dd 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|.
2016-12-19 20:54:16 +11:00
Nicholas Nethercote
aaca44be3c 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|.
2016-12-19 20:54:03 +11:00
Nicholas Nethercote
effeac0413 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.
2016-12-16 10:54:12 +11:00
Nicholas Nethercote
545f84822e 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.
2016-12-16 10:54:11 +11:00
Nicholas Nethercote
0f1cbfb57b 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.
2016-12-16 10:54:11 +11:00
Nicholas Nethercote
30a28fa991 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.
2016-12-16 10:54:02 +11:00
Mozilla Graphics Team
1f923fd38d Bug 1317774 - Add non-gfx code needed to use WebRender in gecko. r=gfx
This completes the migration of code from the github branch to the graphics
project repo. At this point all webrender-related code should be disabled
unless --enable-webrender is provided in the mozconfig.

MozReview-Commit-ID: Dea8rxM6UPL
2016-11-16 08:54:51 -05:00
David Parks
cd5a73faac Bug 1185472 - Only allow NPAPI HWNDs to be adopted by an HWND in the chrome process. r=jimm
Add the set of plugin process PIDs to PluginProcessParent and, when attempting to reparent plugin windows in the chrome process, validate that those windows originated with the plugin process (by checking the window's PID against the set in the PluginProcessParent).
2016-12-22 10:50:03 -08:00
Ahmed (Gentz) El Gendy
6fff8f8c60 Bug 1234317 - Update mLastSizeMode when window size mode changes within Windows widget, avoids a window focus problem on Windows 10 with theme changes. r=jimm
MozReview-Commit-ID: FFpH8iZbxXK
2016-10-26 16:49:11 -06:00
David Anderson
0757ad84ef Don't reset devices for each tab when the compositor resets. (bug 1316788, r=rhunt) 2016-11-14 11:47:01 -08:00
Ting-Yu Chou
e9fdb7b400 Bug 1322465 part 14 - Use explicit/MOZ_IMPLICIT for the unary constructors in widget/. r=Ehsan
MozReview-Commit-ID: JOrzksTzwVT
2016-12-16 16:00:43 +08:00
Stone Shih
f120de92f0 Bug 1301708 - nsWindow::DealWithPopup() should do nothing at receiving WM_ACTIVATE for a popup window and its wParam includes WA_CLICKACTIVATE. r=masayuki
When the first time user clicks download panel popup to hide the drop marker popup, Windows fires WA_ACTIVATE with wParam includes WA_CLICKACTIVATE to the download panel. In that case the popupWindow is the drop marker. We shouldn't roll up popups by handling WA_ACTIVATE since we'll handle the rollup behavior with WM_LBUTTONDOWN message.

MozReview-Commit-ID: 43jCgdBjjUN
2016-11-10 16:09:25 +08:00
David Parks
d3ae3f4915 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
Stone Shih
aad962291e Bug 1031362 Part3: Rollup popups by WM_POINTERDOWN. r=jimm, smaug
MozReview-Commit-ID: FiefSHcMBIn
2016-11-29 15:31:21 +08:00
Stone Shih
de111c17d1 Bug 1031362 Part2: Refine InkCollector to enable it only on Win7. r=smaug 2016-11-25 14:36:37 +08:00
Stone Shih
a7af845fd7 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
eb77d28a84 Backed out changeset 49f1c7ec4eca (bug 1185472) for bustage 2016-12-21 12:33:54 +01:00
David Parks
35491d2452 Bug 1185472 - Only allow NPAPI HWNDs to be adopted by an HWND in the chrome process r=jmathies
Add the set of plugin process PIDs to PluginProcessParent and, when attempting to reparent plugin windows in the chrome process, validate that those windows originated with the plugin process (by checking the window's PID against the set in the PluginProcessParent).
2016-12-18 19:58:16 -08:00
Ryan VanderMeulen
2d2f52a7eb Merge m-c to inbound. a=merge 2016-10-07 09:44:29 -04:00
Nicolas Silva
a6c01acd99 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
Masayuki Nakano
680631a4f0 Bug 1307112 part.6 Get rid of char message argument from public NativeKey::HandleCharMessage() method r=m_kato
Currently, NativeKey::HandleCharMessage() is only a public method and it takes any char message.  However, when it's called outside of NativeKey, it should work only with NativeKey::mMsg.

Therefore, we should make current HandleCharMessage() a private method and create new overload method which doesn't take MSG as an argument.

MozReview-Commit-ID: LowV2FUmR3U
2016-10-03 23:55:14 +09:00