Previously, the browser dialogTemplate contained role="dialog" and the Print modal body had no role.
This caused screen readers to extraneously report "dialog, Print grouping".
Dialogs presented with commonDialog.xhtml (e.g. using Services.prompt.alertBC) did have the dialog role on the body, so screen readers would report "dialog, {dialogTitle} dialog".
To fix this, remove role="dialog" from dialogTemplate.
Instead, SubDialog now sets role="dialog" on the dialog document when it loads.
Now, screen readers report just "Print dialog" and "{dialogTitle} dialog", respectively.
Differential Revision: https://phabricator.services.mozilla.com/D87977
Previously, IsFocusable returned true on elements in print preview documents, but the element wouldn't accept focus.
This meant that when you tried to tab, focus would get stuck on the document.
Now, IsFocusable returns false.
Thus, tab doesn't try to stop on these elements and can move out of the document.
Differential Revision: https://phabricator.services.mozilla.com/D88000
This change introduces a `getChildren` method to the IOUtils interface, which
returns an array of absolute paths pointing to the immediate children of a
directory.
This method should provide equivalent (though not the same) functionality to
iterating directory entries using a new `OS.File.DirectoryIterator`.
Differential Revision: https://phabricator.services.mozilla.com/D87875
IOUtils is meant to act as a drop-in replacement for OS.File. Previously,
IOUtils would block shutdown at the XPCOMWillShutDown phase to allow pending
I/O tasks to finish, however, OS.File blocks for the same reason during the
ProfileBeforeChange phase.
To make IOUtils directly compatible with OS.File, we now match this behaviour.
Differential Revision: https://phabricator.services.mozilla.com/D87511
This change introduces two new methods to the IOUtils interface:
1. `readUTF8` will read an entire file as an UTF-8 encoded text
2. `writeAtomicUTF8` will encode a provided DOMString to UTF-8 and write it
to file
Differential Revision: https://phabricator.services.mozilla.com/D87020
This changes fixes some failing extension tests on unixes. These failures were
caused by a mismatch in time precision used by nsIFile and OS.File's
implementations.
The fixes are as follows:
1. Use IOUtils (the C++ port of OS.File) methods where possible.
2. Update the OS.File.setDates implementation to use a higher time precision
when setDates is called. Eventually, all calls to OS.File.setDates will
be replaced by IOUtils.touch.
Differential Revision: https://phabricator.services.mozilla.com/D86831
This change updates the unix implementation of nsLocalFile
Set/GetLastModifiedTime methods to improve the precision of file modification
times from a 1 second resolution to a 1 millisecond resolution.
Differential Revision: https://phabricator.services.mozilla.com/D86238
This patch introduces a touch method to the IOUtils method, which allows
callers to update the modification time for a file on disk.
Differential Revision: https://phabricator.services.mozilla.com/D86832
This change makes eslint aware of the global IOUtils interface, such that it
may be used without having to access it from the window or otherwise declaring
the global in a special comment on a file-by-file basis.
Differential Revision: https://phabricator.services.mozilla.com/D87612
This adds toolchain definitions for clang 11.0.0 rc2, so that developers can get a sneak peek, but nothing in automation uses these tasks yet. We'll make the switch in a later patch.
NB: most of `clang.yml` is rote copy-paste, except for `macosx64-clang-11` which makes a deliberate departure, described in a comment.
Differential Revision: https://phabricator.services.mozilla.com/D88189
Also reflects the move from CraneStation to the WebAssembly account. And we need a small tweak to the build script to accommodate one of the changes that got picked up along the way.
Differential Revision: https://phabricator.services.mozilla.com/D88187
This isn't necessary any more, since we now attach StreamFilters directly to the 'real' channel when we replace DocumentChannel.
Differential Revision: https://phabricator.services.mozilla.com/D83594
"Validate" bools to guarantee they always (de)serialize to proper values. Require that all enums use EnumSerializer or their own special handlers.
Differential Revision: https://phabricator.services.mozilla.com/D87367
CanSend() is called (in ChannelSend()) by SendFoo() IPDL calls to prevent calling Send() on a dead actor but shmem creation uses a different code path to Send() -- one that does not use ChannelSend. This adds the guard to shmem allocation as well.
Differential Revision: https://phabricator.services.mozilla.com/D87357
Using the Shmem after our actor has lost IPC capability (say, because the other endpoint crashed) will cause the content process to also crash. ActorDestroy is where we detect that condition.
Differential Revision: https://phabricator.services.mozilla.com/D87352
On some platforms re-creating the `virtualenv`s can be very time-consuming so we'd like to avoid deleting these `virtualenv`s unnecessarily.
Preserve the existing behavior behind a `-f` flag in case unconditionally wiping the `virtualenv`s is what's needed for any reason.
Differential Revision: https://phabricator.services.mozilla.com/D87668
This avoids a set of intermittent issues related to `zstd` decompression failures, which in the absence of these changes break the entire build.
This also requires [updating an environment variable](https://github.com/mozilla/sccache/pull/822), which we do in `client.mk` as well as documentation.
Differential Revision: https://phabricator.services.mozilla.com/D88184
This is needed since updating the function name will soon be fallible which
is not allowed in UpdateEmittedInnerFunctions. Move the name updates to the
same place that ObjectGroup updates happen which suffer the same OOM issue.
If an OOM occurs here during delazification, the next attempt at recompile
will compute the same name. Applying the name update early is not a problem
and is what the frontend previously did before stencil.
Differential Revision: https://phabricator.services.mozilla.com/D88174