This commit updates the core wasm tests again using 'spidermonkey-tree-tests'.
(https://github.com/eqrion/spec @ bc995a154acb02624cab98a7f6bb7e90f0328172)
The branch continues from the last vendored point of the spec and merges the
changes from the bulk-memory-operations spec, along with a fix for a test.
Differential Revision: https://phabricator.services.mozilla.com/D38660
--HG--
extra : rebase_source : fc9bf428abd827f985acc4ddd62c085b305b57e4
extra : histedit_source : ff99b0a97aedabd62eabcf4904ac9913a649881f
This is the second part of the previous commit that contains the updated
tests for WPT.
Differential Revision: https://phabricator.services.mozilla.com/D38657
--HG--
extra : rebase_source : 626c451f0b7b3ba8b132ea949e2d256d907d9f07
extra : histedit_source : 89303d06c6945dc3c7eefe3f60e213c251ac61dd
`Selection::Extend()` is too slow because:
- it may create some `nsRange` instances.
- it users `nsContentUtils::ComparePoints()` multiple times.
Therefore, we can improve the performance if we can stop using it in some
places. First, this patch creates `Selection::SetStartAndEnd()` and
`Selection::SetStartAndEndInLimiter()` for internal use. They remove
current ranges, reuse `nsRange` instance as far as possible and add new
range which is set by their arguments. Then, this patch makes
`Selection::SelectAllChildren()` stop using `Selection::Extend()`. At this
time, this fixes a web-compat issue. `Selection::Expand()` cannot cross the
selection limiter boundary when there is a limiter (e.g., when an editing host
has focus). But we can now fix this with using the new internal API.
Note that methods in editor shouldn't move selection to outside of active
editing host. Therefore, this patch adds `Selection::SetStartAndEndInLimiter()`
and `Selection::SetBaseAndExtentInLimiter()` for them.
Differential Revision: https://phabricator.services.mozilla.com/D23459
--HG--
extra : moz-landing-system : lando
`Selection::Extend()` is too slow because:
- it may create some `nsRange` instances.
- it users `nsContentUtils::ComparePoints()` multiple times.
Therefore, we can improve the performance if we can stop using it in some
places. First, this patch creates `Selection::SetStartAndEnd()` and
`Selection::SetStartAndEndInLimiter()` for internal use. They remove
current ranges, reuse `nsRange` instance as far as possible and add new
range which is set by their arguments. Then, this patch makes
`Selection::SelectAllChildren()` stop using `Selection::Extend()`. At this
time, this fixes a web-compat issue. `Selection::Expand()` cannot cross the
selection limiter boundary when there is a limiter (e.g., when an editing host
has focus). But we can now fix this with using the new internal API.
Note that methods in editor shouldn't move selection to outside of active
editing host. Therefore, this patch adds `Selection::SetStartAndEndInLimiter()`
and `Selection::SetBaseAndExtentInLimiter()` for them.
Differential Revision: https://phabricator.services.mozilla.com/D23459
--HG--
extra : moz-landing-system : lando
Changes:
- added expected outcomes to various tests under `testing/web-platform/meta/encrypted-media` and `testing/web-platform/mozilla/meta/dom/throttling`
- this should address most of the failures in `wpt-7` in the linked try run
Carried over from abandoned diff D22742:
Bug 1531484 - disable dom/media/test/test_temporary_file_blob_video_plays.html
Bug 1526064 - disable dom/media/mediasource/test/test_MediaSource_flac_mp4.html
Bug 1526080 - disable dom/media/test/test_can_play_type_mpeg.html
Bug 1531851 - disable dom/media/webaudio/test/test_ScriptProcessorCollected1.html
Differential Revision: https://phabricator.services.mozilla.com/D22743
--HG--
extra : moz-landing-system : lando
When Selection changed into an editing host,
Selection::NotifySelectionListeners() moves focus to the editing host.
In this case, we've scrolled to the focused element because it's our consistent
and traditional behavior. However, Chrome does not behave so. Therefore,
we should not scroll in this case for compatibility with Chrome.
Differential Revision: https://phabricator.services.mozilla.com/D19141
--HG--
extra : moz-landing-system : lando
The spaces are significant, so ' false' evaluates as truthy instead of false. This patch removes the whitespaces from the prefs defined in-tree, and also makes it so wpt strips whitespace from pref values before it uses them to hopefully avoid unexpected behavior.
Differential Revision: https://phabricator.services.mozilla.com/D18160
--HG--
extra : moz-landing-system : lando
To reduce the attack surface in early test for BinAST, add a preference to
restrict the hosts that Firefox accepts BinAST file from.
The preference is turned on by default (BinAST itself is turned off by
default for now), and the list contains hosts which is going to be used in
early test.
For hosts not listed in the list, Firefox doesn't send BinAST MIME-Type in
Accept field, and doesn't handle BinAST file in case the server returns
BinAST file.
Differential Revision: https://phabricator.services.mozilla.com/D16517
--HG--
extra : moz-landing-system : lando
To reduce the attack surface in early test for BinAST, add a preference to
restrict the hosts that Firefox accepts BinAST file from.
The preference is turned on by default (BinAST itself is turned off by
default for now), and the list contains hosts which is going to be used in
early test.
For hosts not listed in the list, Firefox doesn't send BinAST MIME-Type in
Accept field, and doesn't handle BinAST file in case the server returns
BinAST file.
Differential Revision: https://phabricator.services.mozilla.com/D16517
--HG--
extra : moz-landing-system : lando
The only visible change from this change is that telemetry will be
discontinuous. The owners for the relevant telemetry probes have
reviewed this and indicated that this discontinuity is OK.
This is largely plumbing, and lots of it.
The main complication is that function tables historically have had
two representations: one optimized representation for tables that
don't escape out of the instance, and one fatter representation for
tables that do (and that must contain instance pointers).
With multiple tables, we may table.copy from a function table with one
representation to one with the other representation, in the limit this
means changing the representation of the skinny table to be fat.
However, at the time when we discover this, code may already have been
generated that knows about the skinny representation, so we can't
actually perform such a representation change.
A somewhat reasonable solution to this is to just make all function
tables fat - we're going to be changing things soonish anyway, when we
make anyfunc / funcref a first-class type.
--HG--
extra : rebase_source : 9939eee6753465aa0401412d7810183e304762ae
extra : histedit_source : a548b13f6e75d6f51a3266d75950e4b3a9235cbf%2C95a28833705d8df0a9f0fd28a0d19111ad972417
This hooks up the Mozilla-specific WPT WebDriver tests directory
to use fixtures from the upstream public repository.
The tests for the new TakeFullScreenshot command are somewhat more
thorough than those for Take Screenshot and Take Element Screenshot,
but this will be addressed later as part of bug 1494208.
Depends on D6887
Differential Revision: https://phabricator.services.mozilla.com/D6888
--HG--
extra : moz-landing-system : lando
This patch adds a 30 second delay to the baseline coverage tests to help stabilize their code coverage results over time.
MozReview-Commit-ID: C3StSX7RdM9
--HG--
extra : rebase_source : d4ab053d0d55535333989294973aa4af7db4fea7
The WebAssembly Specification, branch [1] (see also, more generally,
comments in [2]), contains a new test, limits.js, to check whether the
generally agreed embedding limits (numbers of functions, imports, etc) are
observed. This bug is to import the test and fix any resulting breakage
detected with it.
[1] https://github.com/WebAssembly/spec/tree/embedding_limits
[2] https://github.com/WebAssembly/spec/issues/607
* js/src/wasm/WasmBinaryConstants.h:
- Added MaxTableMaximumLength as a counterpart to MaxTableInitialLength.
- Split the constant group into two parts: spec-required, and those
pertaining only to our own implementation.
* js/src/wasm/WasmJS.cpp WasmTableObject::construct():
- Update GetLimits call with correct max size bound
* js/src/wasm/WasmValidate.cpp DecodeTableLimits():
- Implement missing check for a Table's maximum size.
* js/src/jit-test/tests/wasm/import-export.js:
js/src/jit-test/tests/wasm/spec/jsapi.js:
testing/web-platform/mozilla/tests/wasm/js/jsapi.js:
- Update Table maximum size tests. All tests trying to make a Table
with more than 10,000,000 entries now throw instead of succeeding.
* js/src/jit-test/tests/wasm/spec/harness/wasm-module-builder.js:
- Import minimal updates and bug fixes from [1], needed to make the
new tests work.
* js/src/jit-test/tests/wasm/spec/limits.js
- New file. Derived from [1], with comments added to each test to show
SM's compliance situation, and with two tests disabled.
--HG--
extra : rebase_source : 489c97dd2420508ad9768a2aa4714aa8dfbfe2c6
The tests added in this patch will be used as a baseline for coverage that is common to all tests. They are added to each chunk being run in the test-coverage suite only if a test with an associated baseline type exists.
MozReview-Commit-ID: 1CrRZ1Ev2Mz
--HG--
extra : rebase_source : e2e4f9a51c82c637c8892dd8a5dbd84704b67b54