Unify two separate codepaths that do conceptually identical things. That is,
instead of having the widget code directly dispatch wheel and pinch gesture
events to Gecko, allow APZ to do it as part of it's handling of pinch inputs
when zooming is disabled.
The main difference is that the WidgetSimpleGestureEvent delta values come out
different, because they are based on the macOS event's magnification value,
rather than the (now deprecated) deltaZ value. This is actually better since it
makes the values consistent across platforms and allows removal of some ifdefs.
Differential Revision: https://phabricator.services.mozilla.com/D74640
As noted in the comment /proc/[pid]/stat is returning the number of pages, but
this value is being used elsewhere as a bytes figure, so we need to multiply by
the page size to get that.
Differential Revision: https://phabricator.services.mozilla.com/D74350
All the indexes were off by two, so the values were for completely different
measurements, and thus nonsense. Resident Set Size still doesn't seem to be
handled correctly, perhaps because it's being treated as a bytes count rather
than the page count it is somewhere, but with this change the Virtual Memory
figures match what system monitor displays.
Differential Revision: https://phabricator.services.mozilla.com/D74349
The pid wasn't being included in the ProcInfo returned from GetProcInfo unlike
on macOS, so all child processes were ending up with the default pid of 0
Differential Revision: https://phabricator.services.mozilla.com/D74348
The BothFingersLifted() mechanism was a bit of a hack to handle the case that
with touch inputs, a user might be able to lift just one finger to transition
from a pinch to a pan or other kind of gesture. This isn't possible with
other kinds of pinch gestures, such as on trackpads or with mousewheels.
So instead of tracking that via special-case behaviour of mFocusPoint, or
adding an extra bool to the PinchGestureInput class, it seems cleaner to
separate the concerns by adding a new type of input event that explicitly
covers the "finger lifted" touch scenario. This patch implements this change,
and removes the BothFingersLifted() machinery.
Differential Revision: https://phabricator.services.mozilla.com/D74415
This code could have been moved into nsPrintingPromptService::ShowPageSetupDialog
(the C++ function that the JS code calls). However, since kInitSaveNativeData
for the print dialog is handled in nsPrintDialogX (this constant is only
relevant on macOS), I've moved the kInitSaveNativeData handling in this case
(the print *settings* dialog) one call deeper, into
nsPrintDialogX::ShowPageSetup, for consistency.
Depends on D74522
Differential Revision: https://phabricator.services.mozilla.com/D74523
It seems like the build environment needs updating/modifying so it can handle this. But for now we unbreak the build.
Differential Revision: https://phabricator.services.mozilla.com/D74525
Direct Manipulation uses a different input model from processing messages that Windows sends.
Windows asks us if we want to start a direct manipulation session by sending us the DM_POINTERHITTEST message, and we call SetContact if we do. After that Windows won't send us messages until the user ends the gesture. Instead Direct Manipulation will update a transform (that's invisible to the user). We pull that transform and turn it into pan and pinch gestures.
So DealWithPopups is not called and popups don't get rolled up. Instead I call it in the function where we send all events that come from dmanip.
Differential Revision: https://phabricator.services.mozilla.com/D74215
The old code didn't handle content prevent defaulting the input.
The pinch gesture code doesn't seem to fully work properly, it will allow a little pinch zooming before halting it if content is prevent defaulting it. Not sure what is up yet.
Differential Revision: https://phabricator.services.mozilla.com/D73220
We can't just get pinch events, we need to handle both.
This state machine code is basically copied from Chrome's implementation.
Differential Revision: https://phabricator.services.mozilla.com/D71307
I had to mess with the refcounting of Display (and hence destructors) because we create a NewRunnableMethod inside Display that holds a pointer to |this|. There are versions of NewRunnableMethod that don't take a ref but I'm not sure of the lifetime of Display, so easier to just take a ref since several of the subclasses are already refcounted.
Differential Revision: https://phabricator.services.mozilla.com/D71303
Previously we were blocking older Windows and only allowing on Windows
10. This switches us to relying on the blocking to prevent WebRender
from riding the trains on Win7/8.
Differential Revision: https://phabricator.services.mozilla.com/D74409
`HTMLEditor` does not remove padding `<br>` element for last empty line when
it becomes unnecessary.
This patch removes it when inserting some text into a text node and it's
followed by a padding <br> element.
Differential Revision: https://phabricator.services.mozilla.com/D74203
The 'Id' variant was only used with b2g for remote `mozbrowser`s, and is no
longer relevant. The new code instead uses `PBrowser` directly in all cases.
Differential Revision: https://phabricator.services.mozilla.com/D72933
The 'Id' variant was only used with b2g for remote `mozbrowser`s, and is no
longer relevant. The new code instead uses `PBrowser` directly in all cases.
Differential Revision: https://phabricator.services.mozilla.com/D72933