I noticed one more moztest issue in bug 1638993: sorting an array of dict is
poorly defined on py2 and not tolerated on py3; adding the lambda clarifies
the behavior. With this resolved, I think we can bump the moztest version and
close this bug.
Differential Revision: https://phabricator.services.mozilla.com/D76486
If `contentFrame` is out-of-flow, nsFrameConstructorState::AddChild() can
construct a placeholder frame for `contentFrame` and put the placeholder in
`frameList`.
Also, we need to use nsFrameConstructorState::GetGeometricParent() to
get the correct parent when calling InitAndRestoreFrame() for an
out-of-flow `contentFrame`. For example, if `contentFrame` has
position:fixed, its parent should be ViewportFrame, not
CanvasFrame (which is mDocElementContainingBlock).
This patch also adds reftests for position:absolute flex & grid root
element. Reftests for position:fixed root element are in the next part.
Differential Revision: https://phabricator.services.mozilla.com/D76205
Changes:
- permit existing code in chunking.py and mochitests/runtests.py to load manifest runtime information specifict to the suite
Differential Revision: https://phabricator.services.mozilla.com/D75592
Changes:
Update `writeruntimes` script so that each suite is in its own nested dictionary and add the ability to query `web-platform-tests-reftest`.
Differential Revision: https://phabricator.services.mozilla.com/D75229
I think the problem is that background allocation is creating a new chunk after we copy the mark bits for the existing chunks, so we fail to find the new chunk in the map. If so then we need to wait for that first, and after we know any off-thread parsing has finished.
Differential Revision: https://phabricator.services.mozilla.com/D76453
This test has been failing, infrequently, mostly on osx/py2, for many months.
Increasing the time interval between events appears to reduce failure frequency.
Differential Revision: https://phabricator.services.mozilla.com/D76402
We have a number of tests that expect a particular set of properties on regexp results, which need to be updated now that they have a (generally undefined) `groups` property.
Depends on D76045
Differential Revision: https://phabricator.services.mozilla.com/D76046
Named captures add a `groups` property to the match result. The shape of that group depends on the regexp. Allocating an object in masm requires monomorphizing on a particular template object, but all of our existing Ion regexp code is designed to handle arbitrary regexps. This means we can't allocate the `groups` object in jitcode without a lot of work.
Given that we have to call into C++ to allocate, we might as well just use the existing OOL fallback. This performs a VM call to RegExpMatcherRaw, which will simply call CreateRegExpMatchResult.
Differential Revision: https://phabricator.services.mozilla.com/D76038
When a regexp has named captures, the result object has an extra `groups` property, which is an object that in turn has a string property per named capture. This patch creates the `groups` object and attaches it to the result object.
The changes here correspond to this section of the spec proposal, which conveniently highlights the changes: https://tc39.es/proposal-regexp-named-groups/#sec-regexpbuiltinexec
Differential Revision: https://phabricator.services.mozilla.com/D76037
If a regexp contains any named captures, the irregexp parser returns information about those captures in the form of an ArrayObject, where even elements store the capture name and odd elements store the corresponding capture index. We split this information into two parts. The names are used to create a template object with a property for each capture name. The capture indices are stored as a heap-allocated array. Both of these are stored on the RegExpShared.
In the next patch, we use the template object to create a `groups` object for the regexp match result, and use the array of capture indices to populate that object.
Differential Revision: https://phabricator.services.mozilla.com/D76036
The irregexp parser uses FixedArray internally to return information about named captures. Now that we can allocate GC things during regexp parsing, it's trivial to implement FixedArray using the elements of a regular dense ArrayObject.
Differential Revision: https://phabricator.services.mozilla.com/D76035