Commit Graph

312 Commits

Author SHA1 Message Date
Carsten "Tomcat" Book
c64603aa7e Merge mozilla-central to autoland 2017-01-12 10:39:04 +01:00
peter chang
c49fdee3dd Bug 1328229 - Remove the layer dependency for SampleAnimation, r=birtles
MozReview-Commit-ID: 78D3c7t8tIi
2017-01-10 10:03:47 +08:00
Hiroyuki Ikezoe
9940e0fd49 Bug 1325193 - Get underlying style value in the case where the last segment is missing keyframe for accumulation of iteration composite. r=birtles
Both of tests in this patch fail and cause lots of assertions without this fix.

MozReview-Commit-ID: CFrWSlM0Us5
2017-01-12 10:28:46 +09:00
Hiroyuki Ikezoe
d226a317df Bug 1311620 - Part 2: Don't call StyleAnimationValue::GetUnit() against uninitialized values, use IsNull() instead. r=birtles
MozReview-Commit-ID: JAcHqsgpdDB
2016-12-24 17:26:50 +09:00
Hiroyuki Ikezoe
51dbd0134d Bug 1305325 - Part 14: Compose base values on the compositor. r=birtles
MozReview-Commit-ID: EWumBqQ82RT
2016-12-04 08:07:40 +09:00
Hiroyuki Ikezoe
e6601b6c53 Bug 1305325 - Part 10: Make SampleValue return StyleAnimationValue. r=birtles
MozReview-Commit-ID: Izr6Cvee96Q
2016-12-04 08:07:40 +09:00
Hiroyuki Ikezoe
d8041fa2b6 Bug 1305325 - Part 9: Send animations even if it's paused, finished or zero playback rate. r=birtles.
If all of animations on an element are paused, finished or zero playback rate,
we don't send those animations to the compositor.
Also in this change, we send zero active duration animations to the compositor
in the same way as normail animations.

MozReview-Commit-ID: CHjv6Buy5fa
2016-12-02 15:34:13 +09:00
Bas Schouten
cd0155b68f Bug 1317843 - Split LayerManagerComposite into two classes. r=jrmuizel 2016-11-24 18:11:27 +13:00
Hiroyuki Ikezoe
723ccec4d8 Bug 1304886 - Part 1: Make StyleAnimationValue::Accumulate() infallible. r=birtles
MozReview-Commit-ID: 9ve3k6a3eAg
2016-11-16 20:32:26 +09:00
Botond Ballo
064e2717e4 Bug 1315854 - Account for rounding error when checking if certain transforms are the identity in AsyncCompositionManager::AlignFixedAndStickyLayers(). r=mstange
MozReview-Commit-ID: 4xxuqWHedeS
2016-11-16 15:59:24 -05:00
Kartikaya Gupta
88d479e33e Bug 1311030 - Remove more code unused since the deletion of JPZ. r=snorp
MozReview-Commit-ID: 1p8aWShTrQf
2016-10-18 12:34:25 -04:00
Kartikaya Gupta
374b5eeb47 Bug 1305969 - Ensure we don't clear the paint sync id unless it has actually been sent to Java via SyncViewportInfo. r=rbarker
MozReview-Commit-ID: FXy6xeWjqHq
2016-10-15 09:02:50 -04:00
Hiroyuki Ikezoe
b3c188145a Bug 1223658 - Part 3: Consider fillMode in compositor thread as well. r=birtles
We need to consider fill mode in compositor thread as well as other properties
because pulling the animation back from the compositor thread is sometimes
delayed due to the main thread busyness.  In such situations, if there is
another animation running on the main thread on the same element, users can
easily notice a gap between both of animations.

