As in bug 1596967, I found that, on the emulator, the check for directory existence
infrequently indicates that a recently created directory does not exist. The following
push() will then adjust its destination directory and push to the wrong location;
without a properly installed profile, geckoview crashes. Let's simplify this sequence
by not creating the directory beforehand and letting the push() create it. The profile
directory is a direct child of the test directory -- no need to create parents either.
Differential Revision: https://phabricator.services.mozilla.com/D56789
--HG--
extra : moz-landing-system : lando
We've long handled chunks by defining the total number of chunks in our CI
configuration, and then passing that value down into the test harnesses at task
runtime (via the '--this-chunk' and '--total-chunks' parameters). The test
harness then runs an algorithm to determine which tests should be run in "this"
chunk.
There are several problems with this approach, but by far the biggest is that
we can't use test information in our scheduling algorithms. The information
simply isn't available yet. This patch switches things around such that we
determine which tests go in which tasks during the taskgraph generation. This
means we have perfect information around which tasks are running which tests,
and if e.g a ccov or machine learning algorithm deems a particular test
important, we can make sure to *only* schedule the tasks that contain that
test.
I'm planning to enable this a couple suites at a time so we don't accidentally
stop running tests. This specifically only enables this mode for
'mochitest-media', 'mochitest-browser-chrome' and 'mochitest-devtools-chrome'.
I chose these suites because they are the ones that are already using the
'chunk_by_runtime' algorithm.
Differential Revision: https://phabricator.services.mozilla.com/D52729
--HG--
extra : moz-landing-system : lando
This accessor was only meaningful for lazy scripts so we should remove it.
Various accessors will internally check for this and external consumers
shouldn't use this to make decisions.
Depends on D56726
Differential Revision: https://phabricator.services.mozilla.com/D56787
--HG--
extra : moz-landing-system : lando
This method is now only called for scripts that have a defined
enclosingScope. We first check the warmUpData for the scope (which covers the
lazy case) and then check the outermostScope (which covers the compiled
script case). This new definition no longer needs to check function flags.
Differential Revision: https://phabricator.services.mozilla.com/D56725
--HG--
extra : moz-landing-system : lando
This method was accessing enclosingScope() of lazy-inner-functions which
don't have one defined (other than a placeholder nullptr).
This also simplifies FunctionBox::compilationEnclosingScope() since it is
only used for FunctionBox that are currently being compiled and therefore are
required to have an enclosingScope.
Differential Revision: https://phabricator.services.mozilla.com/D56724
--HG--
extra : moz-landing-system : lando
When creating a FunctionBox for a skipped-over-lazy function we do not yet
know it's enclosing scope. Remove calls to initWithEnclosingScope for this
case. This avoids asking for the enclosingScope() of a function that doesn't
have one yet.
Also remove an assert from the BytecodeEmitter that was using partially
initialized flags. The condition was previously checked when the
LazyScript::NeedsHomeObject flag was initialized.
Differential Revision: https://phabricator.services.mozilla.com/D56723
--HG--
extra : moz-landing-system : lando
This is part 5 of a series of revs that split up D41710 (to implement the Wasm I64 to BigInt conversion proposal) into smaller revs.
The rev adds support for handling globals with I64 types in the Wasm to JS interface.
Differential Revision: https://phabricator.services.mozilla.com/D55901
--HG--
extra : moz-landing-system : lando
Changes:
Use ubuntu1804-test image instead of desktop1604-test for webrender(wrench) tasks.
Differential Revision: https://phabricator.services.mozilla.com/D56675
--HG--
extra : moz-landing-system : lando
This patch adds DefaultURI which wraps MozURL which in turn forwards calls
to rust-url.
For the moment the added network.url.useDefaultURI is set to false by default.
The plan is to make this the default implementation for unknown URI types.
Differential Revision: https://phabricator.services.mozilla.com/D54748
--HG--
extra : moz-landing-system : lando
Changes:
Migrate the harness test jobs to use ubuntu1804 test image instead of desktop1604-test.
Differential Revision: https://phabricator.services.mozilla.com/D56578
--HG--
extra : moz-landing-system : lando
The UA input field gets caught off when the browser viewport is too small. This is because the RDM toolbar has an explicit height of 30px set on it, so it can't accomodate the second row created for the UA input.
Differential Revision: https://phabricator.services.mozilla.com/D56783
--HG--
extra : moz-landing-system : lando
The line-box's visual overflow area includes margin/border/padding area on
its descendants, as well as extra empty space for text-indent and text-align.
None of that area contains text & merits a backplate. So, we can't rely on
the line-box's visual overflow area to determine the backplate -- we have to
actually dig down to find the text frames.
Also, this patch simplifies our suite of backplate reftests in several ways.
Most notably, this patch:
- removes unnecessary backplatable whitespace in the testcase (since that's
awkward to mock up in the reference case).
- uses a linear-gradient for the background instead of a longer data URI.
- uses the predictably-sized Ahem font inside of tests' form controls.
Differential Revision: https://phabricator.services.mozilla.com/D52065
--HG--
extra : moz-landing-system : lando
Make the $PYTHON3 build var point to a full virtualenv bootstrapped with
the same libraries as the $PYTHON Python 2 build var. This allows us to
upgrade build tasks from $PYTHON to $PYTHON3.
This patch adds some debug logging and documentation to the Python
2 virtualenv so that it is easier to diagnose issues that may arise
from running two different Python interpreters in re-entrant
multiprocess routines.
Differential Revision: https://phabricator.services.mozilla.com/D50819
--HG--
extra : moz-landing-system : lando
Spec change brief:
A request-body-header name is a header name that is a byte-case-insensitive match for one of:
- Content-Encoding
- Content-Language
- Content-Location
- Content-Type
If one of the following is true
1. actualResponse ’s status is 301 or 302 and request ’s method is POST
1. actualResponse ’s status is 303 and request ’s method is not GET or HEAD
then set then:
1. Set request ’s method to GET and request ’s body to null.
1. For each headerName of request-body-header name , delete headerName from request ’s header list .
Differential Revision: https://phabricator.services.mozilla.com/D55887
--HG--
extra : moz-landing-system : lando
Depends on D55829
In case other rejects are still using strings instead of error objects.
Differential Revision: https://phabricator.services.mozilla.com/D55830
--HG--
extra : moz-landing-system : lando
Bug 1434405 : Removed unnecessary if-else clauses related to |blockDownloads|
Differential Revision: https://phabricator.services.mozilla.com/D56429
--HG--
extra : moz-landing-system : lando
Bug 1267643 changed how gecko finds client certificates to offer to the user to
use. This change was too permissive, so we reintroduced some filtering in bug
1590888 and bug 1592532. All of these changes together were too restrictive and
filtered out CA certificates, which some users evidently use as client
certificates. This bug removes the restriction that client certificates not be
CA certificates and hopefully arrives at pre-bug 1267643 behavior.
Differential Revision: https://phabricator.services.mozilla.com/D56618
--HG--
extra : moz-landing-system : lando
Now that we have Rust PGO, training on this set can actually make a difference (and in fact may be needed in order to see a difference from Rust PGO at all).
Differential Revision: https://phabricator.services.mozilla.com/D56751
--HG--
extra : moz-landing-system : lando
The line-box's visual overflow area includes margin/border/padding area on
its descendants, as well as extra empty space for text-indent and text-align.
None of that area contains text & merits a backplate. So, we can't rely on
the line-box's visual overflow area to determine the backplate -- we have to
actually dig down to find the text frames.
Also, this patch simplifies our suite of backplate reftests in several ways.
Most notably, this patch:
- removes unnecessary backplatable whitespace in the testcase (since that's
awkward to mock up in the reference case).
- uses a linear-gradient for the background instead of a longer data URI.
- uses the predictably-sized Ahem font inside of tests' form controls.
Differential Revision: https://phabricator.services.mozilla.com/D52065
--HG--
extra : moz-landing-system : lando
This change adds the 'alwaysontop' features to the window created for FxR on PC. This is done to address issues where scrolling and entering fullscreen require the window to either be visible or have focus. While this does not fully solve the problem, it significantly reduces its likelihood for a small cost.
Differential Revision: https://phabricator.services.mozilla.com/D56648
--HG--
extra : moz-landing-system : lando