Commit Graph

413 Commits

Author SHA1 Message Date
Margareta Eliza Balazs
669af84e56 Backed out 9 changesets (bug 1479173) for build failures in src/dom/animation/EffectCompositor.cpp CLOSED TREE
Backed out changeset 439ac5cfbced (bug 1479173)
Backed out changeset 73aba16a223f (bug 1479173)
Backed out changeset 89dbc6f7f959 (bug 1479173)
Backed out changeset ed1c344ccf0d (bug 1479173)
Backed out changeset c330e7e1eb1d (bug 1479173)
Backed out changeset efcbbb9daa39 (bug 1479173)
Backed out changeset 43c6a7863536 (bug 1479173)
Backed out changeset 94f0ae94a02c (bug 1479173)
Backed out changeset 7cf0ad1af067 (bug 1479173)
2018-11-06 12:13:31 +02:00
Hiroyuki Ikezoe
4592f89e0e Bug 1479173 - Check animation generation change in the mProperties loop and drop LayerAnimationInfo::sRecords loop. r=birtles
If mIsRunningOnCompositor is true, the property is effective state because
CanThrottle() is called in advance of a restyle for the effect so that we can
drop the check and drop skipping in the case of non-effective properties.

Depends on D10694

Differential Revision: https://phabricator.services.mozilla.com/D10695
2018-11-06 09:40:39 +00:00
Hiroyuki Ikezoe
f96020fefa Bug 1479173 - Call EffectSet::GetEffectSet in CanThrottle just once. r=birtles
Depends on D10693

Differential Revision: https://phabricator.services.mozilla.com/D10694
2018-11-06 06:21:14 +00:00
Hiroyuki Ikezoe
73a3b89946 Bug 1479173 - Check mIsRunningOnCompositor flag before iterating LayerAnimationInfo. r=birtles
The comment there was wrong.  We just bail out from there only if
mIsRunningCompositor is false, so it doesn't matter whatever the layer
generation check results.  (i.e., we don't bail out in the case where
mIsRunningCompositor is true).

Also, we iterate over mProperties in the LayerAnimationInfo::sRecords loop
through HasEffectiveAnimationOfProperty, so it doesn't matter that we iterate
mProperties before the loop either.  We will avoid the iteration in the sRecords
loop in a subsequent patch in this series.

Depends on D10692

Differential Revision: https://phabricator.services.mozilla.com/D10693
2018-11-06 06:21:12 +00:00
Hiroyuki Ikezoe
b82d4a50a3 Bug 1479173 - Rename LayerAnimationInto::mLayerType to LayerAnimationInfo::mDisplayitemType. r=birtles
In the case of WebRender there is no layers, but actually we'd been using it for
WebRender too, that's confusing.

Depends on D10689

Differential Revision: https://phabricator.services.mozilla.com/D10690
2018-11-06 06:21:06 +00:00
Diego Pino Garcia
9be01aa31c Bug 1498948 - Refactor KeyframeEffect constructor to use r-value reference. r=boris 2018-10-16 00:38:00 +03:00
Brian Birtles
c82f9c9d10 Bug 1483404 - Move conversion of CompositeOperation enum types to KeyframeUtils::GetAnimationPropertiesFromKeyframes; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D3457
2018-08-16 16:24:52 +00:00
Brian Birtles
f025528e45 Bug 1483404 - Use "auto" values for unspecified keyframe-specific composite operations; r=smaug
Summary:
This brings our implementation into line with the following spec change:

  ced6b5aac0

See https://github.com/w3c/csswg-drafts/issues/3000

Reviewers: smaug

Tags: #secure-revision

Bug #: 1483404

Differential Revision: https://phabricator.services.mozilla.com/D3384
2018-08-15 09:51:28 +09:00
Xidorn Quan
f21ef958b7 Bug 1479995 - Rename ScrollbarStyles to ScrollStyles. r=mstange
This change also renames several related functions, as well as fields,
and the header is moved into EXPORTS.mozilla given it is defined under
mozilla namespace.

MozReview-Commit-ID: LqCdcW8fmUN
2018-08-01 16:14:26 +10:00
Emilio Cobos Álvarez
601069ae11 Bug 1479450: Convert GetStringValue to use Servo. r=xidorn
And remove gPropertyTable / kCSSRawProperties while at it.

Differential Revision: https://phabricator.services.mozilla.com/D2516