MozReview-Commit-ID: 1i7YTWboira
2016-10-14 19:14:11 +09:00
Hiroyuki Ikezoe
c2817650ed Bug 1223658 - Part 2: Pass delay property to compositor. r=birtles
The check of negative elapsedDuration is basically no longer valid since
animation delay is not factored into start time any more.  But still we have
somtimes met negative elapsedDuration sice we use a previous vsync time stamp
for async animations to make the animations more sync.  This is not a problem
in most cases but makes two reftests intermitent failure because both of them
used steps(1, start), the steps(1, start) composed different results in the
before phase and in the active phase. To avoid this difference this patch
replace the steps(1, start) with steps(1, end).

Once we incorpolate playbackRate into GetCurrentOrPendingStartTime, we don't
need to call AnimationTimeToTimeStamp for deviding delay by playbackRate since
the time passed to AnimationTimeToTimeStamp does not contain delay any more.

MozReview-Commit-ID: IVE2IFfNgm0
2016-10-14 19:14:01 +09:00
Kevin Wern
0249c4fc96 Bug 1227233: Increase scope of TreeTraversal.h to by-value traversal r=botond
MozReview-Commit-ID: LOw1k792T10
2016-09-22 12:31:26 -04:00
Jim Chen
e32ed5b400 Bug 1306083 - 1. Use AndroidCompositorWidget to access GeckoLayerClient; r=kats
Add AndroidCompositorWidget to act as the intermediary between gfx code
and GeckoLayerClient, in place of AndroidBridge. AndroidCompositorWidget
currently inherits from InProcessCompositorWidget, but when Android
eventually supports OOP compositing, it will be made to inherit from
CompositorWidget directly.
2016-10-03 12:26:00 -04:00
Botond Ballo
5ed0199f11 Bug 1288210 - In AlignFixedAndStickyLayers, propagate the unconsumed portion of the adjustment to descendant layers. r=mstange
MozReview-Commit-ID: DOOCRA0RHtr
2016-09-23 19:32:57 -04:00
Botond Ballo
5e1641d688 Bug 1288210 - Don't use ForEachNode in AlignFixedAndStickyLayers. r=mstange
It would make the next change awkard.

This also temporarily removes the current, incomplete, handling of an
unconsumed translation, but this will be added back (and made complete)
in the next commit.

MozReview-Commit-ID: 2tPOjEMRKfj
2016-09-23 19:32:09 -04:00
Botond Ballo
b39572b687 Bug 1288210 - Simplify AlignFixedAndStickyLayers by not considering the local transform. r=kats,mstange
There shouldn't be a local transform because we create container layers
for fixed layers, so any transform would be on a descendant layer instead.

MozReview-Commit-ID: Kmya9vHZx1n
2016-09-28 13:33:38 -04:00
Botond Ballo
14ad0c6f0f Bug 1288210 - Simplify AlignFixedAndStickyLayers by not considering the ancestor transform. r=kats,mstange
There shouldn't be an ancestor transform, because transforms create
containing blocks for fixed-position descendants.

MozReview-Commit-ID: IVp1djLgIV9
2016-09-23 19:52:15 -04:00
Botond Ballo
dfe73be5b6 Bug 1288210 - Fixed a bug in how the ancestor transform is computed in AlignFixedAndStickyLayers. r=mstange
MozReview-Commit-ID: 8TL7PNpYv6R
2016-09-26 17:19:34 -04:00
Botond Ballo
a621afb00a Bug 1288210 - Improve the use of strongly typed units in AsyncCompositionManager. r=mstange
MozReview-Commit-ID: 1EfGg0MNSBm
2016-09-21 17:33:29 -04:00
Hiroyuki Ikezoe
68331a33cc Bug 1216843 - Part 2: Implement effect iteration composition. r=birtles, r=smaug
MozReview-Commit-ID: 6u7WtXwL3y3
2016-09-13 11:48:44 +09:00
Nicolas Silva
fdb7ab259e Bug 1301027 - Remove the matrix * point operator and replace it with TransformPoint methods. r=Bas 2016-09-08 18:26:03 +02:00
Brian Birtles
cf51ad1c35 Bug 1300045 part 2 - Split KeyframeEffect.cpp into KeyframeEffect{ReadOnly}.cpp r=hiro,smaug
MozReview-Commit-ID: DdBEicunApv
2016-09-04 16:34:21 +09:00
Nicholas Nethercote
177f76c5cc Bug 1298722 - Use MOZ_MUST_USE in StyleAnimationValue. r=birtles. 2016-08-30 16:10:59 +10:00
Boris Chiou
d47a637f93 Bug 1049975 - Part 5: Move timing related code into AnimationEffectReadOnly. r=birtles
Move the mTiming, mAnimation, and the implementaion of timing into
AnimationEffectReadOnly.

