Firefox uses different shutdown timeouts for the terminator thread
depending on the build type. For opt/debug builds this will be 60s,
while for ASAN builds 180s are used.
Currently Marionette only takes the 60s into account, and always
kills the binary after 70s if a shutdown hasn't happened by that
time. This actually prevents the background hang monitor to kill
Firefox for ASAN builds, and to report a meaningful crash report
for the shutdown hang.
To inform clients about the correct shutdown timeout, a new vendor
specific capability with the name `moz:shutdownTimeout` is used as
part of the new session capabilities.
Depends on D9227
Differential Revision: https://phabricator.services.mozilla.com/D9228
--HG--
extra : moz-landing-system : lando
The caches weren't being invalidated when the manifest itself
changed. To fix this the manifest itself has to be written before the
cache and the cache has to include data about the manifest that it's
associated with (the mtime and path are used for this purpose).
To make all this work requires a single method that can load the
manifest, update it, write the manifest and write the
caches. Therefore we introduce a single load_and_update method that is
intended to replace all previous use of the load() or update() methods
(and as a bonus handles manifest version mismatches in a single
place).
Depends on D8227
Differential Revision: https://phabricator.services.mozilla.com/D8228
--HG--
extra : moz-landing-system : lando
Compared to the normal os.walk this has a couple of differences:
* It returns lists of (name, stat) for filenames and directories,
allowing callers to reuse the stat data without going back to the
system to re-request it.
* Directories are always returned as paths relative to the root, and
the root itself is returned as the empty string.
* It is non-recursive.
There are also a few features missing that aren't required for our use
cases.
Depends on D8226
Differential Revision: https://phabricator.services.mozilla.com/D8227
--HG--
extra : moz-landing-system : lando
When processing the manifest using the worktree, instead of reading
all files to see if the content changed, instead only process files where
the mtime has been updated since the previous run. Also cache the
result of running gitignore, so we can save a couple of seconds
processing the gitignore rules.
Depends on D8225
Differential Revision: https://phabricator.services.mozilla.com/D8226
--HG--
extra : moz-landing-system : lando
This updates the gitignore implemenation to take input like os.walk
but with additional stat data for the files. It also makes several
useful optimistaions:
* Avoid using regex when just matching a literal
* Identify patterns that can only match the final component of a path
and run those against that component rather than the full path.
* Add the possibility of providing a dictionary of paths to gitignore
statuses as a cache.
This dramatically reduces the amount of time we spend in gitignore
processing when updating the manifest.
Depends on D8223
Differential Revision: https://phabricator.services.mozilla.com/D8224
--HG--
extra : moz-landing-system : lando
We end up with a lot of rules like (?:.*)/.*\.ext which are basically
trying to find the last component in a path and match against
that. These are rather slow to run so the easiest thing tdo is just
pass in the last component of the path when we know that's the only
thing the rule can match.
The changes to surrounding code to use this API will be made in future
commits.
Depends on D8222
Differential Revision: https://phabricator.services.mozilla.com/D8223
--HG--
extra : moz-landing-system : lando
- Removed common.css
- Re-ordered the loading of stylesheets, so components sheets are loaded _after_ the more generic rules
- Refactored some of our components into more generic ones.
Note that a few styles do not match exactly `common.css` (for instance, buttons' `min-height` and `min-width`), in favor of Photon. This might change later depending on the UX guidance we'll get eventually.
Differential Revision: https://phabricator.services.mozilla.com/D8970
--HG--
rename : devtools/client/aboutdebugging-new/aboutdebugging.css => devtools/client/aboutdebugging-new/src/base.css
extra : moz-landing-system : lando
This patch addresses a bug introduced in the solution to Bug 356831, in which
the back-off time for reloading PAC files was set to the shortest interval every time a failure happened, thus auto-detecting PAC every 5 seconds
on a network on which WPAD did not resolve when the proxy was set to auto-detect.
The changes in this patch are:
* nsPACMan.h - declares a private overload to LoadPACFromURI, with an
additional parameter called aResetLoadFailureCount.
* nsPACMan.cpp - moves the implementation of the old LoadPACFromURI to the new
private overload, with the modification that the mLoadFailureCount field
is only reset to 0 if aResetLoadFailureCount is true. Replaces the
implementation of the public LoadPACFromURI with a call to the private overload
with aResetLoadFailureCount = true. Also replaces the call made from within
nsPACMan when triggering an internal reload with a call with
aResetLoadFailureCount = false, thus ensuring that internally triggered reloads
do not reset the back-off time.
Differential Revision: https://phabricator.services.mozilla.com/D9035
--HG--
extra : moz-landing-system : lando
The successor of a tab is similar to the owner of a tab, in that if an active
tab is closed, the successor will be activated next. The differences are that
successor always defaults to being unset (an extension can set it through a
not-yet-implemented API), whereas tabbrowser sets owner to be the opener of
background tabs; successor is always consulted when an active tab is closed,
whereas the use of owner is gated by a pref; and when a tab is closed, hidden,
or moved to another window, any tabs whose successor is the affected tab
inherit that tab's successor, whereas in the parallel situation with owners,
the owner of such tabs is simply set to null.
Differential Revision: https://phabricator.services.mozilla.com/D4731
--HG--
extra : moz-landing-system : lando
Support ctrl-n and ctrl-p for navigating down and up (respectively) in the url
bar on macOS. The autocomplete widget will also support the same key bindings.
This functionality matches ctrl-n/ctrl-p behavior on the other major macOS
browsers.
Differential Revision: https://phabricator.services.mozilla.com/D6451
--HG--
extra : moz-landing-system : lando
Doing this avoid loading the addons panel and doing its related requests,
which may still be pending after closing about:debugging.
MozReview-Commit-ID: LJjaE5YVgXi
Depends on D8867
Differential Revision: https://phabricator.services.mozilla.com/D8868
--HG--
extra : moz-landing-system : lando
Opening about:debugging may lead to pending listAddons requests.
Tests that open about:debugging should be careful to wait for the end
of these requests, which this test doesn't do.
MozReview-Commit-ID: 6YyfdW78kOS
Depends on D8828
Differential Revision: https://phabricator.services.mozilla.com/D8867
--HG--
extra : moz-landing-system : lando
Sometimes, when cells have display:block, and a different cell in the same row has a column span, our index methods did not take these into account. Also, when regular tables encounter such a cell, index calculation failed.
Differential Revision: https://phabricator.services.mozilla.com/D7867
--HG--
extra : moz-landing-system : lando
hud.owner can be null in some condition, so we
need to guard the access to hud.owner.target.
Differential Revision: https://phabricator.services.mozilla.com/D9069
--HG--
extra : moz-landing-system : lando
The test is failing because the result of the last
evaluation is received before we expect it. Since we
had a 500ms delay between each promise resolution, it
might happen than the time it takes to execute the
command execedes this delay, making our expected message
order wrong.
Increasing the delay between each Promise resolution seems
to resolve the issue, although it makes the test a lot longer too.
This is why a new test was created to only cover the concurrent
await case.
Differential Revision: https://phabricator.services.mozilla.com/D8698
--HG--
rename : devtools/client/webconsole/test/mochitest/browser_jsterm_await.js => devtools/client/webconsole/test/mochitest/browser_jsterm_await_concurrent.js
extra : moz-landing-system : lando
with the new interpolation rules; r?hiro
The updated tests are intended to cover percent translation when using matrix
decomposition but after introducing the new interpolation rules the initial
rotate() functions will match so the result will differ. This patch updates the
test values so that the result will not change even after introducing the new
interpolation rules.
Depends on D9183
Differential Revision: https://phabricator.services.mozilla.com/D9184
--HG--
extra : moz-landing-system : lando
Show that an Extension is controlling the default notifications permission
Differential Revision: https://phabricator.services.mozilla.com/D5042
--HG--
extra : moz-landing-system : lando
There is no advantage in making these methods more restrictive on their
parameters than AssignLiteral.
The current implementation of the AppendLiteral overloads for equivalent
char_types is more permissive than AssignLiteral, but comments in the
implementation mention the possible optimization used in AssignLiteral and so
are assuming a similar constant and static storage duration restriction on its
parameter. The optimization may never be implemented, but clients that would
benefit from support for non-constant or non-static parameters are also
expected to be rare, so there is little value in ruling out the optimization
at this stage.
ReplaceLiteral currently uses the AssignLiteral optimization.
Differential Revision: https://phabricator.services.mozilla.com/D8777
--HG--
extra : moz-landing-system : lando
A character array initialized with a list of character literals will not
necessarily have a trailing null-terminator required for AssignLiteral or
trimmed in EqualsLiteral.
Depends on D8775
Differential Revision: https://phabricator.services.mozilla.com/D8951
--HG--
extra : moz-landing-system : lando