Provide a mechanism to allows dns prefetch via proxy (for mochi browser tests), testing only.
And ensure that we resolve the dns-prefetched domain.
Differential Revision: https://phabricator.services.mozilla.com/D206550
Split the rel=dns-prefetch behaviour from the Dom's speculative DNS prefetch for all anchor elements.
This will allow us to independently enable rel=dns-prefetch for https document without prefetching DNS for anchors.
This patch does not change the behaviour for either source of DNS prefetch.
Differential Revision: https://phabricator.services.mozilla.com/D205630
This removes some noise related to metrics and Nimbus initialization in unit tests that use Robolectric. That was adding extra lines related to megazord init failures. Extension support initialization also added some noise.
The baseline log size ( as reported in the Bugzilla issue) downloaded from the browser was 108 MB
The log size after this patch (downloaded for the browser) is 4,9 MB.
An additional issue has been created to remove extra noise from other components like `TranslationsMiddleware` and system errors like PackageParser:
Differential Revision: https://phabricator.services.mozilla.com/D207348
This patch updates the perfdocs linter documentation to contain the new config schema, and information about how to add documentation for the metrics.
Differential Revision: https://phabricator.services.mozilla.com/D206953
This patch adds the ability to document metrics dynamically. The metrics are documented in the config YAML file for each framework, and then defined in a metrics.rst file. Two things are expected to be found in the framework docs now if they want to use dynamic metric documentation:
* A metrics.rst file that contains a `{metrics_documentation}` entry somewhere to insert the built documentation.
* A `{metrics_rst_name}` entry somewhere in the top-level/index.rst file so that a link can be produced to the metrics documentation.
The metrics documentation is specific to each framework. See the schema for the metrics for what is expected in this field. At the same time, the dynamic documentation for Raptor is generated here. Each metric in Raptor contains a list of all the tests that use (alert on) the specific metric. The tests link back to the test definition, and the metrics defined in the tests also link to the metric definitions.
Differential Revision: https://phabricator.services.mozilla.com/D206950
This patch removes the metric documentation definition ability from the suite/test levels. This is done because there's no case where a metric would need to be added to a single test, or a suite versus the global level. The tests that contain the metric are found automatically as well. Furthermore, it's already disallowed to have multiple definitions of a metric so having various levels makes no difference, and complicates the verification code. At the same time the valid metrics are gathered so that we can use them when building the metrics documentation. This prevents us from having to parse the YAML, and test lists a second time.
Differential Revision: https://phabricator.services.mozilla.com/D206949
I don't see how this can happen other than GetClientHeight giving us a
negative width / height (wtf), or somehow huge sizes that end up
overflowing into a negative number.
My patch avoided messing with the window decorations when switching
transparent windows, which could potentially trigger this I guess.
In any case this should be safe (because we deal with it in
PresentToWindow).
Differential Revision: https://phabricator.services.mozilla.com/D207509
We shouldn't try to request target actor's form late during the destroy sequence.
This would force to re-create the Lazy Target Scoped Actors via LazyPool,
which would ultimately force to re-instantiate a new _targetScopedActorsPool
which wouldn't be destroyed as it is created post-destruction.
Avoid re-instantiating the target scoped actors when we detect that the actor is being destroyed.
Differential Revision: https://phabricator.services.mozilla.com/D207487
Data and preferences associated with generated extensions used to not be
cleaned up properly upon extension shutdown. This patch changes the
implementation to force the unload and cleanup of generated extensions
in mochitests in these cases, and enables us to remove the temporary
exceptions in ignorePrefs.json from bug 1825953.
While the same lack-of-cleanup issue exists in xpcshell tests, this
patch does not change the behavior for xpcshell tests yet to minimize
the odds of side effects (e.g. longer-running tests and observed
differences due to cleanup tasks being run).
Differential Revision: https://phabricator.services.mozilla.com/D174758
If a site has persistent DENY_ACTION, priming may cause unwanted audio glitches.
In this case, avoid priming altogether.
Differential Revision: https://phabricator.services.mozilla.com/D207214
If priming is done when the gUM prompt is accepted by the user, creating the
voice processing stream is almost instantaneous since the primed stream can be
reused.
Differential Revision: https://phabricator.services.mozilla.com/D207213
The -ldl flag was previously set globally, it's now set for the libs
that use it.
Also rationalize the difference between HAVE_DLOPEN and HAVE_DLFCN_H.
Differential Revision: https://phabricator.services.mozilla.com/D203594