Previously we weren't setting any format on these surfaces (despite the inputs being BGRA), and GetFormat was hitting the default: case to return RGBA.
CGLTexImageIOSurface2D binds these with a format of GL_BGRA, but an internal format of GL_RGBA, which is why returning RGBA from GetFormat was sometimes useful.
We return a format of RGBA as an outparam when binding to a texture, so this changes the callers that really want the GL internal format to use that rather than GetFormat.
Depends on D93610
Differential Revision: https://phabricator.services.mozilla.com/D93611
Blink and WebKit do not fire `beforeinput` event when user uses build-in
password manager and autocomplete. But the `inputType` value for this case,
`"insertReplacementText"` is defined as cancelable in the spec, and it's
actually cancelable when it's fired for correcting a word with built-in
spellchecker of them.
For making only our users' autocomplete and password manager not blocked by
web apps, we should make them not cancelable by default, but I think that we
should keep dispatching such non-cancelable `beforeinput` for conforming to
the standard unless we'd get a web-compat report for this.
Differential Revision: https://phabricator.services.mozilla.com/D93206
Before this change we were only waiting for the `fullscreenchange`
event in the frame that requested fullscreen. This event is fired
before the the promise returned by `requestFullscreen` is resolved.
We now wait on the returned promise to resolve in addition to the
event, which should delay when we check the logged events from
all the frames.
Differential Revision: https://phabricator.services.mozilla.com/D94017
Our existing displayport calculation heuristics generally favour a more vertical
displayport because that's the direction most scrolling occurs in. However, when
zooming, we actually want to try and preserve the aspect ratio of the composition
size, because zooming is an operation that scales the content equally on both
axes and favouring the y-axis in the displayport can result in more checkerboarding
on the x-axis.
Differential Revision: https://phabricator.services.mozilla.com/D93799
Also upgrade the ccov builds to clang 11, as they were stuck on clang 9
because of the older version of rust, and the new version of rust
requires to bump clang as well (due to code-coverage-related symbols
name change).
Differential Revision: https://phabricator.services.mozilla.com/D93731
Rustc >= 1.44 changed the file names of the static libraries it
produces with -windows-gnu targets, to match that of mingw clang/gcc.
Considering we still build on 1.43, the best fix would be to derive the
prefix/suffix based on the version of rust, but that actually turns into
a hard-to-solve problem because of configure tests for bindgen also
depending on the prefix/suffix value to be known.
On the other hand, we're soon due to an update to 1.47, so the simpler
solution is to just push mingw builds to require 1.44 (settling for the
smallest upgrade possible for now) and to remove the split between C and
rust library prefix/suffixes.
Differential Revision: https://phabricator.services.mozilla.com/D93726
That is what rust uses, and versions of rust >= 1.44 make the
discrepancy visible as a linker error on missing the _Unwind_Resume
symbol, so we need to align things.
Differential Revision: https://phabricator.services.mozilla.com/D93725
The APZCCallbackHelper code would only enter the codepath to set the presShell
resolution if the repaint request had a scroll position update. This seems silly
because really we care about whether or not the async zoom changed. The included
test exposes this silliness by demonstrating how the presShell resolution can
get stuck at an incorrect value because the necessary repaint requests get
ignored.
The patch now allows the SetResolutionAndScaleTo codepath to be entered if
there is an async zoom on the repaint request, so that we make sure to update
the presShell resolution even if the scroll position hasn't changed.
Differential Revision: https://phabricator.services.mozilla.com/D93687
Instead of a having a yield-style pinchZoomOutTouchSequenceAtCenter function
and a async pinchZoomOutWithTouchAtCenter wrapper around it, we now have an
general async wrapper synthesizeNativeTouchAndWaitForTransformEnd around the
main touch synthesization function, with pinchZoomOutWithTouchAtCenter being
a helper that uses it with a specific touch sequence.
In particular this allows reusing this code with other custom touch sequences,
which will happen in the next patch.
Differential Revision: https://phabricator.services.mozilla.com/D93686