MozReview-Commit-ID: EZhlbphVvCo
2016-07-25 18:27:33 +08:00
Hiroyuki Ikezoe
065f63bf9a Bug 1279071 - Change GetOpacity to GetAnimationOpacity to return opacity value applied by animation. r=birtles,mstange
MozReview-Commit-ID: 6rMUlnppOeK
2016-08-25 09:07:56 +09:00
Brian Birtles
b95d814ea1 Bug 1286476 part 2 - Respect the playback rate when calculating phase boundaries; r=hiro
This implements the spec change in 21de090dac

The spec change refers to a binary 'animation direction' flag. Instead of that,
however, we just pass the playback rate along and use it inside
GetComputedTimingAt since this seems simpler.

Also, this patch moves the implementation of
KeyframeEffectReadOnly::GetComputedTiming from the header file into the .cpp
file. This is because with this change, GetComputedTiming needs to call
mAnimation->PlaybackRate() and so mozilla::dom::Animation needs to be a complete
type. However, simply including Animation.h doesn't work because of a cyclic
dependency between KeyframeEffect.h and Animation.h. We might be able to fix
this later but since yet-to-land bug 1049975 moves this code around a lot, I'd
rather not touch it too much just now.

MozReview-Commit-ID: 1h6XRh4xmfI
2016-08-17 08:28:41 +09:00
Wes Kocher
c7a7ed3ee4 Backed out 3 changesets (bug 1286476) for frequent windows wpt failures in phases-and-states.html CLOSED TREE
Backed out changeset 53bbfa02d45d (bug 1286476)
Backed out changeset 3947ab570883 (bug 1286476)
Backed out changeset ffd8c37eb695 (bug 1286476)
2016-08-17 10:41:46 -07:00
Brian Birtles
af36ab2fce Bug 1286476 part 2 - Respect the playback rate when calculating phase boundaries; r=hiro
This implements the spec change in 21de090dac

The spec change refers to a binary 'animation direction' flag. Instead of that,
however, we just pass the playback rate along and use it inside
GetComputedTimingAt since this seems simpler.

Also, this patch moves the implementation of
KeyframeEffectReadOnly::GetComputedTiming from the header file into the .cpp
file. This is because with this change, GetComputedTiming needs to call
mAnimation->PlaybackRate() and so mozilla::dom::Animation needs to be a complete
type. However, simply including Animation.h doesn't work because of a cyclic
dependency between KeyframeEffect.h and Animation.h. We might be able to fix
this later but since yet-to-land bug 1049975 moves this code around a lot, I'd
rather not touch it too much just now.