MozReview-Commit-ID: 8U87BcBkrJF
2018-07-31 12:05:00 +02:00
Hiroyuki Ikezoe
bd0d6cf726 Bug 1478643 - Introduce a new change hint set for added or removed transform style. r=birtles
MozReview-Commit-ID: GfK1e5QaOu6
2018-07-30 10:51:18 +09:00
Brian Birtles
e72222f013 Bug 1471814 - Add a preference for animation composite modes; r=bz,hiro
This feature should not be shipped until the various definitions of addition for
each additive property are properly specified.

Unlike other patches in this series, compositing is not frequently used
internally (e.g. by DevTools etc.) so there is no need to enable this by default
for system code.

Also, it turns out we have inadvertently been shipping part of this feature for
some time now. The next patch in this series will add tests for that case and
disable that part of the feature (a suitable intent to unship will follow). This
patch merely adapts and extends the existing tests without affecting the surface
area covered by the combination of the newly-added pref and the existing
dom.animations-api.core.enabled pref.

MozReview-Commit-ID: Htr6mlyCBav
2018-07-14 09:23:03 +09:00
Hiroyuki Ikezoe
8f6ecbba6a Bug 1474247 - Call ReschedulePendingtasks when we set a new target to KeyframeEffect. r=birtles
MozReview-Commit-ID: 1n5I6RPKAM5
2018-07-12 17:05:50 +09:00
Brian Birtles
c7f0a4b352 Bug 1474766 - Merge the three-argument form of KeyframeEffect::Constructor and ConstructKeyframeEffect; r=hiro
There doesn't appear to be any need to separate these anymore.

MozReview-Commit-ID: GHR259JJHJV
2018-07-11 10:27:56 +09:00
Brian Birtles
2378b45b2a Bug 1474766 - Drop KeyframeEffectType template arg; r=hiro
This is no longer needed since in bug 1456394 we merged the two types of
KeyframeEffects into one.

MozReview-Commit-ID: 8IuTD9ivAGK
2018-07-11 10:27:01 +09:00
Jeff Gilbert
70a22b2878 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Chris Peterson
f7ceeaf5cf Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr
2018-06-17 22:43:11 -07:00
Hiroyuki Ikezoe
13affd7d60 Bug 1430884 - Throttle transform animations without %0 or 100% keyframe. r=birtles
MozReview-Commit-ID: 3vLAlSkLz97
2018-06-25 18:29:28 +09:00
Hiroyuki Ikezoe
d7eefdf399 Bug 1430884 - Flatten CanThrottleIfNotVisible function with early returns. r=birtles
MozReview-Commit-ID: 3JQ0sG2oWfN
2018-06-25 11:51:05 +09:00
Hiroyuki Ikezoe
cca03e2983 Bug 1430884 - Factor out checking the animation on the given frame can be throttled if the frame is not visible. r=birtles
MozReview-Commit-ID: Kl7qYFXiVqr
2018-06-25 11:51:05 +09:00
Hiroyuki Ikezoe
e83a671b66 Bug 1430884 - Rename unthrottling transform animations stuff. r=birtles
In the next patch, we are going to unthrottle UpdateOverflow change hint which
is also produced by non-transform properties.

MozReview-Commit-ID: BrJxo32uBJO
2018-06-25 09:12:21 +09:00
Margareta Eliza Balazs
eb339b568b Backed out 9 changesets (bug 1430884) for frequently failing dom/animation/test/mozilla/test_restyles.html on android-em-4-3-armv7-api16 debug
Backed out changeset 262dbc8daac1 (bug 1430884)
Backed out changeset c3f9f3f66a98 (bug 1430884)
Backed out changeset 39e1c4e3c8c9 (bug 1430884)
Backed out changeset 4505e3f87b2e (bug 1430884)
Backed out changeset e7e8977e0e92 (bug 1430884)
Backed out changeset 6dbae2b8957d (bug 1430884)
Backed out changeset 1e047fbcae2a (bug 1430884)
Backed out changeset 52be07f10eaa (bug 1430884)
Backed out changeset cec68a5b01da (bug 1430884)
2018-06-25 12:23:59 +03:00
Hiroyuki Ikezoe
bc3a4fae91 Bug 1430884 - Throttle transform animations without %0 or 100% keyframe. r=birtles
MozReview-Commit-ID: 3vLAlSkLz97
2018-06-25 11:51:06 +09:00
Hiroyuki Ikezoe
139629742f Bug 1430884 - Flatten CanThrottleIfNotVisible function with early returns. r=birtles
MozReview-Commit-ID: 3JQ0sG2oWfN
2018-06-25 11:51:05 +09:00
Hiroyuki Ikezoe
5d57d695a1 Bug 1430884 - Factor out checking the animation on the given frame can be throttled if the frame is not visible. r=birtles
MozReview-Commit-ID: Kl7qYFXiVqr
2018-06-25 11:51:05 +09:00
Hiroyuki Ikezoe
3ba1029f47 Bug 1430884 - Rename unthrottling transform animations stuff. r=birtles
In the next patch, we are going to unthrottle UpdateOverflow change hint which
is also produced by non-transform properties.

