The commit also adds a missing StaticPrefs_dom.h include for APZEventState.cpp.
Differential Revision: https://phabricator.services.mozilla.com/D41915
--HG--
extra : moz-landing-system : lando
Since the filtered-backdrop is 1:1 with the backdrop, we don't want any snap offsets to shift the contents
Differential Revision: https://phabricator.services.mozilla.com/D42042
--HG--
extra : moz-landing-system : lando
This change will bring us on par with what Chrome does. However, if the author makes an error in applying a landmark role to an interactive element, or other element where the landmark role is illegal, as defined in the [WAI-ARIA in HTML specification section 2](https://www.w3.org/TR/html-aria/#document-conformance-requirements-for-use-of-aria-attributes-in-html), the accessible properties will now be that of the landmark role, no longer that of the native host language element. This might make some elements less accessible due to author error than before, but we currently do not know of examples in the wild that actually expose this problem. This could only be solved by applying the rules from said table also in the user agents, but that is not specified anywhere.
Differential Revision: https://phabricator.services.mozilla.com/D41923
--HG--
extra : moz-landing-system : lando
Actually, compiler outputs the following warning for android build.
```
35:44.69 warning: netwerk/protocol/http/nsHttpHandler.cpp:165:12 [-Wreturn-std-move] local variable 'deviceString' will be copied despite being returned by name
35:44.69 warning: netwerk/protocol/http/nsHttpHandler.cpp:167:10 [-Wreturn-std-move] local variable 'deviceModelId' will be copied despite being returned by name
```
We should use std::move to fix this.
Differential Revision: https://phabricator.services.mozilla.com/D41327
--HG--
extra : moz-landing-system : lando
For a better symmetry between the multicol-breaking tests and their no
background variants, this patch adds a nobackground test for
multicol-breaking-004.html. This tests the same things as
multicol-breaking-004.html, but with two things removed: outer column's
blue column-rules and inner columns' background.
Differential Revision: https://phabricator.services.mozilla.com/D41903
--HG--
extra : moz-landing-system : lando
Actually, we use clang for all Linux and Android platform, so it is no reason to use frame pointer based stack walker for LUL on Android/x86 and Android/x86-64 if no DWARF rule.
Differential Revision: https://phabricator.services.mozilla.com/D41320
--HG--
extra : moz-landing-system : lando
The fixed still worked because we get another SetBounds call right after with the same bounds. But it does mean we are doing some useless invalidation.
Differential Revision: https://phabricator.services.mozilla.com/D42059
--HG--
extra : moz-landing-system : lando
`SyncedBookmarksMirror::merge` is racy: the storage thread might finish
merging before it gets the cancellation signal. However, `apply` also
notifies observers and fetches records, which happen after we've
aborted our JS controller. Even if the Rust op isn't canceled in time,
we should still abort the remaining operations.
Differential Revision: https://phabricator.services.mozilla.com/D42065
--HG--
extra : moz-landing-system : lando
The patch also indents some comments within conditional blocks, which improves
readability.
Differential Revision: https://phabricator.services.mozilla.com/D41303
--HG--
extra : moz-landing-system : lando
Running with -silent does not result in the quit application granted notification.
Without that notification, we have a deadlock in EnvironmentAddonBuilder where it blocks
beforeShutdown waiting on the XPIDatabase to load.
Differential Revision: https://phabricator.services.mozilla.com/D41877
--HG--
extra : moz-landing-system : lando
* Tweak headers to add title and WPT meta tags.
* Simplify text content and use the Ahem font to avoid "random" result.
* Remove dir-11 since it has already been exported to
mathml/relations/css-styling/dynamic-dir-1.html by @bkardell
* Move dir-10 to mathml/presentation-markup/direction/direction-010.html
* Move dir-9 to mathml/presentation-markup/direction/direction-009.html
and add a .ini file for the corresponding failure expectation (bug 787215).
* Move dir-8 to mathml/presentation-markup/direction/direction-008.html
and add a .ini file for the corresponding failure expectation.
* Move dir-7 to mathml/presentation-markup/direction/direction-007.html
* Move dir-6 to mathml/presentation-markup/direction/direction-006.html
Differential Revision: https://phabricator.services.mozilla.com/D41922
--HG--
rename : layout/reftests/mathml/dir-6-ref.html => testing/web-platform/tests/mathml/presentation-markup/direction/direction-006-ref.html
extra : moz-landing-system : lando
Also refactor SharedMemoryBasic::SystemProtect to allow testing cases
that are expected to fail.
Depends on D26748
Differential Revision: https://phabricator.services.mozilla.com/D26749
--HG--
rename : ipc/moz.build => ipc/gtest/moz.build
extra : moz-landing-system : lando
If mmap failed, we'd leave the memory_ member variable set to MAP_FAILED,
but everything else in this file checks for nullptr (and only nullptr) to
test if the pointer is valid.
Also, this removes the debug assertion that the mmap succeeded, to allow
writing unit tests where we expect it to fail (e.g., for insufficient
permissions).
Depends on D26747
Differential Revision: https://phabricator.services.mozilla.com/D26748
--HG--
extra : moz-landing-system : lando
With the removal of the old Chromium file_util code, we should no longer
be using temporary files with names starting with "org.chromium.", so the
crash reporter and main thread I/O test no longer need to recognize that
prefix.
Differential Revision: https://phabricator.services.mozilla.com/D34629
--HG--
extra : moz-landing-system : lando
There was a strange bug when converting SharedStringMap to use shared
memory: on Android, some tests would fail because a pref wasn't set or
there was something wrong with an expected error message. The root
cause was that mapping ashmem with MAP_PRIVATE results in all zeroes
(see bug 1525803), but that was read as a valid SharedStringMap with
length 0.
To prevent any possible future issues like that, this patch adds a
nonzero magic number to the header. It fits into padding on 64-bit and
the cost of setting and checking it should be essentially free.
Depends on D26744
Differential Revision: https://phabricator.services.mozilla.com/D26745
--HG--
extra : moz-landing-system : lando
One problem with using shared memory instead of files for MemMapSnapshot
is that AutoMemMap was trying to use fstat() to obtain the object size;
that doesn't work with ashmem on Android and was causing problems with
the Mac sandbox, but it's not necessary, because we already know the
size. This patch changes it to not do that.
Depends on D26743
Differential Revision: https://phabricator.services.mozilla.com/D26744
--HG--
extra : moz-landing-system : lando
This allows writing to shared memory and then making it read-only before
sharing it to other processes, such that a malicious sandboxed process
cannot regain write access. This is currently available only in the
low-level base::SharedMemory interface.
The freeze operation exposes the common subset of read-only shared
memory that we can implement on all supported OSes: with some APIs
(POSIX shm_open) we can't revoke writeability from existing capabilies,
while for others (Android ashmem) we *must* revoke it. Thus, we require
that the writeable capability not have been duplicated or shared to
another process, and consume it as part of freezing. Also, because in
some backends need special handling at creation time, freezeability must
be explicitly requested.
In particular, this doesn't allow giving an untrusted process read-only
access to memory that the original process can write.
Note that on MacOS before 10.12 this will use temporary files in order to
avoid an OS security bug that allows regaining write access; those OS
versions are no longer supported by Apple (but are supported by Firefox).
Depends on D26742
Differential Revision: https://phabricator.services.mozilla.com/D26743
--HG--
extra : moz-landing-system : lando
The tests for unexpected main thread I/O had exemptions for the specific
paths that were being used for shared memory, which would cause it to
fail with the changes in this bug. This patch does two things:
1. On Linux, /dev/shm is always tmpfs (a memory filesystem), so it's not
going to cause disk I/O, and it's used by glibc to implement the POSIX
standard shm_open API. This allows all /dev/shm paths instead of
limiting it to a hard-coded prefix.
2. On MacOS, with the patches in this bug, we'll no longer use temporary
files for shared memory on current OS versions, but we still need them on
older versions to avoid an OS bug (https://crbug.com/project-zero/1671),
and they are backed by disk in this case, so we want to allow only the
IPC files. However, the path prefix has changed.
Differential Revision: https://phabricator.services.mozilla.com/D34628
--HG--
extra : moz-landing-system : lando
This uses RAII to handle error-case cleanup in the POSIX backend for
SharedMemory::Create, to simplify the complexity that will be added to
support freezing.
Depends on D26741
Differential Revision: https://phabricator.services.mozilla.com/D26742
--HG--
extra : moz-landing-system : lando
The Unix backend for shared memory needs to keep the mapped size to pass
to munmap, while the Windows backend doesn't. Currently it's reusing the
max_size field, and then zeroing it when it's unmapped, which breaks the
freezing use case. This patch uses a dedicated field for that.
Depends on D26740
Differential Revision: https://phabricator.services.mozilla.com/D26741
--HG--
extra : moz-landing-system : lando
Despite the comment saying not to use the "handle" except as an opaque
identifier, it is being used to pass the handle to other OS APIs. Direct
access to the handle needs to be controlled to make sure freezing is
safe, so this patch replaces that with interfaces that are more explicit
about ownership and lifetime.
Depends on D26739
Differential Revision: https://phabricator.services.mozilla.com/D26740
--HG--
extra : moz-landing-system : lando
FreeBSD's SHM_ANON is useful for the usual case of shared memory, but it
doesn't support freezing. It could be re-added later, but for now it's
simplest to remove it (and use named shm instead) while refactoring.
Depends on D26738
Differential Revision: https://phabricator.services.mozilla.com/D26739
--HG--
extra : moz-landing-system : lando
All of these prefs are already static prefs, so this removes the varcache pref definitions from WheelTransaction and replaces them with the existing static prefs.
Differential Revision: https://phabricator.services.mozilla.com/D42040
--HG--
extra : moz-landing-system : lando