This requires tests to specify `python-3: true` in order to be run
with Python 3. When nothing is specified things work just like today,
so it's a more conservative change than the one in bug 1672181.
Obviously in the long term we will remove this and switch to Python 3
only, but this unblocks moving harnesses to py3 today.
Differential Revision: https://phabricator.services.mozilla.com/D98766
ARM64 inherited the wasmLoad / wasmStore API from ARM and MIPS wherein
the ptr register is clobberable by the macroassembler, so as to avoid
allocating a temp register. On ARM64 there are several temp registers,
so this is not necessary, and we can generate better code (from Ion)
by not clobbering.
Differential Revision: https://phabricator.services.mozilla.com/D98855
This is not a functional change but allows switches to be emitted for wasm:
wasm disallows the use of an ImmPtr for movePatchablePtr but allows ImmWord,
this is in order to guard against embedded pointers in the serializable
machine code. For a patchable word that will always be patched after
code is deserialized, we can use ImmWord, as we do on other platforms.
Differential Revision: https://phabricator.services.mozilla.com/D97771
branchTestPtr can be optimized in the manner of branchTest32, using CBZ/CBNZ
when the inputs are the same and we're testing for zero/nonzero.
Also tidy up the logic of branchTest32 to make it slightly easier to understand.
Differential Revision: https://phabricator.services.mozilla.com/D97770
This moves parts of IPCMessageUtils.h to two new header files and adapts
the include directives as necessary. The new header files are:
- EnumSerializer.h, which defines the templates for enum serializers
- IPCMessageUtilsSpecializations.h, which defines template specializations
of ParamTraits with extra dependencies (building upon both IPCMessageUtils.h
and EnumSerializer.h)
This should minimize the dependencies pulled in by every consumer of
IPCMessageUtils.h
Differential Revision: https://phabricator.services.mozilla.com/D94459
Using integer as a bit field may cause simple mistake and may not be easy
to read, and we have `EnumSet` class which can treat an `enum class` as
a bit flags so that we should make it an `enum class` and use it with the
`EnumSet` class.
Differential Revision: https://phabricator.services.mozilla.com/D99172
Automatic update from web-platform-tests
Add flakiness for webaudio/the-audio-api/the-audiobuffer-interface/ctor-audiobuffer.html (#26730)
The order of 2 checks done in the tests is undeterministic, causing PASS lines to be printed in
in an inconsistent order and leading to flakiness in WebKit test suite. This patch does the
checks in a deterministic order to address the issue.
Co-authored-by: Chris Dumez <cdumez@apple.com>
--
wpt-commits: 2ab8d794f0c48068703f4d9769bf693ac5b52a3f
wpt-pr: 26730
Automatic update from web-platform-tests
[PTZ] Copy image capture settings when cloning MediaStreamTrack
This CL makes sure all ImageCapture related capabilities, constraints,
and settings are copied to the cloned MediaStreamTrack. This wasn't the
case before.
Bug: 934063
Change-Id: I783d0804e56f46152e1ba02255ff454dd1ba76aa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2567917
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Commit-Queue: François Beaufort <beaufort.francois@gmail.com>
Cr-Commit-Position: refs/heads/master@{#833827}
--
wpt-commits: bdffc9f6f513baccaf98efa18eb74a2c0232cc82
wpt-pr: 26738
Automatic update from web-platform-tests
[selectors4] Implement :dir pseudo-class
This patch adds support for the new ":dir" pseudo-class.
The patch is covered by several of tests imported from the web tests
including generic tests in addition to the tests from Firefox and
apart from some minor changes on current tests to add the new selector.
Intent-to-ship thread is available at:
https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/p0Wc66rbVOc
BUG=576815
Change-Id: I503c6af95d9c5817e3e71b1b2025a5562929f0d8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2460849
Commit-Queue: Miyoung Shin <myid.shin@igalia.com>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#833712}
--
wpt-commits: 7741972130489134a88f7873fe9fd0430f33784d
wpt-pr: 26159
Automatic update from web-platform-tests
Add support for ReadableStreamBYOBReader & ByteStreamController
This CL adds the main implementation for supporting BYOB readers
and byte stream controllers for readable streams according to
the Streams API standard[1]. As added in previous CLs, this is
done using polymorphism where there are two base classes:
- ReadableStreamGenericReader, and
- ReadableStreamController
which the default/BYOB readers and default/byte stream controllers
inherit from. This approach is further elaborated upon in detail
in the design document[2].
The three main classes that implementation was added for in
this CL are:
1. ReadableStreamBYOBReader
2. ReadableByteStreamController
3. ReadableStreamBYOBRequest
This CL also includes:
- new GetBYOBReader unittest
- UnderlyingSource WebIDL files [3]
among other things for adding the functionality of supporting
readable byte streams.
[1] https://streams.spec.whatwg.org/
[2] https://docs.google.com/document/d/1rvKpGjppeqRSWntokY-ft_hU2i2us8gis6zgrrLWSTI/view#
[3] https://streams.spec.whatwg.org/#underlying-source-api
Bug: 614302
Change-Id: I380258453e6fd5d617810e21fa8996f8f08b26f1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2537281
Commit-Queue: Nidhi Jaju <nidhijaju@google.com>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Reviewed-by: Adam Rice <ricea@chromium.org>
Cr-Commit-Position: refs/heads/master@{#833711}
--
wpt-commits: 274af4bd211a011849d035eaeb768d0f447208d9
wpt-pr: 26714
Automatic update from web-platform-tests
Add restrictions to allowed extensions for File System Access API
These restrictions apply to showOpenFilePicker and showSaveFilePicker.
Existing restriction:
- Extension must start with "."
New restrictions:
- Allowed code points: [A-Za-z0-9+.]
- Extension length cannot exceed to 16, inclusive of leading "."
- Extension cannot end with "."
- Extension cannot end with "local" or "lnk"
Bug: 1137247, 1140410, 1140417, 1152327
Change-Id: I593f7ca60e05177402885bd3026add16b3a07d0c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2568534
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Commit-Queue: Austin Sullivan <asully@chromium.org>
Cr-Commit-Position: refs/heads/master@{#833695}
--
wpt-commits: eb572878163035359e8480d439e7aeb224e51802
wpt-pr: 26721
Automatic update from web-platform-tests
Add tests for form newline normalization in filenames
--
wpt-commits: a8fad46bc951b7270eb9d92ee3f8875b7245ef3b
wpt-pr: 26747
Automatic update from web-platform-tests
Correctly handle detach during (de)compression
Sometimes CompressionStream and DecompressionStream enqueue multiple
output chunks for a single input chunk. When this happens, JavaScript
code can detach the input ArrayBuffer while the stream is processing it.
This will cause an error when zlib tries to read the buffer again
afterwards.
To prevent this, buffer output chunks until the entire input chunk has
been processed, and then enqueue them all at once.
Bug: 1151298
Change-Id: I03fca26fc641d54b09067e3994b76ee8efca6839
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2567539
Commit-Queue: Adam Rice <ricea@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Cr-Commit-Position: refs/heads/master@{#833659}
--
wpt-commits: 0f98fe9643ca13faec61bce35e40f0d676011745
wpt-pr: 26698
Automatic update from web-platform-tests
Simulate user inputs in pointerevent_fractional_coordinates.html
Use testdriver Action API to simulate mouse and touch actions in
pointerevents/pointerevent_fractional_coordinates.html.
Bug: 1145677
Change-Id: I8ec66844c7662a88b9e7cb3d792778e9b6df6f57
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2568605
Commit-Queue: Lan Wei <lanwei@chromium.org>
Reviewed-by: Liviu Tinta <liviutinta@chromium.org>
Cr-Commit-Position: refs/heads/master@{#833597}
--
wpt-commits: 35450a5d2eb710e579c1554872247fa3eae7b5e9
wpt-pr: 26728
This adds a new background task for unmarking which gets kicked off in the
first GC slice. There's a new explicit 'prepare' state for both the GCRuntime
and zones. The GC proper starts in a second (or later) slice when this has
finished. Because of this we have to be a bit careful when checking GC
state because the 'prepare' state is not part of the GC from the point of view
of snapshot-at-the-beginning.
I had to update a bunch of test code that assumed that GC started in the mark
state.
This fixes cancelleling a parallel task in the case that the task was idle so
that it doesn't leave the cancel flag set.
Also it stops us sending telemetry about how much was collected in GCs that
were reset as we don't always have the data for the original heap sizes by this
point if the reset happened while we were in the prepare phase.
Finally there's a new zeal mode to test this, named YieldBeforeRootMarking
(slightly confusing but in line with the other modes).
Differential Revision: https://phabricator.services.mozilla.com/D98481
The callers no longer need fixed registers, which should improve codegen a little.
In emitStoreDenseElementHole we can simplify the handleAdd case by merging the
"before type update IC" and "after type update IC" code.
In emitArrayPush use AutoOutputRegister, the old code loaded the value in R0 and
then relied on that register matching the IC's output register.
Differential Revision: https://phabricator.services.mozilla.com/D99222