Automatic update from web-platform-tests
[Layout test] Fix some timeout layout tests
These layout tests time out some times. I believe the reason is that
these tests have a for loop that loops roughly 200 times, so the tests
themselves takes a long time.
This CL breaks each test into two tests, and hopefully that will fix
the timeout problem
Bug: 1050936, 1069476, 1049899
Change-Id: Iedb61faa9cd2727a863069934c371acca5b27ef2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2146796
Reviewed-by: Kevin Ellis <kevers@chromium.org>
Commit-Queue: Xida Chen <xidachen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#759323}
--
wpt-commits: 751ceadd296ff816cbcff15c5f508840bce08a41
wpt-pr: 22908
Automatic update from web-platform-tests
Null-dereference Read in blink::TransformOperations::ApplyRemaining fix
null_ptr get inserted into the Interpolatedtransform as from_ops via Blend function.
This would cause the functions that call the Apply in Interpolatedtransform class to crash.
Added the test case for testing Interpolatedtransform Blend.
Bug: 998938
Change-Id: I34a2e44d0fadf1c0ea848167714adbd0aa656910
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1887235
Reviewed-by: Ian Vollick <vollick@chromium.org>
Reviewed-by: Kevin Ellis <kevers@chromium.org>
Commit-Queue: Hao Sheng <haozhes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#717829}
--
wpt-commits: 74dbbd220fc9a072c3c14d8ceacda9af11046fb9
wpt-pr: 20183
Automatic update from web-platform-tests
update WPT tests to eliminate CSSPseudoElement from animations (#20040)
Goes with spec CL https://github.com/w3c/csswg-drafts/pull/4437 (merged)
Eliminated the use of CSSPseudoElement from WebAnimations to coincide with
recent spec changes. JeyframeEffect targets now use an Element reference
and pseudo-element selector like getComputedStyle and css-animations events.
Change-Id: Ib6957a7b764eac3b4372ad35c1b79b139c356a19
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1894477
Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
Reviewed-by: Kevin Ellis <kevers@chromium.org>
Commit-Queue: George Steel <gtsteel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#714541}
--
wpt-commits: 2f837d2e318b64f66ee8da1f3b798b03b697d4d7
wpt-pr: 20040
Automatic update from web-platform-tests
[web-animations-1] Fix typo in test (#19554)
--
wpt-commits: d9a9f2970d628001ff100548a6fd1ee750802893
wpt-pr: 19554
Automatic update from web-platform-tests
[web-animations-1] Update interpolation test for drop-shadow initial value
According to the spec
(https://drafts.fxtf.org/filter-effects-1/#funcdef-filter-drop-shadow):
The initial value for [drop-shadow] interpolation is all length values set to
0 and the used color set to transparent.
--
wpt-commits: 2f7b420ac06b3afa3e687ec82c1fa1ee7a39d541
wpt-pr: 19141
Automatic update from web-platform-tests
Fix bug where composite: replace did not replace previous effects
Consider a set of effects:
e.animate([{ "width": "0" }, { "width": "5px" }], { duration: 100 });
e.animate([{ "width": "0" }, { "width": "5px" }], { duration: 100, composite: 'add' });
e.animate([{ "width": "0" }, { "width": "2px" }], { duration: 100 });
e.animate([{ "width": "0" }, { "width": "2px" }], { duration: 100, composite: 'add' });
Previously the code in CopyToActiveInterpolationsMap would incorrectly
move the third effect to the start of the list to replace the original
keyframe pair, resulting in an effect stack of:
{ "width": "0" }, { "width": "2px" }
{ "width": "0" }, { "width": "5px" }
{ "width": "0" }, { "width": "2px" }
This is wrong; not only has it retained an effect it shouldn't have, it
has also re-ordered keyframes which might break non-commutative additive
properties. This CL fixes the logic to properly clear out existing
effects when a composite: 'replace' effect is put onto the stack.
Bug: 992378
Change-Id: I94ae54429ac7d4d28a0702d397ab64c2e45dee65
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1746302
Commit-Queue: Stephen McGruer <smcgruer@chromium.org>
Reviewed-by: Yi Gu <yigu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#686024}
--
wpt-commits: a851a6a8e8b11160bcd6f5861553cf8419258136
wpt-pr: 18356
Automatic update from web-platform-tests
Optimize cubic bezier solver.
Newton's method requires an accurate guess to get good convergence.
This patch introduces a linear interpolation of a crude spline as a
starting point for the iterative solver. Previously the starting point
t = x was used. The patch also introduces a tighter tolerance for
Newton's method than the fallback, and is justified by Newton's method
having quadratic convergence characteristics. Speed testing indicates
that the solver is roughly 50% faster, since the number of iterations
is typically less even at the higher accuracy requirement.
Bug: 827560
Change-Id: I89e3cc9061823269aabb16697e2d167751aa52b1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1643973
Reviewed-by: Ian Vollick <vollick@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Xida Chen <xidachen@chromium.org>
Commit-Queue: Kevin Ellis <kevers@chromium.org>
Cr-Commit-Position: refs/heads/master@{#670995}
--
wpt-commits: dbe15f82985f2e2a978255665f388c7dcdd425b1
wpt-pr: 17349
Correctly handle clamping to 1 behavior of grayscale(),
invert(), opacity() and sepia().
Differential Revision: https://phabricator.services.mozilla.com/D35509
--HG--
extra : moz-landing-system : lando
As it turns out we need this to avoid losing precision both during painting and
during serialization.
This patch also changes to serialize `context-value` if it's the computed value.
I could keep the previous behavior, but it makes no sense to serialize the
initial value. We're the only ones to support this value anyway, and I couldn't
find a definition or spec for this.
Also update tests and expectations for:
* New unexpected passes.
* Always serializing the unit in getComputedStyle.
* Calc and interpolation support.
Chrome also always serializes the unit in getComputedStyle, so I'm pretty sure
this is compatible with them. Chrome is inconsistent and keeps numbers in
specified style, but that's inconsistent with itself and with other quirky
lengths, so I updated the tests instead.
Differential Revision: https://phabricator.services.mozilla.com/D21819
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1348519#c6 and
https://github.com/w3c/csswg-drafts/issues/3201:
Currently grid-template-rows/columns interpolate “per computed value”, which
means that if the number of tracks differs, or any track changes to/from a
particular keyword value to any other value, or if a line name is added/removed
at any position, the entire track listing is interpolated as “discrete”.
But we "agree" with two more granular options:
1. Check interpolation type per track, rather than for the entire list, before
falling back to discrete. I.e. a length-percentage track can animate between
two values while an adjacent auto track flips discretely to min-content.
2. Allow discrete interpolation of line name changes independently of track
sizes.
Besides, for the repeat() function, it's complicated to support interpolation
between different repeat types (i.e. auto-fill, auto-fit) and different repeat
counts, so we always fall-back to discrete if the first parameter of repeat()
is different.
Depends on D16339
Differential Revision: https://phabricator.services.mozilla.com/D16129
--HG--
extra : moz-landing-system : lando
This is a first step to share LengthOrPercentage representation between Rust and
Gecko.
We need to preserve whether the value came from a calc() expression, for now at
least, since we do different things depending on whether we're calc or not right
now. See https://github.com/w3c/csswg-drafts/issues/3482 and dependent bugs for
example.
That means that the gecko conversion code needs to handle calc() in a bit of an
awkward way until I change it to not be needed (patches for that incoming in the
next few weeks I hope).
I need to add a hack to exclude other things from the PartialEq implementation
because the new conversion code is less lossy than the old one, and we relied on
the lousiness in AnimationValue comparison (in order to start transitions and
such, in [1] for example).
I expect to remove that manual PartialEq implementation as soon as I'm done with
the conversion.
The less lossy conversion does fix a few serialization bugs for animation values
though, like not loosing 0% values in calc() when interpolating lengths and
percentages, see the two modified tests:
* property-types.js
* test_animation_properties.html
Differential Revision: https://phabricator.services.mozilla.com/D15793
--HG--
extra : moz-landing-system : lando
Automatic update from web-platform-tests
Simplify interpolation of 2-D matrix transforms.
The decomposition of a transformation matrix into translations, rotation, scale and skew transforms is not unique. In some cases, the generalized 3-D decomposition does not align with the working draft for CSS transforms (https://drafts.csswg.org/css-transforms/).
In the special case where the transforms being interpolated are both 2-D, a simplified model provides more restricted set of decomposition transforms with less computational overhead.
Bug: 797472
Change-Id: I2b8ba99fe02c2eef878d94f5dfaea55c39652759
Reviewed-on: https://chromium-review.googlesource.com/c/1332253
Commit-Queue: Kevin Ellis <kevers@chromium.org>
Commit-Queue: Ian Vollick <vollick@chromium.org>
Reviewed-by: Ian Vollick <vollick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613191}
--
wpt-commits: a0aee6e93a0d8d367df19b14dd2facef903a2a63
wpt-pr: 14236
Automatic update from web-platform-testsCSS: Serialize % before px in calc
https://drafts.csswg.org/css-values/#math-function-serialize-a-summation
Percentage should be serialized before dimensions with units
Also fix typo in WPTs svg/geometry/parsing/*-computed.svg
calc(50% + 60x) becomes calc(50% + 60px)
BUG=904805
Change-Id: I2ecb732564c405f9315a1ef06e5bd0777c407f19
Reviewed-on: https://chromium-review.googlesource.com/c/1341289
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Eric Willigers <ericwilligers@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609262}
--
wpt-commits: 6f90ad64b9f531ae835623e445a6010031a52aa7
wpt-pr: 14121
Automatic update from web-platform-testsTypo: "opoacity" should be "opacity" (#14018)
--
wpt-commits: 2f868fae5b43c68e4807f6a4ec9487f13ea39cf4
wpt-pr: 14018
Basically, we rewrite the type of generics::transform::Translate and its
ToCss to match the spec. Besides, we always serialize Translate by servo,
so we could drop a lot of duplicated code.
Differential Revision: https://phabricator.services.mozilla.com/D11206
--HG--
extra : moz-landing-system : lando
The current spec says: "If only the X value is given, the Y value
defaults to the same value.", so we should update the behavior.
Besides, we also update the serialization, so we serialization both
specified and computed value by servo. We enable the preference
for all the css-transforms, so some of them are passed now.
Differential Revision: https://phabricator.services.mozilla.com/D10638
--HG--
extra : moz-landing-system : lando
With this change, all of Chrome, Edge, Firefox, and Safari serialize
border-image-repeat by omitting a repeated keyword, so we update a WPT
that was expecting duplicated keywords.
Differential Revision: https://phabricator.services.mozilla.com/D10445
--HG--
extra : moz-landing-system : lando
This matches the spec, https://drafts.csswg.org/css-values/#angles, which says:
> All <angle> units are compatible, and deg is their canonical unit.
And https://drafts.csswg.org/css-values/#compat, which says:
>When serializing computed values [...], compatible units [...] are converted into a single canonical unit.
And also other implementations (Blink always serializes angles as degrees in
computed style for example).
Also allows us to get rid of quite a bit of code, and makes computed angle value
representation just a number, which is nice.
Differential Revision: https://phabricator.services.mozilla.com/D8619
--HG--
extra : moz-landing-system : lando
Automatic update from web-platform-testsCSS: serialize linearRGB and sRGB in lower case
CSS keywords serialize in lower case.
https://drafts.csswg.org/cssom/#serializing-css-values
"To serialize a CSS component value depends on the component, as follows:
keyword
The keyword converted to ASCII lowercase."
BUG=882014
Change-Id: Ibdfb7f3bf64f26bc4841bbf012668d9071d4473c
Reviewed-on: https://chromium-review.googlesource.com/1213563
Commit-Queue: Eric Willigers <ericwilligers@chromium.org>
Reviewed-by: Fredrik Söderquist <fs@opera.com>
Cr-Commit-Position: refs/heads/master@{#589769}
--
wpt-commits: 1c486739d0b8932b4a23ce5ed16936f87fb3b062
wpt-pr: 12903
Here, we change the animation type of offset-path as ComputedValue, so
we could do animation on it. Also enable the wpt for offset-path
interpolation. In test_transition_per_property.html, we add some basic tests
ifor offset-path.
ToAnimatedZero for PathCommand will be dropped later.
Because the animations of arcs with mismatched flags are fallen back to
discrete animations, the result of getComputedValue is not normalized in this
case. This makes some wpt failed even though the progress is 100%.
Depends on D4786
Differential Revision: https://phabricator.services.mozilla.com/D4787
--HG--
extra : moz-landing-system : lando
Automatic update from web-platform-testsMerge pull request #11880 from graouts/overlapping-keyframes
Don't assume opacity computed values are exactly the same as specified on keyframe input
--
wpt-commits: afc3a452f2020dc10c51f467a435ba5b32dc0589
wpt-pr: 11880
Automatic update from web-platform-tests[web-animation] Make contain/will-change/writing modes props not animatable
Match the recent CSSWG resolutions:
https://github.com/w3c/csswg-drafts/issues/2737#issuecomment-402574750https://github.com/w3c/csswg-drafts/issues/2751#issuecomment-402604609
Make following properties none animatable:
* contain
* direction
* display
* text-orientation
* unicode-bidi
* will-change
* writing-mode
Note that wpt tests have already been updated for direction and writing-mode
here [1]
[1] 41f4ab65b2
Bug: 860359
Change-Id: I3e7296e3c28ff494eddbc6f011621dd29ba7d2aa
Reviewed-on: https://chromium-review.googlesource.com/1127062
Commit-Queue: Majid Valipour <majidvp@chromium.org>
Reviewed-by: Eric Willigers <ericwilligers@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573509}
--
wpt-commits: 7f017e863fec0f00ab1eb531b1bc12864d850d06
wpt-pr: 11813
Automatic update from web-platform-tests[testing] Remove per platform expectations for wpt animation-types tests
The only difference that required per platform expectation files was
the fact that 'hyphens: auto' is only supported in Chromium on Mac.
These tests don't care about the actual css property value but how one
value is animated to another in web animation interpolation model. So instead of
using 'auto' for hyphens, we use 'none' which is supported on all platforms.
This help remove three 500+ lines per platform expectation files and reduce
unnecessary maintenance burden.
Change-Id: I5f3b716ce11a72a5235e7899d2e90f4bbea77ebc
Bug: 860359
Reviewed-on: https://chromium-review.googlesource.com/1129201
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Majid Valipour <majidvp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573328}
--
wpt-commits: 028ff8d15432d595df85c2becf66cce686659de7
wpt-pr: 11860
Automatic update from web-platform-tests[web-animations] Fix timeout/0 tests in unsupporting browsers
Part of #11269.
--
wpt-commits: ee6c9d315b05a2afe40a13cbf26d3126d52c34a0
wpt-pr: 11276
The added test fails without the code changes in this patch.
MozReview-Commit-ID: HXPaxLu1osC
--HG--
extra : rebase_source : 591d3efe3ae99fa22ec99af37657a2eec302ad3e
Addition shouldn't be affected by the smarter interpolation.
MozReview-Commit-ID: DO8A33HKknL
--HG--
extra : rebase_source : e2533c041f139f234cf634b71786314ffa531a62
Automatic update from web-platform-testsFix some layout tests that calls createPseudo
In my previous CL I changed createPseudo function to getPseudoElement
without updating some of the callers. This CL fixes that.
NOTRY=true
Bug: None
Change-Id: I7a1f4bcc83736234e8bec2f16656cd72c39fd51d
Reviewed-on: https://chromium-review.googlesource.com/1023974
Commit-Queue: Xida Chen <xidachen@chromium.org>
Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#552709}
--
wpt-commits: c873caf7621a7376f976246eaa4921b13988e54a
wpt-pr: 10582
Automatic update from web-platform-tests[web-animations] Update timing interfaces (#10047)
This updates the tests to reflect the specification changes made in 953041faa3
wpt-commits: b73f249d95a82118603f749c266d540e0b4b3b04
wpt-pr: 10047
wpt-commits: b73f249d95a82118603f749c266d540e0b4b3b04
wpt-pr: 10047