`browser_glean_first_frame_loaded_time.js` tests non-media engine
situation, and `browser_wmfme_glean_first_frame_loaded_time.js` tests
media engine situaion, which would only be run on wmfme task.
Differential Revision: https://phabricator.services.mozilla.com/D203206
This test was added in bug 945254 to verify that the italic correction
of the base [1] is taken into account when attaching subscripts to it.
The test assumes no `MathItalicsCorrectionInfo` is provided from a
`MATH` table and that Gecko estimates such an italic correction from
ink metrics instead. This estimation is not defined in MathML Core, so
keep the test as internal for now.
This is a JS test written as a reftest (drawing a red background if the
an assertion fails) so rewrite it as a testharness.js test. The Linux
expectation is rewritten to make the test random as this was discussed
on bug 1599640. Ideally, this test should use a custom non-MATH font
with a slanted glyph in order to make it less dependent on which
system fonts are used.
[1] https://w3c.github.io/mathml-core/#dfn-italic-correction
Differential Revision: https://phabricator.services.mozilla.com/D203586
This test verifies the MathML3 rule that the `accentunder`/`accent`
attributes are ignored when an `munderover` element (and similar
scripted elements) is laid out as an `msubsup` element (i.e. when the
base is a `movablelimits` operator in `displaystyle="false"`).
More specifically, setting `accentunder`/`accent` to `true` normally
prevents the `scriptlevel` to be incremented in an `munderover` element
(and similar scripted elements) but this test verifies that this rule
does not hold when such an element is laid out as an `msubsup` element.
In MathML Core, the CSS-based mechanism is slightly different: the
scripts of `munderover` (and similar scripted elements) always have
`math-depth: add(1)` in the UA sheet but `font-size: inherit` if the
corresponding `accentunder`/`accent` attribute is set to true. This
means that by default, the `accentunder`/`accent` scripts are not drawn
smaller even when laid out as an `msubsup`, contrary to MathML3.
Consequently, we keep this test as internal for now.
Differential Revision: https://phabricator.services.mozilla.com/D203577
These tests compare scripted elements (e.g. `munderover` or
`mmultiscripts`) with empty scripts (e.g. `<mspace/>` or `<none/>`)
against the equivalent constructs without the empty scripts
(e.g. `mover`, `msup` etc). Gecko has some specific adjustments to make
them render the same, taking into account "ink" and logical metrics.
It's not clear whether this is aligned with MathML Core and one of the
test is even failing on some platforms (likely due to different system
fonts) so for now we just keep them as internal WPT tests.
Differential Revision: https://phabricator.services.mozilla.com/D203572
These tests were introduced in bug 557476 to test horizontal alignment
of under/over scripts for different values of the MathML3 `align`
attribute. In bug 1784003, we completely removed support for that
attribute and simplified the tests, so it now only verifies the default
centering. This is covered by other WPT testharness.js tests but let's
keep these reftests to check the visual rendering and that the value
of `accent`/`accentunder` attributes don't interfer with that centering.
Differential Revision: https://phabricator.services.mozilla.com/D203567
These are old reftests added for bug 427666 and bug 428863, at the time
when MathML rendering was severely broken. They set various CSS tweaks
and probably depend on the system's fonts used back at that time, which
make it difficult to properly export them to the upstream WPT repository
(a previous attempt failed in bug 1847280). Consequently, we just move
them to our internal WPT test with minimal changes.
Differential Revision: https://phabricator.services.mozilla.com/D203450
These tests were introduced in bug 414277 to verify stretching fallback
using a scale transform. The tests assume that the default fonts don't
provide a way to stretch the operators in the tests (e.g. triple arrows
and quadruple integrals) so that the scale stretching fallback. Moreover
it assumes that the operators stretch perfectly to match the target
size.
These assumptions may be incorrect and are difficult to ensure, which
is likely why one test fails on mac (which as STIX pre-installed). For
now, we keep the test as is but just make sure the preference
`mathml.scale_stretchy_operators.enabled` is enabled.
Differential Revision: https://phabricator.services.mozilla.com/D203439
nsIX509CertDB.openSignedAppFileAsync supports PKCS#7 signatures with either
SHA-1 or SHA-256 as well as COSE signatures with SHA-256. To deprecate SHA-1,
it would be helpful to know which signatures the implementation actually
encountered and verified. This patch returns this information via the
nsIOpenSignedAppFileCallback.openSignedAppFileFinished callback.
In addition, this patch returns the verified certificate that created each
verified signature.
Differential Revision: https://phabricator.services.mozilla.com/D203304
This revision implements HTMLLinkAccessible::NativeName, which, if the element
is present in an SVG context, checks the xlink:title attribute for the name, as
required by the accessible name specification. This revision also removes eight
expected failures from the relevant web platform test meta file.
Differential Revision: https://phabricator.services.mozilla.com/D203031
We are adding the ability to run chrome, fenix and custom-car regularly on mozilla central
We need data from the new android devices for speedometer3, so we are temporarily adding the ability to run custom-car, chrome-m and fenix on the new generation of devices we want to test on.
Only speedometer3 for now as that is all we have capacity for at the moment
Differential Revision: https://phabricator.services.mozilla.com/D202867
In bug 1883435 comment 2 chutten mentions that including
nsGlobalWindowInner.h from GleanMetrics.h causes a stylo build failure.
This is because nsGlobalWindowInner.h itself brings a bunch of DOM
bindings template soup that bindgen isn't great at dealing with.
That can be fixed in various ways. However, there is a simpler fix,
which is not including GleanMetrics at all.
It's trivial to do, and given it's a massive autogenerated file, and
Document.h is a very common header, it's worth doing this if only for
build times.
Fix a bunch of unused includes while at it.
Differential Revision: https://phabricator.services.mozilla.com/D203625
This patch uses our raptor support class for custom tests. The data
handling shares a lot of similarities to existing benchmark tests
e.g. speedometer3, and that is leveraged here.
Differential Revision: https://phabricator.services.mozilla.com/D202533
This patch adds a custom test script to run motionmark with browsertime.
As we are not vendoring in tree and applying custom patches, it is
convenient instead here to make use javascript directly to start the
benchmark controller.
Differential Revision: https://phabricator.services.mozilla.com/D202532
This patch updates the toml/yml files necessary to run motionmark 1.3.
An external repo model is used here rather than vendoring in-tree, as
this should be more advantageous going forward.
Brand new files (motionmark-1-3-<desktop/mobile>.toml) are added rather
than adding it to the existing motionmark animometer/htmlsuite config files.
This should be easier to maintain going forward (if for example we
decide to remove the previous motionmark). And also there has has been
so many changes since motionmark 1.0, it may be worth thinking of this
as a new benchmark entirely.
It is also worth noting that what was formerly known as
`motionmark-animometer` is now just `motionmark`. However htmlsuite is
still the same.
Differential Revision: https://phabricator.services.mozilla.com/D202531
Previously, idle maintenance was interrupted whenever a new runnable was
posted to the executing thread. Here we replace this interrupt signal with
an explicit boolean flag in order to support task queue event targets.
Differential Revision: https://phabricator.services.mozilla.com/D165984
The test wasn't detecting the restart issues because it was using the wrong 'engine' object to run the
comparisons against and was hence using an older version of the object which did have the correct urls.
Differential Revision: https://phabricator.services.mozilla.com/D203602
Following the previous patch, `IsRefcountedSmartPointer` is no longer
needed in ThreadUtils.h. Replace the one remaining use in MozPromise.h
with a more precise version tailored to that use-site.
No functional changes.
Differential Revision: https://phabricator.services.mozilla.com/D201787
`const T&&` parameters don't have associated storage semantics defined
for them. Previously they would end up as `StoreCopyPassByRRef`, which
might even have been intentional. Forbid them, and change the one use
case invoking it to a non-reference (becoming StoreCopyPassByConstLRef).
Additionally, there are four optional storage classes that are never
automatically selected. Two of these are never used, and a third is only
used mistakenly (...ByLRef where only ...ByConstLRef is needed). Adjust
the third's use-sites, and remove all three.
The last, `StoreCopyPassByPtr`, has more of an argument to be kept: it's
simpler to use (and, arguably, to understand) than its lambda-function
equivalent when wrapping an XPCOM method that takes an [in]-pointer
argument -- but it has only one use site in the entire codebase. Replace
and remove it, as well.
No functional changes. All deleted cases remain possible via lambda
functions fed to NS_NewRunnableFunction.
Differential Revision: https://phabricator.services.mozilla.com/D202173
Using `std::conditional` unconditionally instantiates both of its
type-arguments, regardless of the value of its boolean argument. This
means that the entire tree of auxiliary metafunction-types were being
instantiated by any use of ParameterStorage -- i.e., at least once per
use of NewRunnableMethod, plus one for each explicit parameter the
method took.
Use partial specialization both to significantly simplify the selection
code (replacing most explicit tests), ensuring that only O(log n))
templates are instantiated, rather than O(n).
As verified by the unchanged TestThreadUtils.cpp, no functional changes.
Differential Revision: https://phabricator.services.mozilla.com/D201786
Remove some type-level indirections from the SmartPointer template-
metaprogramming helpers.
Additionally, replace some nearby uses of `typedef` with `using`, as
suggested by clang-tidy.
No functional changes.
Differential Revision: https://phabricator.services.mozilla.com/D201785
Remove some type-level indirections from template-metaprogramming
helpers.
Additionally, replace some nearby uses of `typedef` with `using`, as
suggested by clang-tidy.
No functional changes.
Differential Revision: https://phabricator.services.mozilla.com/D201784
This gives us the option to specify rule variations for all tests without having to copy across the configurations.
More importantly, we can also apply this to anything under `/test/` or `/tests/` and so we can catch utils and other files that the specific test configurations don't already catch.
Differential Revision: https://phabricator.services.mozilla.com/D203455