MozReview-Commit-ID: BrJxo32uBJO
2018-06-25 09:12:21 +09:00
Emilio Cobos Álvarez
4b8b5e1717 Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Hiroyuki Ikezoe
4137f94965 Bug 1463605 - Call MarkNeedsDisplayItemRebuild() for IB split siblings too. r=mattwoodrow
MozReview-Commit-ID: 4vN69YLUbIy
2018-05-23 18:15:12 +09:00
Hiroyuki Ikezoe
1b916566b9 Bug 1463605 - Set mMayHaveOpacityAnimation and mMayHaveTransformAnimation flag to continuation or IB split sibling frames too. r=birtles
Without this fix layout/reftests/css-animations/ib-split-sibling-opacity.html
would have failed if the next change in this patch series is applied.

MozReview-Commit-ID: CFNXePkXuOs
2018-05-23 18:15:12 +09:00
Brian Birtles
82becfc790 Bug 1456394 - Drop AnimationEffectTiming(ReadOnly) interfaces; r=bz,hiro
MozReview-Commit-ID: KKqAWemDXwv
2018-05-07 12:58:37 +09:00
Brian Birtles
033b8ba988 Bug 1456394 - Rename AnimationEffectReadOnly to AnimationEffect; r=bz,hiro
MozReview-Commit-ID: 8jzJiCWt5vs
2018-05-07 11:15:16 +09:00
Brian Birtles
b48a10996d Bug 1456394 - Merge KeyframeEffectReadOnly and KeyframeEffect; r=bz,hiro
MozReview-Commit-ID: FvTMGjxfRXk
2018-05-07 11:08:59 +09:00
Brian Birtles
1319f89405 Bug 1456394 - Rename KeyframeEffectReadOnly.{h,cpp} to KeyframeEffect.{h,cpp}; r=bz,hiro
MozReview-Commit-ID: 5Q7oQV8vmgS
2018-05-07 11:07:06 +09:00
Brian Birtles
8df0d2bf77 Bug 1456394 - Move KeyframeEffect constructors to KeyframeEffectReadOnly.{h,cpp}; r=bz,hiro
By doing this we will have all the KeyframeEffect* related code in
KeyframeEffectReadOnly.{h,cpp} so we can rename them to KeyframeEffect.{h,cpp}
in the next patch and make it easier to examine the history for the bulk of this
code.

The added [HeaderFile] annotation will be removed in a subsequent patch in this
series.

MozReview-Commit-ID: Fxk6fPukgAS
2018-05-07 11:07:01 +09:00
Brian Birtles
32f5b34a27 Bug 1456394 - Moving timing updates to KeyframeEffectReadOnly; r=hiro
This might seem a bit odd but later in this patch series we will rename
KeyframeEffectReadOnly to KeyframeEffect.

MozReview-Commit-ID: H9b8brtA36W
2018-05-07 11:02:12 +09:00
Brian Birtles
c7ad93550d Bug 1456394 - Move KeyframeEffect attribute setters to KeyframeEffectReadOnly; r=bz,hiro
It might seem a bit odd to move the setters to the read-only class that we are
ultimately planning to drop but the reason for doing this is that
KeyframeEffectReadOnly.cpp has a *lot* more code than KeyframeEffect.cpp.

In order to simplify code archaeology we take the following approach:

  1. Move code from KeyframeEffect.{h,cpp} to KeyframeEffectReadOnly.{h,cpp}.
  2. Delete KeyframeEffect.{h,cpp}.
  3. Rename KeyframeEffectReadOnly.{h,cpp} to KeyframeEffect.{h,cpp}.

Note that at least steps 2 and 3 must be performed in separate patches as
mercurial does not successfully track renames when the target name already
exists.

MozReview-Commit-ID: LwJoxGJitKR
2018-05-07 10:48:48 +09:00
Jonathan Watt
19a102f496 Bug 1448294 - Clean up naming of 'styleContext' variables after the big nsStyleContext rename. r=emilio
Reviewers: emilio

Bug #: 1448294

Differential Revision: https://phabricator.services.mozilla.com/D796

