ChromeUtils::requestProcInfo was dropping thread names for the process process. This patch restores them and tests that at least *one* thread is named. Unfortunately, at the time of this writing, we cannot assume that *all*
threads are named. Investigation pending.
Differential Revision: https://phabricator.services.mozilla.com/D75420
Since targetFronts now have isTopLevel and targetType properties, we can directly use
those, as the targetFront is included in the callback parameter.
This patch remove those properties and refactor consumer code.
Differential Revision: https://phabricator.services.mozilla.com/D74651
We are going to get rid of the TLS slot in the Frame because we don't
need it all the time. Now it consumes one stack slot in Frame and forces
the Frame to add one additional padding slot for arm64.
In this patch we are removing dependency from Frame::tls in Baseline.
Note that we need to allocate a stack slot for WasmTlsReg value because
baseline can clobber WasmTlsReg and we should be able to load it when we
need it. For example, when we need access to the Instance*.
The followup patch will do the same for the Ion compiler.
Differential Revision: https://phabricator.services.mozilla.com/D66201
If a task has explicitly specified artifact paths, don't additionally specify
the default paths. If the task has private artifacts, having a directory
that uploads public artifacts seems like an attractive nuissance.
Differential Revision: https://phabricator.services.mozilla.com/D74200
The toolchain transform rarely changes in ways that impact the generated toolchain. but does occasionally change in ways that don't. Stop including the digest of the transform module, to avoid needlessly rebuilding toolchains as often. Given that the cache route is versioned, we can bump the version if the transform does change in a way that requires rebuilding.
Differential Revision: https://phabricator.services.mozilla.com/D74199
privacy.resistFingerprinting.randomDataOnCanvasExtract can be accessed by
background threads so it needs to be atomic.
Differential Revision: https://phabricator.services.mozilla.com/D75468
iOS support for Gecko has not been tested in years and is most probably
out of date. The build system part of it, specifically the checks in
build/autoconf/ios.m4, are not trivial to port to python configure, and
they prevent other things from moving to python configure (because some
of them change value when MOZ_IOS is set).
The code is left alone, although it could probably be stripped off as
well, but I'll leave that as an exercise for someone else.
Differential Revision: https://phabricator.services.mozilla.com/D75463
This patch will do :
- replace the old pref with the new pref
The advantage of doing so :
- to ensure those tests can still use the correct blocking autoplay policy
Differential Revision: https://phabricator.services.mozilla.com/D73973
This patch will do :
- set the value of the new pref based on the value of the old pref
The advantage of doing so :
- ensure that the value of the pref can be transformed correctly
Differential Revision: https://phabricator.services.mozilla.com/D73972
This patch will do :
- rename the old pref `media.autoplay.enabled.user-gestures-needed` to the new pref `media.autoplay.blocking_policy`
- modify the value of the pref to `int` in order to introduce new policy
- implement new policy in `AutoplayPoliocy`
The advantage of doing so :
- rename the pref to explicitly indicate that it's related the block policy we use
- use the transient user gesture activation as a new policy to replace the old one using the user input, which doesn't work on the async handler
More details :
The old `click-to-play` policy we use is using the user input to determine if the play invocation is called by users or by scripts. But `UserActivation::IsHandlingUserInput()` is buggy which would fail when you call `video.play()` inside an async event handler. So we would like to replace it with the new transient user activation, which would treat the action as an user input if the action is performed within a certain period of time after a user interacts (eg. click) with the page.
[1] https://html.spec.whatwg.org/multipage/interaction.html#transient-activation
Differential Revision: https://phabricator.services.mozilla.com/D73971
Changes the existing reftest to expect success, and adds additional tests for
pseudo-elements, paused animations, the web animation API, and shadow DOM
elements.
Differential Revision: https://phabricator.services.mozilla.com/D73140
This also requires changing the EffectCompositor to allow animations in print
and print preview, and setting up a document timeline for the cloned document
Differential Revision: https://phabricator.services.mozilla.com/D69069
This was added to handle the case where a content process sent its display
list to the compositor before the parent knew which render root that content
belonged to (because the corresponding parent process display list hadn't
arrived yet). Now that we no longer have multiple render roots, all this
is unnecessary.
Differential Revision: https://phabricator.services.mozilla.com/D75123
To help support KaiOS, we are running the kaios project branch in automation, with a
different trust domain. Factor out the usages of `trust-domain` in `.taskcluster.yml`
to make it easy for the kaios branch to merge changes from mozilla-central.
Differential Revision: https://phabricator.services.mozilla.com/D75242
To help support KaiOS, we are running the kaios project branch in automation, with a
different trust domain. Allow configuring worker aliases using `trust-domain`, so
that they worker aliases do not need to be adjusted on that branch.
Differential Revision: https://phabricator.services.mozilla.com/D75240
For now, only test_listOrigins.js, test_originWithCaret.js and test_simpledb.js
can run in a child process because they don't need to set preferences or access
files in the profile directory.
We will be able to run more tests in a child process once we have SpecialPowers
for xpcshell implemented using JSProcessActors and when we expose the base
directory used by QuotaManager through a new QuotaManagerService method (to
avoid getting the profile directory using nsIDirectoryService because that
doesn't work in a child process).
Differential Revision: https://phabricator.services.mozilla.com/D75281
With this patch both events will be emitted when sub frames are
loaded or destroyed.
Because more work is necessary before we can enable general frame
support in Remote Protocol all the code has been put behind the
preference "remote.frames.enabled'. Only if it's true (which is
not the default) the events are emitted.
Differential Revision: https://phabricator.services.mozilla.com/D74635