This is technically web-exposed, but if we needed to introduce it for
compat we could always re-introduce it matching false.
Differential Revision: https://phabricator.services.mozilla.com/D186938
Previously, the client authentication certificate selection dialog could show
up unexpectedly. Because it was modal, it would prevent user interaction with
the browser. It could even get in a state where the dialog couldn't be
interacted with, and neither could anything else, so the entire browser would
be locked and the user would have to quit and restart.
This patch associates a top-level outer content window ID (called "browserId"
in networking code) with each NSSSocketControl. When a peer asks for a client
authentication certificate, the NSSSocketControl can use the ID to find the
relevant tab and open a tab-modal dialog, which allows other browser UI to be
interacted with.
Some loads cannot be associated with browser tabs, and so the implementation
falls back to opening a window-modal dialog on the most recently active window.
This is still better than the previous implementation, since the dialog is
connected to a window rather than being its own separate dialog.
Differential Revision: https://phabricator.services.mozilla.com/D183775
This was first designed to also positively impact
-ftrivial-auto-var-init by getting rid of the nsAutoCString buffer
initialization in favor of an std::string, but we ended up replacing the
initial std::string buffer by an nsAutoCString which should perform
better on small lines.
Differential Revision: https://phabricator.services.mozilla.com/D187032
By coupling the state of `signwidth` and `sign`, we provide enough
information to the compiler for it to get rid of an extra mov as a
result of `-ftrivial-auto-var-init`.
Differential Revision: https://phabricator.services.mozilla.com/D187047
ICU version 73 (bug 1824744) has [a change to call realpath][icu-2323]
rather than just readlink on `/etc/localtime`, meaning that it needs to
be able to readlink every directory involved in path resolution. In
particular, for a symlink into `/usr/share/zoneinfo`, this includes
`/usr`, which is blocked by the content sandbox policy.
Currently, the file broker requires `MAY_READ` permission to allow
readlink, so we grant that on `/usr` and `/nix` (there will be a
similar issue with symlinks to `/nix/store/...`). Note that this
applies only to those directories themselves, not files within them.
This also means that the process can open those directories for reading
(i.e., readdir), but that should be relatively low-impact compared to
the information that's already exposed.
[icu-2323]: https://github.com/unicode-org/icu/pull/2323
Differential Revision: https://phabricator.services.mozilla.com/D186584
This is designed to reduce time that we spend processing variants.
Adding a `mozinfo` variable to variants.yml allows for making it easier
to find the variable we use in manifests. I found in a few cases it was
difficult to find how we could `skip-if` a specific variant. Doing this
also reduces the lookups and longer list of if/elif statements to guess
mozinfo properly.
Differential Revision: https://phabricator.services.mozilla.com/D186663
This is technically web-exposed, but if we needed to introduce it for
compat we could always re-introduce it matching false.
Differential Revision: https://phabricator.services.mozilla.com/D186938
- Remove the use of pow when not needed.
- Use rust built in to_radians/to_degrees.
- Use more accurate white point values.
- Make the code clearer in places.
Differential Revision: https://phabricator.services.mozilla.com/D187029
[[ https://searchfox.org/mozilla-central/rev/da1e39f50ef43145623938141c970437b226da9e/dom/fetch/FetchService.cpp#591 | fetch() in Workers when network is offline would returns a NetworkError response]], but this error response is not propagated through PFetch.
Before FetchInstance is created in the parent process, any errors should be propagated to the Worker.
This patch modifies the FetchService::NetworkErrorResponse() method to propagate the error to worker when PFetch is used.
To propagate the error, additional parameter FetchArgs is needed for FetchService::NetworkErrorResponse().
Since the propagation would only work when the FetchArgs is a WorkerFetchArgs, it gets a default parameter with UnknownArgs for other cases.
Here using UnknownArgs since it can meet errors while generating other types FetchArgs.
Differential Revision: https://phabricator.services.mozilla.com/D186125