Creates base classes for providers and muxers. All the classes are exposed
by UrlbarUtils, for 2 reasons:
1. UrlbarProvidersManager on instantiation is importing provider modules, that
may reimport the manager module. Exposing classes from it could cause a
recursive failure.
2. It's nicer if only one of the urlbar modules exports multiple symbols (thus
moving the QueryContext class here too)
Differential Revision: https://phabricator.services.mozilla.com/D14760
--HG--
extra : moz-landing-system : lando
Before this change, testing/awsy had 94 errors and testing/geckodriver had 17. The errors have been resolved
Differential Revision: https://phabricator.services.mozilla.com/D14712
--HG--
extra : moz-landing-system : lando
Eventually, workers will provide these variables directly
(https://bugzilla.mozilla.org/show_bug.cgi?id=1460015). But for now, this
ensures that TASKCLUSTER_ROOT_URL is set everywhere, and TASKCLUSTER_PROXY_URL
is set wherever the proxy is active.
The setup for the mach commands defaults to https://taskcluster.net for user
convenience. When the production instance's URL changes, we can simply change
that default.
This changes the docker build process to propagate TASKCLUSTER_ROOT_URL into
the docker images, and for good measure includes some code to use that value to
generate debian repo paths.
Differential Revision: https://phabricator.services.mozilla.com/D14196
--HG--
extra : moz-landing-system : lando
MozPromise most common use is to have an single or exclusive listener. By making the MozPromise generated by IPDL exclusive we can also use move semantics.
While at it, we also use move semantics for the ResponseRejectReason and via the callback's reject method so that the lambda used with the MozPromise::Then can be identical to the one used by the IPDL callback.
As it currently is, it provides no advantage over a copy as it's just an enum; however, this will facilitate future changes where it may not be.
Differential Revision: https://phabricator.services.mozilla.com/D13906
--HG--
extra : moz-landing-system : lando
We already have a fallback for items that aren't in a worker scope, we should have the same for ones that are. This means we don't need single maps (foo.js -> foo) in modules.json, and also we can identify more as explicit variables, so that no-unused-vars can detect them.
Differential Revision: https://phabricator.services.mozilla.com/D13299
--HG--
extra : moz-landing-system : lando
At this point, we've freshly allocated data for the generated JSON.
There's no need to copy it into a separate nsCString; we can simply
adopt the generated JSON into the nsCString, saving a copy.
We already have a fallback for items that aren't in a worker scope, we should have the same for ones that are. This means we don't need single maps (foo.js -> foo) in modules.json, and also we can identify more as explicit variables, so that no-unused-vars can detect them.
Differential Revision: https://phabricator.services.mozilla.com/D13299
--HG--
extra : moz-landing-system : lando
The following python-test paths are being moved out of 'make check' and into their own task:
- python/mozlint
- testing/mozbase
- tools/lint
The following python-test paths previously did not run on Windows:
- python/mozterm
- testing/marionette
- testing/raptor
- tools/tryselect
Differential Revision: https://phabricator.services.mozilla.com/D10759
--HG--
extra : moz-landing-system : lando
This is a best effort attempt at ensuring that the adverse impact of
reformatting the entire tree over the comments would be minimal. I've used a
combination of strategies including disabling of formatting, some manual
formatting and some changes to formatting to work around some clang-format
limitations.
Differential Revision: https://phabricator.services.mozilla.com/D13371
--HG--
extra : moz-landing-system : lando
Normally eslint handles its own file exclusions, but there are still some
globally excluded paths that |mach lint| passes in (e.g objdirs and things in
ThirdPartyPaths.txt).
This makes sure that if they show up in the 'config', we handle them.
Differential Revision: https://phabricator.services.mozilla.com/D12712
--HG--
extra : moz-landing-system : lando
We can directly set environment variables for the child process on
all platforms now, instead of changing the parent's environment and
inheriting the changes. This simplifies memory management, but more
importantly it's necessary for thread safety to allow launching
processes from a thread pool.
Depends on D8944
Differential Revision: https://phabricator.services.mozilla.com/D8945
--HG--
extra : moz-landing-system : lando
Normally eslint handles its own file exclusions, but there are still some
globally excluded paths that |mach lint| passes in (e.g objdirs and things in
ThirdPartyPaths.txt).
This makes sure that if they show up in the 'config', we handle them.
Differential Revision: https://phabricator.services.mozilla.com/D12712
--HG--
extra : moz-landing-system : lando
Currently selectors that generate the taskgraph receive a list of task labels
back. While this works, it isn't very robust and limits the selectors in what
they can accomplish.
For example, it means we need to use regexes to map test suites to tasks. If
we had the full taskgraph, we could use filter functions instead.
There are also new selectors in the works which will need this (like ./mach
try chooser). Finally the try syntax selector would also need this if we
ever migrate it to use the 'try_task_config.json' format.
Differential Revision: https://phabricator.services.mozilla.com/D12570
--HG--
extra : moz-landing-system : lando
This patch creates a new list of privileged globals, based on the webidl bindings. The list of jsm globals is reduced to only the ones specially extended to that scope.
The privileged globals are enabled everywhere for the time being - although we likely could limit scopes, doing so is difficult with our current mozilla-central layout and configuration settings.
Differential Revision: https://phabricator.services.mozilla.com/D12302
--HG--
extra : moz-landing-system : lando
So that dmd.py isn't broken by function names that, after stack fixing, contain
escape-worthy chars such as " and /.
--HG--
extra : rebase_source : 625cef56e4599bbb810273ef04af2b971e777b58
Given the differences already between upstream and this fork, I expect the pros of additional static analysis would out-weigh the cons.
Depends on D12508
Differential Revision: https://phabricator.services.mozilla.com/D12509
--HG--
extra : moz-landing-system : lando
The ipc/chromium tree has been forked from its former upstream and
heavily modified, so it's safe to reformat and lint.
However, ipc/chromium/src/third_party (a copy of libevent) is following
its upstream, so that should remain exempt.
Differential Revision: https://phabricator.services.mozilla.com/D12498
--HG--
extra : moz-landing-system : lando
(Unless there were other profiler actions, as I'm not sure yet whether it would
be safe to skip them when the profiler is paused; another bug should
investigate that.)
Differential Revision: https://phabricator.services.mozilla.com/D11308
--HG--
extra : moz-landing-system : lando
profiler_thread_is_being_profiled() checks if the profiler is active (quick
inline atomic check) and if the current thread is being profiled (function call
doing a TLS-atomic check).
This may be used instead of profiler_is_active() for thread-specific recordings
(e.g.: markers).
Differential Revision: https://phabricator.services.mozilla.com/D11307
--HG--
extra : moz-landing-system : lando
RacyRegisteredThread::IsBeingProfiled() is only true when the thread is being
actively profiled, i.e., it is in the selected-thread list and the profiler is
active (modulo racy accesses when starting/stopping the profiler, i.e., don't
rely on it if accurate concurrency is required).
Differential Revision: https://phabricator.services.mozilla.com/D11304
--HG--
extra : moz-landing-system : lando
Move JSON dump loading and CanonicalJSON serialization to a worker to reduce impact on main thread
Differential Revision: https://phabricator.services.mozilla.com/D10064
--HG--
extra : moz-landing-system : lando
Add a new class to extract tracelogger data using chunked buffers and use this to write the data out to the profiler JSON output. Copying the data in chunks lets us minimize our memory overhead when writing out to the profiler so a large array of millions of elements does not need to be allocated ahead of time.
Differential Revision: https://phabricator.services.mozilla.com/D11791
--HG--
extra : moz-landing-system : lando
Now that `mach try release` also supports simulating release and esr, rename
the option to `release-sim`.
Differential Revision: https://phabricator.services.mozilla.com/D11516
--HG--
extra : moz-landing-system : lando
Eventually, workers will provide these variables directly
(https://bugzilla.mozilla.org/show_bug.cgi?id=1460015). But for now, this
ensures that TASKCLUSTER_ROOT_URL is set everywhere, and TASKCLUSTER_PROXY_URL
is set wherever the proxy is active.
The setup for the mach commands defaults to https://taskcluster.net for user
convenience. When the production instance's URL changes, we can simply change
that default.
This changes the docker build process propagate TASKCLUSTER_ROOT_URL into the
docker images where necessary (using %ARG), specifically to create URLs for
debian repo paths.
--HG--
extra : rebase_source : 0626ebdb66a9f4078cb75ab71be256c334297363