`AV_CODEC_FLAG_FRAME_DURATION` was introduced in ffmpeg 60. For older
ffmpeg versions, we can simply save the duration in a map and then
retrieve it when needed, as what FFmpegVideoDecoder did.
Differential Revision: https://phabricator.services.mozilla.com/D196683
In bug 1749047, the unit of the timestamps and durations are changed
from *1 / framerate* second to *microsecond*. However, the
`AVCodecContext`'s `time_base` is not updated accordingly. This patch
sets the `time_base` to microsecond.
Differential Revision: https://phabricator.services.mozilla.com/D197354
There is no need to leave the pattern of ProcessReconfigure
implementation in FFmpegVideoEncoder since it can be found in the
AppleVTEncoder.
Differential Revision: https://phabricator.services.mozilla.com/D197383
The root cause of issue is that the link elements have not yet adopted the
activation behavior defined in the specification. This patch add a hacky way to
avoid link elements perform activation behavior if it has a child input element
which will perform activation behavior. This patch introduces new flags instead of
reusing the exiting ones, allowing us to uplift this patch more safely.
Differential Revision: https://phabricator.services.mozilla.com/D197393
The click event flagged by the a11y_checks is send to prepare the URL Bar for the mouse-specific action - for a drag event, while there are other ways are accessible for users of assistive technology and keyboards, therefore this test can be excluded from the accessibility tests.
The same approach is used in the `browser/base/content/test/tabPrompts/browser_auth_spoofing_url_drag_and_drop.js` test that was failing a11y_checks.
We also are removing the `fail-if` notations from the appropriate test manifests, since the tests are now expected to be passing a11y_checks.
Differential Revision: https://phabricator.services.mozilla.com/D197432
We used to do a case sensitive check to handle some functions,
like circle, ellipse, cubic-bezier, … , but those functions can
be written in uppercase.
Differential Revision: https://phabricator.services.mozilla.com/D196286
We do not want to test arbitrary web content, since we do not support remote documents like in-content elements with a11y_checks of browser mochitests at the moment, thus we add an exception from the a11y_checks for these tests via `setEnv` and remove the `fail-if` notations from their test manifests.
Differential Revision: https://phabricator.services.mozilla.com/D196999
When the D195198 would be ready to land, there are a few tests that are going to be passing all or most of a11y-checks since the AccessibilityUtils would be able to automatically check focusable tabs in tablists (that were previously failing these tests), thus we need to update the manifest to remove `fail-if` notations when appropriate and update the comments in the remaining tests.
Depends on D197025
Differential Revision: https://phabricator.services.mozilla.com/D197090
When the D195198 would be ready to land, there are a few tests that are going to be passing all a11y-checks since the AccessibilityUtils would be able to automatically check focusable tabs in tablists (that were previously failing these tests) or some of them, thus we need to update the manifest to remove `fail-if` notations when appropriate and update the comments in the remaining tests
Depends on D195745
Differential Revision: https://phabricator.services.mozilla.com/D197025
When the D195198 would be ready to land, there are a few tests that are going to be passing all a11y-checks or some of them, thus we need to update the manifest to remove `skip-if` notations when appropriate and update the comments in the remaining tests
Depends on D195198
Differential Revision: https://phabricator.services.mozilla.com/D195745
Adding a check to determine if an accessible is a keyboard focusable tab within a tablist, after this tab is confirmed not to be a keyboard focusable XUL tab (in that case there may be more than one tab focusable within one tablist parent - an active tab and a New Tab controls within the browser tabs is the main example, in that case we do not need to throw an error).
Per the ARIA design pattern, these controls aren't keyboard focusable in the usual way. Instead, focus is managed by JS code which sets tabindex on a single tab at a time. Thus, we need to special case the focusable check for these tab controls.
Also, fixing a typo in the environment variable description.
Differential Revision: https://phabricator.services.mozilla.com/D195198
The InsertText* code paths required an NSAttributedString instance but
only ever used their NSString representation. Callers nearly always have
an NSString, so this results in a lot of unnecessary NSAttributedString
allocations to satisfy this interface.
The primary caller is [ChildView insertText:replacementRange:], which
can receive either an NSString or an NSAttributedString string from the
NSTextInputClient protocol, but this is usually (always?) an NSString in
practice.
We can instead change these methods to receive NSString, simplifying the
callers and removing a bunch of short-lived NSAttributedString objects.
Differential Revision: https://phabricator.services.mozilla.com/D197451
After the regressing bug, first-line reparenting starts off with the
to-be-reparented style, so the display value is already the expected
(grid) rather than block.
Differential Revision: https://phabricator.services.mozilla.com/D197251