MozReview-Commit-ID: 1h6XRh4xmfI
2016-08-17 08:28:41 +09:00
Randall Barker
bac11cde77 Bug 1291373 - [geckoview] part 3, Remove MOZ_ANDROID_APZ r=botond,snorp 2016-08-16 14:33:43 -07:00
David Anderson
67d2c40688 Send vsync rates to the compositor to avoid querying gfxPlatform. (bug 1288822, r=mchang) 2016-07-26 01:57:11 -07:00
Botond Ballo
589d851fe8 Bug 1214151 - If a sticky element does not consume all of the un-adjustment for an async transform, allow a descendant fixed or sticky element to consume it. r=mstange
MozReview-Commit-ID: HHGjs4GZGNX
2016-06-29 18:25:31 -04:00
Nicholas Nethercote
851753a95d Bug 1286709 - Assert the non-nullness of an GetApzc() call's return value. r=kats. 2016-07-15 09:19:57 +10:00
Bob Owen
e10d32b78f Bug 1285991: Improve ForEachNode use in Resolve/DetachRefLayers. r=mattwoodrow 2016-07-13 07:28:02 +01:00
Carsten "Tomcat" Book
c2d94ceb76 Backed out changeset 6044eec77a2c (bug 1285991) for bustage on a CLOSED TREE 2016-07-12 11:45:54 +02:00
Bob Owen
149feada29 Bug 1285991: Improve ForEachNode use in Resolve/DetachRefLayers. r=mattwoodrow 2016-07-12 10:18:23 +01:00
Hiroyuki Ikezoe
ba2595fb00 Bug 1208411 - Delay vsync timestamps on the compositor to make async animations more sync. r=mchang,mstange
MozReview-Commit-ID: Aes0jyOnojn
2016-06-23 06:24:39 +09:00
David Anderson
280ba1bbfc Move CompositorBridgeParent::IsInCompositorThread to CompositorThreadHolder. (bug 1273017 part 3, r=mattwoodrow) 2016-05-15 23:40:13 -07:00
Botond Ballo
cc530c3c37 Bug 1267438 - Minor cleanup to AsyncCompositionManager. r=kats
MozReview-Commit-ID: 8DlQzhsjUOO
2016-05-11 19:39:37 -04:00
Kevin Wern
4d07bc92ea Bug 1227231: Use generic tree traversal algorithms for loops over Layer trees. r=botond
Create an Iterator type with classes ForwardIterator and ReverseIterator,
having GetFirstChild/GetNextSibling and GetLastChild/GetPrevSibling
methods, respectively. Specify the iterator type for each call to
ForEachNode. With this, we can support trees with forward and reverse
sibling structures.

Additionally, apply these algorithms to all Layer recursive traversals,
where applicable. Update tests to ensure both directions yield expected
results.

MozReview-Commit-ID: iYpX22XHTa
2016-03-10 01:20:40 -08:00
Botond Ballo
cb8a8e5b3d Bug 1267438 - Remove the redundant aTransformAffectsLayerClip argument to AlignFixedAndStickyLayers. r=mstange
MozReview-Commit-ID: AjHA70EdCeX
2016-05-04 20:20:57 -04:00
Botond Ballo
a8eb3b8312 Bug 1267438 - Remove the (no longer used) isClipFixed=false annotation. r=mstange
MozReview-Commit-ID: LicG7zFHnX3
2016-05-04 20:07:42 -04:00
Botond Ballo
2e3613f202 Bug 1267438 - Use the scrolled clip in AsyncCompositionManager. r=mstange
MozReview-Commit-ID: LjV8bEhCexE
2016-05-10 01:10:29 -04:00
Botond Ballo
c830b3a985 Bug 1267438 - During AlignFixedAndStickyLayers, only un-adjust the fixed portion of a layer's clip rect. r=mstange
MozReview-Commit-ID: 62JVHL5AVhP
2016-05-11 15:16:57 -04:00
Botond Ballo
4ee568181f Bug 1267438 - Factor out a helper function to check if a layer is fixed or sticky. r=mstange
MozReview-Commit-ID: A1qrxW3KVVE
2016-05-04 17:32:12 -04:00
Botond Ballo
38fa31a24e Bug 1267438 - Group ScrollMetadata's optional clip rect and mask layer index into a LayerClip structure. r=mstange
MozReview-Commit-ID: 6W0GZYkioov
2016-04-29 16:14:21 -04:00
Botond Ballo
69d04c0329 Bug 1267470 - Move more fields from FrameMetrics to ScrollMetadata. r=kats
MozReview-Commit-ID: zxtt1NNcDe
2016-04-27 16:06:34 -04:00
Botond Ballo
0257b4cdc4 Bug 1257288 - Move IntersectMaybeRects() to gfx/2d/Rect.h. r=kats
MozReview-Commit-ID: C99GwsLN7Zg
2016-04-20 17:16:09 -04:00