In Bug 1688300, we implemented that we emit markers when a Runnable
runs. But this has some performance consequences because we instanciate
the RAII even when the profiler doesn't run, even though we don't do
anything in it. Especially we're running TimeStamp::Now() which can be
slow on some platforms.
This patch avoids this by instanciating the RAII only when the profiler
runs.
Differential Revision: https://phabricator.services.mozilla.com/D168374
XPCNativeWrapper may be going away (bug 1481337). Stop defining it in the main environments and only define it
where necessary to discourage more uses.
This also helps to clarify the ESLint test environment globals.
Differential Revision: https://phabricator.services.mozilla.com/D168211
`mach cargo COMMAND` will run `cargo-COMMAND` using `cargo build`
arguments by default. However, it is possible to tune the arguments
using either command-line arguments, or a YAML file in `config/cargo/`.
A file `config/cargo/template.yaml` can be used to create a new
configuration for a new cargo sub-command.
Differential Revision: https://phabricator.services.mozilla.com/D166780
This requires https://github.com/firefox-devtools/profiler/pull/4432 to be
landed and deployed. We bump the profile version in this patch.
Afaik we never used the optimizations field of the frame table in the profiler
frontend and this pfield was null for more than 3 years (since Bug 1614622).
We don't have any plans to make use of it any time soon. It's good to cleanup
this field so it doesn't clutter the profile data and we can reduce the profile
data size.
Differential Revision: https://phabricator.services.mozilla.com/D167290
This patch adds an FAQ (Frequently Asked Questions) section to the mach try perf docs. It also does a small cleanup to move fxrecord into the `testing/performance` folder, re-organize the linting configuration file, fix file naming, and captializes the `mozperftest` and `fxrecord` title names in the side-bar. Lastly, it adds a warning to the `mozperftest` docs to direct people who make it there to the `mach try perf` page.
Differential Revision: https://phabricator.services.mozilla.com/D167555
We needed one nightly build that updates channel-prefs.js. Now that
it's done, and a watershed is in place, we can restore mar file
generation to its normal logic.
Differential Revision: https://phabricator.services.mozilla.com/D167036
This method always returned GetMainThreadSerialEventTarget(). This patch
switches all callers over to use that method instead.
We can't easily switch all calls to be calls to NS_GetMainThread(), as there is
no version of that method returning a bare nsIThread* instance.
I didn't introduce one, as we may want to add a lock around mMainThread in the
future, which would require removing nsThreadManager::GetMainThreadWeak. As
this method only returns nsISerialEventTarget, it method could remain
implemented, however, by returning a statically allocated fake event target
which forwards dispatches (and QIs to nsIThread) to the real main thread.
Differential Revision: https://phabricator.services.mozilla.com/D166608
This method always returned GetMainThreadSerialEventTarget(). This patch
switches all callers over to use that method instead.
We can't easily switch all calls to be calls to NS_GetMainThread(), as there is
no version of that method returning a bare nsIThread* instance.
I didn't introduce one, as we may want to add a lock around mMainThread in the
future, which would require removing nsThreadManager::GetMainThreadWeak. As
this method only returns nsISerialEventTarget, it method could remain
implemented, however, by returning a statically allocated fake event target
which forwards dispatches (and QIs to nsIThread) to the real main thread.
Differential Revision: https://phabricator.services.mozilla.com/D166608
Similar to Bug 1596845 - Implement new error page for DNS errors when DoH is enabled - this changes about:neterror to show an error page specific to DNS failures that would have previously been resolved by fallback to native resolution.
With the preference, network.trr.display_fallback_warning set (defaults to off), DNS resolution will now fail when the user is in trr mode 2 (trr first) and either of these occur:
- the TRR cannot be confirmed
- the canary network heuristic is tripped
The new custom error page will be shown for failures resulting from these conditions.
This offers the user more information about the failure, and the option to bypass this warning going forward.
As with Bug 1596845, this is experimental and will be further improved over time.
To see the error page, the user must first set the network.trr.display_fallback_warning preference.
They must then encounter one of the conditions (unable to confirm TRR or tripping the canary heuristic).
Preventing TRR confirmation can be done by modifying their local hosts file to map their regional TRR domain's to an invalid address.
Project plan: https://docs.google.com/document/d/12IGABt1eXI276qHduXXbVZqRFrhLN7Ad3gKEgxz81sE
Copy deck: https://docs.google.com/document/d/130UTox8bQbybjYIwvltR4qBg2hWjsGhuNUHypLwUAEQ
Depends on D165557
Differential Revision: https://phabricator.services.mozilla.com/D165558
The channel-prefs.js file is normally excluded from updates, both so QA
can edit it for testing, and to enable shipping release candidates to
the beta channel. However, that means any change to the file contents
we ship risk invalidating the package's signature for users with
preexisting installs. Such a change happened in bug 1576546, so we're
now forcing an update to the file on macOS to make sure users get the
current, correctly signed, contents.
Differential Revision: https://phabricator.services.mozilla.com/D166190