MozReview-Commit-ID: KJq2i9nrg7y
2018-03-25 20:49:58 +02:00
Narcis Beleuzu
2764b805dc Backed out 2 changesets (bug 1448294, bug 1448337) for wpt and reftest failures on /mathml
Backed out changeset 180051cfe357 (bug 1448294)
Backed out changeset c188176f3289 (bug 1448337)
2018-03-25 21:31:08 +03:00
Jonathan Watt
68804bb222 Summary: Bug 1448294 - Clean up naming of 'styleContext' variables after the big nsStyleContext rename. r=emilio
Reviewers: emilio

Bug #: 1448294

Differential Revision: https://phabricator.services.mozilla.com/D796
2018-03-22 13:49:21 +00:00
Emilio Cobos Álvarez
1d4859a89a Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt on a CLOSED TREE
MozReview-Commit-ID: JPopq0LudD
2018-03-22 20:06:24 +01:00
Emilio Cobos Álvarez
97286b35c8 Back out changeset b683bb3f22a1 (Bug 1447483) for not landing with all the files. r=me on a CLOSED TREE
This reverts commit 1808914126bb9f9e4a82d2c3d7ac961885fe7d62.

MozReview-Commit-ID: 5skESBseEvo
2018-03-22 20:05:22 +01:00
Emilio Cobos Álvarez
1f5d8de5cc Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt
MozReview-Commit-ID: JPopq0LudD
2018-03-22 19:48:42 +01:00
63b6495c6f Bug 1413104 - Drop telemetry probes for layer size; r=botond
MozReview-Commit-ID: FtpTJDC50A8
2017-12-14 21:36:09 +00:00
Brian Birtles
14ebce261c Bug 1418220 - Drop AnimationUtils::IsCoreAPIEnabled(ForCaller) and use nsContentUtils::AnimationsAPICoreEnabled / nsDocument::IsWebAnimationsEnabled instead; r=hiro
The difference between nsDocument::IsWebAnimationsEnabled and
nsContentUtils::AnimationsAPICoreEnabled is that the former checks the caller
type and treats the preference as set for system callers which is particularly
needed for enabling things like the getProperties() API for DevTools etc.

Generally in API-facing call sites we have a JS context / CallerType and so we
want to distinguish between system callers and non-system callers. However, for
a few internal uses--specifically filling-in missing keyframes--we don't care
about the caller type and always follow the pref setting.

That may or not be quite what we want, but this patch doesn't change that except
for one call site: KeyframeUtils::GetKeyframesFromObject. This patch changes
GetKeyframesFromObject from *not* checking the caller type to checking the
caller type. That seems to be the correct behavior here since this is called
from KeyframeEffectReadOnly::SetKeyframes(JSContext*, JS::Handle<JSObject*>,
ErrorResult&) (i.e. a JS API-facing call site) where we *should* enable the full
API when the caller is chrome code.

MozReview-Commit-ID: FQJBk3zytwd
2017-11-20 14:18:43 +09:00
Jonathan Watt
255f0e0b47 Bug 1417365 - Unified build issues in dom/animation. r=baku 2017-10-26 11:55:28 +01:00
Boris Chiou
508c013dbc Bug 1339690 - Part 3: Drop spacing mode. r=birtles,smaug
MozReview-Commit-ID: 1c7jpzWQjVP
2017-06-13 15:09:19 +08:00
Botond Ballo
057ea9c8af Bug 1361915 - Record telemetry each time we try to run a transform animation on the compositor. r=birtles,bsmedberg
The telemetry is recorded once per effect:target pair, and is intended for
comparison with the telemetry added in bug 1349808.

MozReview-Commit-ID: 8JYbAifjmki
2017-05-03 21:39:42 -04:00
Wes Kocher
3609da7ace Backed out changeset 3a3a19e0d903 (bug 1361915) for build bustage a=backout
MozReview-Commit-ID: 3BG6xILsiXW
2017-05-11 15:11:29 -07:00
Botond Ballo
970c843e28 Bug 1361915 - Record telemetry each time we try to run a transform animation on the compositor. r=birtles,bsmedberg
The telemetry is recorded once per effect:target pair, and is intended for
comparison with the telemetry added in bug 1349808.

MozReview-Commit-ID: 8JYbAifjmki
2017-05-03 21:39:42 -04:00
Boris Chiou
235f10203b Bug 1349808 - Add telemetry for cases when we can't run async animations due to layer size being too large. data-review=bsmedberg, r=birtles,botond,bsmedberg
MozReview-Commit-ID: 61DBw1DHbQA
2017-03-24 15:53:54 +08:00