When passed the `--verbose` flag, `mach xpcshell-test` already prints the
current directory, environment variables, and command used for the test.
However, it prints them in Python syntax. This seems like a good thing to do, as
it's a clear indication of what the test is actually doing. But if one wants to
reproduce a problem by running the xpcshell command directly, it's an
error-prone pain to convert from Python lists of strings to the Bourne shell
syntax.
Fortunately, the Python 2.7 `pipes` module has a function, `pipes.quote`, which
produces properly quoted Unix shell commands, ready to be copied and pasted into
one's terminal.
Unfortunately, the xpcshell tests still clean up the $obj/temp/xpc-plugins-FOO
directory, so this still isn't quite ready to go.
Differential Revision: https://phabricator.services.mozilla.com/D10392
--HG--
extra : moz-landing-system : lando
In Bug 1453038, |mUpdateInterrupted| is set in Classifer::Close() which is
called by PreShutdown to abort an ongoing update. That doesn't handle
all the cases.
The SafeBrowsing update involves two threads, worker thread, and update
thread. Update thread takes care of most of the update work, when it finishes
its task, it posts a task back to the worker thread to apply the updated database
and also do some cleanup stuff. Then the update is complete.
The fix in Bug 1453038 doesn't abort an update if the woker thread is doing
the job. This is because the |mUpdateInterrupted| flag is set in the
worker thread. The PreShutdown event which eventually sets the flag has to
wait until the worker thread's current task is done.
In this patch:
1. Check nsUrlClassifierDBService::ShutdownHasStarted() to abort shutdown.
This is set by main thread so both worker thread and update thread can
be interrupted now.
2. mIsClosed is now replaced by the mUpdateInterrupted. The semantics of
mUpdateInterrupted is now changed to abort update for any internal APIs
which should cause an update to abort.
3. Remove |mUpdateInterrupted| and |ShutdownHasStarted()| checks and
unify with |ShouldAbort()|
Differential Revision: https://phabricator.services.mozilla.com/D12229
--HG--
extra : moz-landing-system : lando
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
This patch adds a toolchain task for building d8 with customized build settings and uses it in jsshell benchmark tests. A customized image with a debian9-base ('custom-v8') is added by this patch as well and is required to build the tool.
Differential Revision: https://phabricator.services.mozilla.com/D14019
--HG--
extra : moz-landing-system : lando
This will help getting rid of another usage of Target.form.
And also helps instantiating only one WebConsole client.
Once WebConsole becomes a front, we can replace all the target.activeTab
to target.getFront("console").
Differential Revision: https://phabricator.services.mozilla.com/D14278
--HG--
extra : moz-landing-system : lando
The assert was overzealous and should just be removed. Other return
addresses reported by iterator are just sampled by stack and don't
indicate if stack is synced or not.
Also, fix up an out-of-date comment here.
Differential Revision: https://phabricator.services.mozilla.com/D14108
--HG--
extra : moz-landing-system : lando
loadSubScript throws a string, without any stack/location.
Consider all string exceptions as coming from loadSubScript and re-throw a real error
object, coming with the stack of the require call.
Also handle wrong require path with a more explicit error message.
Differential Revision: https://phabricator.services.mozilla.com/D14139
--HG--
extra : moz-landing-system : lando
This method is only used by target-from-url, it allows to return
a target got one precise top level window and instead of the whole main process.
It looks like it was the very last non-front/still-form target codepath.
Differential Revision: https://phabricator.services.mozilla.com/D14841
--HG--
extra : moz-landing-system : lando
1-line fix to hero element timing: the performance entry would show up as 'undefined' in profiles because the variable was defined later.
Differential Revision: https://phabricator.services.mozilla.com/D14746
--HG--
extra : moz-landing-system : lando