This patch reduces the redundancy in the mozproxy perfherder data names. It removes the `replay` suffix since it's already clear it's related to replay/not-replayed. The subtest names have the `mozproxy-replay` prefix removed through the addition of a new way of specifying supporting measurement values. Instead of only being able to submit the values with a `{measurement: values}` format, we can now submit it as `{measurement: {values: [], <SUBTEST-OPTIONS>}}`. The subtest options include perfherder-specific options, and some settings that change how the names are built. Furthermore, the full supporting data dictionary also includes two new fields: `summarize-values`, and `suffix-type`. The former dictates whether or not a summary value is produced, and the latter determines if the name should be suffixed with the data type.
Differential Revision: https://phabricator.services.mozilla.com/D72695
This test is failing due to the rounding error described in bug 1627365.
As this is a web platform test, it seems inappropriate to modify the
test itself upstream to avoid a Firefox-specific rounding error.
Differential Revision: https://phabricator.services.mozilla.com/D69641
This includes scripts that involve `tup`, jobs that build `tup` in automation, `tup.configure`, and related infrastructure and documentation.
Differential Revision: https://phabricator.services.mozilla.com/D73921
Raw Cr.ERROR don't get stack information, same as throwing JS literals instead
of `new Error()`s.
This was done automatically with a new eslint rule that will be introduced in
the next commit. One instance of a raw Cr.ERROR was not replaced since it is
used in a test that specifically checks the preservation of raw Cr values in
XPCJS. The rule will be disabled for that instance.
Differential Revision: https://phabricator.services.mozilla.com/D28073
Instead of manually defining toStringTag we now add the toStringTag symbol to the list of properties.
This is also how we usually define toStringTag in the JS engine.
Even though this changes more code I like this approach better. Everything is centralized in the generated bindings file.
Differential Revision: https://phabricator.services.mozilla.com/D72179
This patch adds the extra options settings to the visual metrics perfherder data by passing it through the jobs.json file.
Differential Revision: https://phabricator.services.mozilla.com/D73277
Before this change, this test ends up with 50px of spacing, divided 3 ways
(with one share going after each flex item). That means we should be expecting
spacing of 50px/3 = 16.666px -- but the reference case was instead expecting
arbitrarily-rounded amounts, expecting 17px of spacing in one spot and 16px in
another spot (which may or may not match actual UA behavior, particularly on a
HiDPI display where pixel-snapping might not need to round to whole CSS
pixels).
This patch just increases the size of the container so that we end up with
60px of extra space, which gives us nice round number of pixels for each share
of the space: 60px/3 = 20px of space between each flex item.
(This is consistent with the neighboring test "align-content_space-around.html"
which also uses a 210px-tall container for the same reason.)
Also: While we're at it, swap in spaces for a few stray tab characters
in some contextual lines.
Differential Revision: https://phabricator.services.mozilla.com/D73549
This file is only used as a reference case for one testcase, which is
"align-content_stretch.html". The file names are inconsistent right now, which
is obviously a mistake, so let's just fix it.
(The "_space" in the reference case's filename doesn't make any sense; it was
likely just a copypaste error that came from one of the related tests for other
align-content values like "space-around" and "space-between".)
Differential Revision: https://phabricator.services.mozilla.com/D73548
Wasm JS-API objects should be subclassable, and the following should work:
```js
class M extends WebAssembly.Module {};
m = new M(...)
m instanceof M // true
```
The current code will always set the prototype to the original Wasm prototype,
and not the derived prototype.
This commit was written by following the example of
`ArrayBufferObject::class_constructor` which handles this situation.
All call-sites to Wasm*Object::create now pass in the prototype object to use
for the JSObject. In Wasm JS-API constructors, this uses GetPrototypeFromBuiltinConstructor
to acquire a custom prototype if required. If a custom prototype is not required,
then the proper prototype is looked up using GlobalObject::getOrCreatePrototype.
We could use NewObjectWithClassProto to handle the case where the builtin proto
is used, but asm.js requires the ability to specify a null proto for some
WasmJS objects so that parsing off-main-thread can work correctly.
A jit-test and web-platform test are added to test this. Additionally, a different
web-platform-test appears to be passing now.
Differential Revision: https://phabricator.services.mozilla.com/D70965
referrerpolicy and crossorigin changes were handled in
AfterMaybeChangeAttr, but were only handling the case where the
attribute changed (that is, the AfterSetAttr caller). However
AfterSetAttr only calls AfterMaybeChangeAttr if there's a new value,
which means that we don't handle attribute removal.
So their handling can just move to AfterSetAttr, and we can simplify
AfterMaybeChangeAttr to just deal with src changes which is what it was
intended to deal with anyhow.
Differential Revision: https://phabricator.services.mozilla.com/D73619
Automatic update from web-platform-tests
Mark two idlharness.html tests as timeout=long
These are symptomatic of crbug.com/1047818, but to stop the pain for
sheriffs lets mark them timeout=long for now.
Bug: 1043453, 1043310
Change-Id: I9773b44e271ffe3a48f195de37c6ad917c01d24c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2171508
Commit-Queue: Luke Z <lpz@chromium.org>
Auto-Submit: Stephen McGruer <smcgruer@chromium.org>
Reviewed-by: Luke Z <lpz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#763793}
--
wpt-commits: 0583eb9233fafc882d5bc3dc925bd6e522c100b7
wpt-pr: 23314
Automatic update from web-platform-tests
[LayoutNG] Do less work for non-last fragments.
We only need to run the last part of CopyFragmentDataToLayoutBox() in
NGBlockNode for the last fragment. It's actually harmful to do it for
non-last fragments. We might end up marking the containing block of
out-of-flow positioned descendants as clean before we even get to laying
out the out-of-flow descendant.
This only fixes the LayoutNG block fragmentation-specific portion of bug
1074480.
Bug: 1074480
Change-Id: I8a82889773368bc9bc90928239767c2984386aeb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2171481
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#763789}
--
wpt-commits: 8e7bd7065382985c7d40dad6182245d84939100a
wpt-pr: 23317
Automatic update from web-platform-tests
webrtc: add simulcast getStats test
Asserts the number of outbound-rtp stat reports when using simulcast
BUG=webrtc:9547
Change-Id: I4773d579056e36853aa0bb6e4bc3bdd2102045c4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2167286
Reviewed-by: Henrik Boström <hbos@chromium.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/master@{#763758}
--
wpt-commits: 4171733be7cfe84699db9aed4b3de258ac118feb
wpt-pr: 23277
Automatic update from web-platform-tests
[IntersectionObserver] Fix handling of remote parent frame intersection
If a process-isolated iframe has a zero-area intersection with its
parent frame, implicit root observations should not be able to have
isIntersecting=true.
BUG=1070332
R=vmpstr@chromium.org
Change-Id: I05e8a05af14e84d493609bbc1675a28793dc1823
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2166605
Commit-Queue: vmpstr <vmpstr@chromium.org>
Reviewed-by: vmpstr <vmpstr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#762875}
--
wpt-commits: 4ba5d26e39c2568f97520a4957e42c239105dcf0
wpt-pr: 23252
Automatic update from web-platform-tests
Use ErrorEvent for AudioWorkletNode.onprocessorerror
This is to catch up the spec change in AudioWorkletNode.onprocessorerror
event handler. The current implementation uses a regular Event object to
report an error, but the spec has changed to use a proper ErrorEvent.
The CL also cleaned up redundant modification in the test file,
which was caused by the previous revision.
Bug: 1064240
Test: external/wpt/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-onerror.https.html
Change-Id: If7ac7eee96138ec0dbe02a3a046a5bdee27389db
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2168542
Reviewed-by: Raymond Toy <rtoy@chromium.org>
Commit-Queue: Hongchan Choi <hongchan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#763506}
--
wpt-commits: d9ff48a8babff036c1f9d5285ec0dc55609bebb8
wpt-pr: 23283
Automatic update from web-platform-tests
[Image Orientation] Support "none" for SVG <image> orientation
Provide support for the image-orientation none value so that developers
can opt out of image orientation in SVG.
The test fails due to a lack of fuzzy matching.
Bug: 1072179
Change-Id: I935c1f022e23fea809be060dd4cc7b4e591159aa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2171064
Commit-Queue: Stephen Chenney <schenney@chromium.org>
Reviewed-by: Fredrik Söderquist <fs@opera.com>
Cr-Commit-Position: refs/heads/master@{#763677}
--
wpt-commits: 2ba350aa48eed02c093f6a59dd50f98cb2ff811a
wpt-pr: 23310
Automatic update from web-platform-tests
[css-flexbox] Don't crash if items have negative margins
This patch fixes some gap logic and removes DCHECKs that were invalid.
Bug: 1075908
Change-Id: I79e4359e14e9d10135c918abecb9c4031fd4e945
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2171257
Commit-Queue: David Grogan <dgrogan@chromium.org>
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#763563}
--
wpt-commits: 592ab043febf6b0692a035ada6c99c8b38c3d9d4
wpt-pr: 23306
Automatic update from web-platform-tests
[ua-ch] Queue getHighEntropyValues() on a Task
Aligns the implementation with the spec.
https://github.com/WICG/ua-client-hints/issues/77 discusses which Task
type it should be queued on.
Bug: 1070934
Change-Id: I3461f7f1a2e6346717e568008b9879f20d39a82e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2166103
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Aaron Tagliaboschi <aarontag@chromium.org>
Commit-Queue: Yoav Weiss <yoavweiss@chromium.org>
Cr-Commit-Position: refs/heads/master@{#763558}
--
wpt-commits: 4ab25a21b85652b1b2553c7e3cbe66f2a2af666b
wpt-pr: 23255
Automatic update from web-platform-tests
Undelete lazyload feature policy test
Once test file got removed in https://crrev.com/c/2166638/
This CL adds the test back
TBR=sclittle@chromium.org
Bug: 1074608
Change-Id: I2fca32d1e06c75c9be278838d6abd981578c2515
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2169012
Commit-Queue: rajendrant <rajendrant@chromium.org>
Reviewed-by: rajendrant <rajendrant@chromium.org>
Cr-Commit-Position: refs/heads/master@{#763389}
--
wpt-commits: 1cbd65166f00a4b1f831a9d73ff1a669317c6708
wpt-pr: 23301
Automatic update from web-platform-tests
Element moving between shadow-trees for no-op between lifecycles.
FlatTreeNodeData is cleared on insertion so that nodes moving between
shadow trees do not keep stale parent information since we use the
FlatTreeNodeData ancestor to mark ancestors style dirty without updating
the slot assignment.
This is normally fine since inserting a child node of a shadow host will
mark the host for slot re-assignment, and the slot re-assignment will update
FlatTreeNodeData accordingly. The diffing of flat tree children in
NotifySlottedNodesOfFlatTreeChange will mark the inserted node for style
recalc via FlatTreeParentChanged.
There is however a glitch which can happen if a node is removed from a
shadow host, inserted into a different node, and then moved back into
the original shadow host without having any re-slotting happening in
between. If the node ends up in the same flat tree position, we will not
be able to detect that it needs FlatTreeParentChanged to be marked for
style recalc.
Example:
<div id="host">
<:shadow-root>
<slot></slot>
</:shadow-root>
<span>PASS</span></div>
<div id="other"></div>
<script>
// Make everything clean. FlatTreeNodeData ancestor for the span is
// the slot.
host.offsetTop;
let slotted = host.querySelector("span");
// The span is removed, the layout object is detached, and the
// ComputedStyle is cleared.
slotted.remove();
// Insert span into the #other element, FlatTreeNodeData for the span
// is cleared. The host is marked for slot re-assignment.
other.appendChild(slotted);
// The span is re-added as a child of #host, but nothing is marked
// style dirty since the #host has a shadow root and the span is not
// yet part of the flat tree.
host.appendChild(slotted);
// Slot re-assignment happens, but the result of slotting is the same
// as for the last lifecycle update, and nothing is marked dirty. That
// results in the span not getting a ComputedStyle nor a LayoutObject.
host.offsetTop;
</script>
The solution is currently to do a FlatTreeParentChanged for the case
where we:
1. Already have a FlatTreeNodeData.
2. The FlatTreeNodeData ancestor is null before the slot assignments.
3. The node is assigned to a slot.
It is definitely correct and necessary that we call
FlatTreeParentChanged in this case, but we end up doing it twice for
other elements which were added to the host, which used to be a child of
another host (FlatTreeNodeData being non-null), and will also have
FlatTreeParentChanged being called in the diffing as well. The question
is if that will cause perf regressions, typically in microbenchmarks.
Bug: 1072475
Change-Id: I5e697570b74599b0a3e01ca869eac022105fc6b9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2160930
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Mason Freed <masonfreed@chromium.org>
Cr-Commit-Position: refs/heads/master@{#763537}
--
wpt-commits: d06a8c42054a1c333172b69a0486508f573bab9d
wpt-pr: 23177
Automatic update from web-platform-tests
getAnimations cleanup with owning_element
This patch uses owning_element of animations to sorting animations in
getAnimations(), aligning the implementation with the spec:
https://drafts.csswg.org/css-transitions-2/#animation-composite-order
Bug: 1070460
Change-Id: I1bc627ffecc8450e1f2ad1cff0fefc12ac3971da
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2139359
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Kevin Ellis <kevers@chromium.org>
Commit-Queue: Hao Sheng <haozhes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#763473}
--
wpt-commits: 56c273203cb250902022702481d56539963ea2ff
wpt-pr: 22931