As per spec. This could cause wrong styles to be returned because we
fill the bloom filter based on flat tree ancestors, which was ultimately
the root cause of bug 1737131.
Differential Revision: https://phabricator.services.mozilla.com/D131074
This is a more generic fix for
https://phabricator.services.mozilla.com/D131080 that we might want to
take instead. I'm not aware of other tests triggering the same issue but
this causes behavior to be a bit more predictable.
Context: We have tests that query the style of menupopups/menuitems that
are not in the flat tree (that is, that are children of a shadow host,
but are not slotted). That makes no sense, because the flat tree is how
we determine where to inherit from (so the styles that we were returning
before this bug are wrong, they just happen to work for that particular
test).
Panels and menupopups have some lazy initialization code that before
this patch left a shadow root attached to the element but no slot.
Instead, don't even bother to create a shadow root (and do that lazily
as well). It's a bit more predictable behavior, and is also less work
during startup, so should be a win.
We couldn't do it before the previous patches because attaching the
shadow root will reframe the popup, and the menupopup code didn't
deal well with that.
Differential Revision: https://phabricator.services.mozilla.com/D131081
We only need to clean up the frames for its flat tree children which are
about to go away from the flat tree, but we don't need to do anything
else. This avoids issues with the following patches because menupopups
depend a lot on their frame tree state.
Differential Revision: https://phabricator.services.mozilla.com/D131083
Update the fallback URLs for Widevine version 4.10.2391.0. This also adds a
fallback for the Windows asan case. This makes the fallback URLs consistent with
the balrog rules and handles the (edge) case where asan Win builds can't connect
to balrog.
Differential Revision: https://phabricator.services.mozilla.com/D131159
There's only one caller of it and it's not sound: The runnable captures a
raw frame pointer etc. Instead, just do a dispatch to the main thread
and call OpenMenu there. This simplifies the following patch.
Differential Revision: https://phabricator.services.mozilla.com/D131082
Automatic update from web-platform-tests
Fixed the typos in contain-layout-019.html (#31631)
--
wpt-commits: 625a2df832b19acee6a5510cfeadac01019e17e9
wpt-pr: 31631
This patch uses the Windows.System.Profile.WindowsIntegrityPolicy class to determine whether or not Windows is in S mode. This class is only available beginning with SDK 17763 (newer than what we use right now), so we need to fetch it at runtime with some magic.
This is a completely no-op for Windows versions older than 1810, where the WindowsIntegrityPolicy class is not available.
Differential Revision: https://phabricator.services.mozilla.com/D130397
These logs have been added to help with the investigation of shutdown issues. But it turned out to not be that helpful. Lets get it removed from wdspec jobs to lesser clutter the logs.
Differential Revision: https://phabricator.services.mozilla.com/D130974
This is a pointer-sized value, so there's no need to pass it by
value. All of the SpiderMonkey places that pass GCCellPtr are doing
it by value, so this is aligning with that.
In addition, I removed a NoteJSChild() overload that is no longer
used.
Differential Revision: https://phabricator.services.mozilla.com/D131163
For running in FIPS mode, NSS needs to check /proc/sys/crypto/fips_enabled, to be able to tell whether FIPS is enabled or not.
FIPS also mandates using /dev/random instead of /dev/urandom.
Differential Revision: https://phabricator.services.mozilla.com/D129126
After the preparations from the preceding patches, we can now simply enable
transpiling `SpreadNew` and `SpreadSuperCall`.
Differential Revision: https://phabricator.services.mozilla.com/D130490
Adds `MConstructArray::needsThisCheck` so we can pass this flag to `MakeCall()`
in `ArrayMemoryView::visitConstructArray()`. This is needed because the next
patch will change `MConstructArray` to store a single caller in
`MConstructArray::target_` and we have assertions in place which disallow to
emit a `this`-check when we know it's unnecessary (because the target function
is known).
Differential Revision: https://phabricator.services.mozilla.com/D130494
No change in behaviour, only changes `build_SpreadNew()` to call `makeSpreadCall()`
in preparation for the next patches in this stack.
Additionally moves the `MCreateThis::New` call from `WarpBuilder::buildCallOp()`
into a new method `WarpBuilder::buildCreateThis()`.
Differential Revision: https://phabricator.services.mozilla.com/D130489
Adds a copy of `ApplyArgs` to handle constructor calls. This new instruction is
then used to scalar replace rest arrays in `new` and `super` spread calls.
With this patch applied, we can scalar replace rest parameters in derived class
constructors:
```
class Derived extends Base {
constructor(...args) {
super(...args);
}
}
```
Differential Revision: https://phabricator.services.mozilla.com/D130485
This follows the existing scalar replacement support for `arguments`. When the
rest array isn't modified, we can read the rest array elements from the frame.
And the rest array length can be computed through `max(numActuals - numFormals, 0)`.
There isn't yet support for scalar replacing rest arrays in `MApplyArray` when
additional formals are present, because `MApplyArgs` doesn't yet cover this case.
Differential Revision: https://phabricator.services.mozilla.com/D130484
Add recover support for `MRest`. When rest arguments are present, the `arguments`
object isn't mapped, so the rest array can be directly recovered from the frame.
Differential Revision: https://phabricator.services.mozilla.com/D130483
Otherwise the origin of the rect might not be correctly converted.
We have a supposed test for something like this:
layout/reftests/forms/input/number/spinner-overflow-vertical.html
But in practice it doesn't work, because I removed the "overflowing
descendants inflate outlines" behavior (bug 1739894), and even with that
pref it doesn't seem to cut it... So repurpose that test to test both.
Differential Revision: https://phabricator.services.mozilla.com/D131175