Add a series of extra hooks and methods to allow tabbrowser to use the new
process switching codepath. This duplicates some of the logic from
`updateBrowserRemoteness` into event handlers.
Differential Revision: https://phabricator.services.mozilla.com/D78970
This new process switching behavior is only enabled for some browser elements,
which have specified a specific attribute. Turning this on for all browsers with
a `remote` attribute causes breakage in reftests.
The initial version does not handle switching from remote to parent or
vice-versa, that is covered in a later part.
Differential Revision: https://phabricator.services.mozilla.com/D78969
I think at this point we can remove all of RemoteWebProgressManager, some/all of the TabProgressListener recreations, and probably a bunch more.
Differential Revision: https://phabricator.services.mozilla.com/D79240
The issue in this bug was caused by reader mode replacing the 'pre' tag
that we use to wrap plaintext documents with a series of paragraphs.
This change affected the original document. Instead, we can put the
paragraphs in a clone of the original document, which is fine for
reader mode and avoids altering the original.
Differential Revision: https://phabricator.services.mozilla.com/D79713
The previous changeset made a change to test262-update.py. This changeset is
the result of running the script, like this:
cd js/src/tests
python test262-update.py --revision 4a8e49b3ca7f9f74a4cafe6621ff9ba548ccc353
The revision is taken from the first line of js/src/tests/test262/GIT-INFO; the
purpose of specifying that revision is to run the script again using the same
input, so that the output reflects only changes to the script itself, not new
tests.
Differential Revision: https://phabricator.services.mozilla.com/D76394
In the sampling methods, we do basically sample an animation value for each
CSS property other than transform-like properties.
Differential Revision: https://phabricator.services.mozilla.com/D79749
To enable Win32k lockdown, calls involving native theme will need to be
removed.
Currently these calls are scattered around several files. This class creates
a proxy for the Win32 calls. Whitelisting this class in awcw32ks makes it much
easier to track Win32k removal with themes removed.
As an added benefit, once non-native theming is done it will be easy to verify
by asserting that this class is never created in Content.
Differential Revision: https://phabricator.services.mozilla.com/D75946
Changes:
- stop using runtime information for the chunking process of web-platform-tests
- remove the wpt_group_translation workaround as it is no longer necessary
- simplify chunking process to iterate and assign test paths to chunks in order
Simply assigning test paths (stand-in for manifests in other suites) is now possible because other patches in the stack now prevent the web-platform-tests harness (when an external process handles the grouping) from loading all tests in a given path.
Differential Revision: https://phabricator.services.mozilla.com/D78321
Changes:
- if MOZHARNESS_TEST_PATHS is defined, write the contents of that directory to a JSON file.
- append `--run-by-dir` only if `--test-groups` flag is not set.
Differential Revision: https://phabricator.services.mozilla.com/D78820
Changes:
- add new environment variable `TESTS_BY_MANIFEST_URL` referencing the tests-by-manfiest.json.gz artifact generated by decision task.
- add new method `download_manifest` in mozharness/web_platform_tests.py to download the artifact, then remove non-web-platform-test manifests.
- the processed artifact is then saved as JSON file containing only web-platform-tests for downstream harnesses to use.
Differential Revision: https://phabricator.services.mozilla.com/D78318
Changes:
- when generating the `groups` in TestResolver for web-platform-tests, use the paths to the test files up to a maximum depth of 3 by default.
Differential Revision: https://phabricator.services.mozilla.com/D79355
This adds a --test-groups command line argument which points at a JSON file containing lists of tests divided into explicit groups like:
{"/dom": ["/dom/historical.html", ...],
"/dom/events/": [...]}
This is for situations where the division of tests into groups is
performed by an external process (in the case of gecko: by the
decision task).
Group names must be a path prefix, as this metadata is reused as the
test "scope" which is passed down into the output and can be used by
automatic metadata update for per-group properties like the LSAN allow
list.
--test-groups is incompatible with --run-by-dir but composes with
passing an explicit include list by running the intersection of the
supplied tests.
Differential Revision: https://phabricator.services.mozilla.com/D75175
There are various binaries that are included in test archives that are
necessary for artifact builds to be repackaged. Don't generate artifact build
variants of tasks without them.
Differential Revision: https://phabricator.services.mozilla.com/D79575
This deliberately excludes builds that are implemented using the artifact build machinery,
but are not primarly intended to short-circuit build time. In particular the Windows aarch64
builds are not marked this way.
Differential Revision: https://phabricator.services.mozilla.com/D79549
Similar to previous patch, this info is not set on functions with lazy
enclosing functions. Also, inline FunctionBox::setTypeForExposedFunctions
into its only caller.
Differential Revision: https://phabricator.services.mozilla.com/D79283
FieldInitializers is only defined for functions that have a compiled
enclosing script. We should avoid setting the value when it is not defined.
Update initFromLazyFunction so that fieldInitializers are only read for the
function being delazified. Fix XDR to not track fieldInitializers for lazy
functions with lazy parent functions by checking for exisitance of an
enclosingScope.
Also ensure fieldInitializers are set correctly when cloning scripts. In
practice, we delazify entire script tree before cloning but this is a footgun
none the less.
Differential Revision: https://phabricator.services.mozilla.com/D79282
This brings the `android-build` image very close to other build
images, paving the way for it to be folded in completely. It also
makes us more resilient in the face of upstream service interruptions.
Differential Revision: https://phabricator.services.mozilla.com/D78945
Changes:
- stop using runtime information for the chunking process of web-platform-tests
- remove the wpt_group_translation workaround as it is no longer necessary
- simplify chunking process to iterate and assign test paths to chunks in order
Simply assigning test paths (stand-in for manifests in other suites) is now possible because other patches in the stack now prevent the web-platform-tests harness (when an external process handles the grouping) from loading all tests in a given path.
Differential Revision: https://phabricator.services.mozilla.com/D78321
Changes:
- if MOZHARNESS_TEST_PATHS is defined, write the contents of that directory to a JSON file.
- append `--run-by-dir` only if `--test-groups` flag is not set.
Differential Revision: https://phabricator.services.mozilla.com/D78820
Changes:
- add new environment variable `TESTS_BY_MANIFEST_URL` referencing the tests-by-manfiest.json.gz artifact generated by decision task.
- add new method `download_manifest` in mozharness/web_platform_tests.py to download the artifact, then remove non-web-platform-test manifests.
- the processed artifact is then saved as JSON file containing only web-platform-tests for downstream harnesses to use.
Differential Revision: https://phabricator.services.mozilla.com/D78318
Changes:
- when generating the `groups` in TestResolver for web-platform-tests, use the paths to the test files up to a maximum depth of 3 by default.
Differential Revision: https://phabricator.services.mozilla.com/D79355
This adds a --test-groups command line argument which points at a JSON
file containing lists of tests divided into explicit groups like:
{"/dom": ["/dom/historical.html", ...],
"/dom/events/": [...]}
This is for situations where the division of tests into groups is
performed by an external process (in the case of gecko: by the
decision task).
Group names must be a path prefix, as this metadata is reused as the
test "scope" which is passed down into the output and can be used by
automatic metadata update for per-group properties like the LSAN allow
list.
--test-groups is incompatible with --run-by-dir but composes with
passing an explicit include list by running the intersection of the
supplied tests.
Differential Revision: https://phabricator.services.mozilla.com/D75175