Commit Graph

210 Commits

Author SHA1 Message Date
Jeff Muizelaar
7e82b47fd1 Bug 1049564. Backout unintentionally landed code.
CLOSED TREE
2014-09-08 11:07:48 -04:00
Jeff Muizelaar
e9003d6610 Bug 1049564. Remove sketchy sizing code from CompositorOGL. r=nical
This came from the layers refactoring and taking it out doesn't
seem to cause any test failures.
2014-09-08 10:54:26 -04:00
Botond Ballo
244897cf27 Bug 1057578 - Change the overscroll transform exposed by APZC from a ViewTransform to a Matrix4x4. r=kats 2014-08-29 14:41:49 -04:00
David Zbarsky
dab4416cdc Bug 1060165: Remove gfxPoint3D r=nical 2014-08-29 14:47:30 -04:00
Kartikaya Gupta
105484c576 Bug 1055760 - Update AsyncCompositionManager's animation-sampling code to deal with multiple FrameMetrics. r=botond 2014-08-27 22:13:42 -04:00
Kartikaya Gupta
a8c25c63cf Bug 1055760 - Update AsyncCompositionManager's fixed- and sticky-layer-adjusting code to deal with multiple FrameMetrics. r=botond 2014-08-27 22:13:42 -04:00
Kartikaya Gupta
ba16305db9 Bug 1055760 - Update AsyncCompositionManager's scrollbar-adjusting code to deal with multiple FrameMetrics. r=botond 2014-08-27 22:13:42 -04:00
Kartikaya Gupta
4921622f56 Bug 1055760 - Update AsyncCompositionManager's async-transform application code to deal with multiple FrameMetrics. r=botond 2014-08-27 22:13:41 -04:00
Kartikaya Gupta
c11731dee2 Bug 1055760 - Replace GetPrimaryScrollableLayer with functions that are more appropriate. r=BenWa 2014-08-27 22:13:41 -04:00
Kartikaya Gupta
9d9e2ce30a Bug 1055760 - Update tiling code to use LayerMetricsWrapper. r=botond,BenWa 2014-08-27 22:13:41 -04:00
Kartikaya Gupta
e4637f37f2 Bug 1055760 - Rearrange AlignFixedAndStickyLayers; no functional changes. r=botond 2014-08-27 22:13:40 -04:00
Kartikaya Gupta
2578cbf15e Bug 1052063 - Do a single pass over the APZC tree to advance animations before sampling. r=botond 2014-08-19 21:17:10 -04:00
Kartikaya Gupta
0797f2e6f4 Bug 1052063 - Reverse the order of transforms applied for layers during composition. r=botond 2014-08-19 21:17:09 -04:00
Kartikaya Gupta
37454b9882 Bug 1051985 - Move the APZ from ContainerLayer to Layer. r=mattwoodrow,botond 2014-08-11 20:00:37 -04:00
Kartikaya Gupta
18bbff8294 Bug 1051985 - Move the FrameMetrics from ContainerLayer to Layer. r=mattwoodrow,BenWa 2014-08-11 20:00:36 -04:00
Brian Birtles
f3e3f8efd7 Bug 1040543 part 8 - Move timing parameters from AnimationPlayer to Animation; r=bz
As the second step in dividing functionality between AnimationPlayer and
Animation, this patch moves the AnimationTiming member from AnimationPlayer to
Animation.

Most of this patch is simply moving code around. However, one significant
functional difference is that Animation::GetLocalTime() uses the mParentTime
member which is set when the Animation is updated by the player it is attached
to.

Other less significant differences are:

* AnimationPlayer::GetLocalTime is renamed to GetCurrentTimeDuration
  In Web Animations, animation players have a (writeable) "current time" and
  animations have a (read-only) "local time".
  We would call the method simply "GetCurrentTime" (instead of
  "GetCurrentTimeDuration") but GetCurrentTime is the name of the method used in
  the content-facing API where it returns a double.

* "IsCurrent" is defined on both AnimationPlayer and Animation with the version
  in AnimationPlayer serving mostly as a convenience shortcut to the version on
  Animation.

* Animation::GetComputedTiming (previously on AnimationPlayer) now makes the
  timing parameter optional since most of the time it is not needed.
2014-08-10 17:06:50 +10:00
Brian Birtles
5af463c37a Bug 1040543 part 1 - Move/Rename ElementAnimations to dom::AnimationPlayer; r=bz
This patch renames mozilla::ElementAnimations to mozilla::dom::AnimationPlayer
and moves the code from layout/style/AnimationCommon.cpp to
dom/animation/AnimationPlayer.cpp.

It also moves various helper classes needed by AnimationPlayer to
AnimationPlayer.cpp and moves them from the mozilla::css namespace to the
mozilla namespace.

Beyond that, there are no functional changes contained in this patch.

The renaming of various members and variables that used to refer to
ElementAnimation objects but now refer to AnimationPlayer objects--to give them
a more appropriate name--is performed in a subsequent patch.
2014-08-10 17:06:44 +10:00
David Zbarsky
37bec6718c Bug 952977: More gfx::Matrix cleanups r=nical 2014-08-01 08:31:49 -04:00
David Zbarsky
59ff262b8d Bug 952977: More gfx::Matrix cleanup in APZC r=nical 2014-08-01 08:31:49 -04:00
David Zbarsky
62f624f451 Bug 952977: More gfx::Matrix cleanup in AsyncCompositionManager r=nical 2014-08-01 08:31:46 -04:00
Wes Kocher
e230d2b1cf Backed out 11 changesets (bug 952977) for reftest-no-accel failures
Backed out changeset ea2367c19da3 (bug 952977)
Backed out changeset c401c8748eb3 (bug 952977)
Backed out changeset a93e9ff1043b (bug 952977)
Backed out changeset 765b7f67163e (bug 952977)
Backed out changeset 3d8cf4f5777f (bug 952977)
Backed out changeset 8993710a3ab3 (bug 952977)
Backed out changeset 1298c39b745a (bug 952977)
Backed out changeset be0b899fbe5e (bug 952977)
Backed out changeset f69bea1f1feb (bug 952977)
Backed out changeset 1a745777f07e (bug 952977)
Backed out changeset 5ad1d18dfe17 (bug 952977)
2014-07-29 18:58:46 -07:00
David Zbarsky
f1c024ef08 Bug 952977: More gfx::Matrix cleanups r=nical 2014-07-29 19:18:51 -04:00
David Zbarsky
9615af3c80 Bug 952977: More gfx::Matrix cleanup in APZC r=nical 2014-07-29 19:18:51 -04:00
David Zbarsky
4e72ae5005 Bug 952977: More gfx::Matrix cleanup in AsyncCompositionManager r=nical 2014-07-29 19:18:49 -04:00
Botond Ballo
aa52ff7f09 Bug 1035598 - Apply async scale correctly to ContainerLayers whose content does not start at the origin. r=kats,mattwoodrow 2014-07-22 18:10:54 -04:00
Kartikaya Gupta
e480e44f68 Bug 1040906 - Replace the out-param on matrix conversion helpers with a return value. r=Bas 2014-07-22 09:12:14 -04:00
Botond Ballo
e6abe57b85 Bug 1036119 - Have AsyncCompositionManager support layers which are both scrollable and fixed-position. r=Cwiiis 2014-07-17 16:08:33 -04:00
Brian Birtles
fb03475f7c Bug 1036287 part 3 - Make GetLocalTimeAt return a nullable time duration; r=dholbert
Once we support arbitrary timelines which can return null current time values,
the local time of an animation can also become null so this patch updates
ElementAnimation::GetLocalTimeAt to return a Nullable<TimeDuration>.
Doing this also allows us to pass the result of GetLocalTimeAt directly to
GetComputedTimingAt.
2014-07-16 09:02:32 +09:00
Brian Birtles
d2db522bc3 Bug 1010067 part 2 - Rename nsStyleAnimation.{h,cpp} to StyleAnimationValue.{h,cpp}; r=dbaron 2014-06-24 15:29:54 +09:00
Brian Birtles
8fe87f4a81 Bug 1010067 part 1 - Rename nsStyleAnimation::Value to mozilla::StyleAnimationValue; r=dbaron
This patch also moves the static methods defined on nsStyleAnimation so that
they are part of StyleAnimationValue class.

Renaming nsStyleAnimation.h to StyleAnimationValue.h is performed in a separate
patch to simplify the diff (since some tools may not handle file renames
elegantly).
2014-06-24 15:29:54 +09:00
Brian Birtles
9a6cacb955 Bug 1025709 part 1 - Move mDelay to AnimationTiming; r=heycam
This patch is the first part in preparing the way to merge ElementTransitions
with CommonElementAnimationData (which we'll eventually rename to something
nicer).

Here we move mTiming from CommonElementAnimationData to the AnimationTiming
struct. While this is not strictly necessary in order to do the later
refactoring it makes it simpler since it:

- Divides time calculation into calculation based on dynamic play state (the
  responsibility of animation players in Web Animations terms) and static
  author-specified timing parameters (a property of animations in Web Animations
  terms).
- In future we will probably put animations on the compositor during their
  delay phase so we will want the delay to be present in the AnimationTiming
  struct then.
- Makes AnimationTiming line up with the dictionary of the same name in Web
  Animations.
2014-06-20 12:39:23 +09:00
Botond Ballo
62686382b3 Bug 1019996 - Apply overscroll effect to fixed and sticky layers. r=kats, r=Cwiiis 2014-06-12 20:27:32 -04:00
Botond Ballo
35cd87d497 Bug 1019996 - Remove an unnecessary call to AlignFixedAndStickyLayers. r=Cwiiis 2014-06-12 16:40:35 -04:00
"Kan-Ru Chen (陳侃如)"
29b63bbf75 Bug 879475 - Part 007. Allow nested remote mozbrowsers to push layer transactions to the compositor r=mattwoodrow
Based on original patch by David Zbarsky <dzbarsky@gmail.com>
2014-06-11 13:44:39 +08:00
Markus Stange
6d04354113 Bug 1013392 - Adjust the search algorithm for async scrollbar thumb shifting. r=kats 2014-06-04 14:44:26 +02:00
Victor Porof
298ca2ed1b Bug 1007203 - Always add categories when pushing to the pseudostack, r=djvj 2014-05-23 17:12:29 -04:00
Brian Birtles
92b5437cf5 Bug 1015803 - Align Layers' Animation.numIterations with AnimationTiming.mIterationCount; r=dholbert
In the IPC Animation struct used in layers code we have a member called
'numIterations' where 'iterate forever' is represented by -1.

In layout/style however we have an AnimationTiming struct with an
mIterationCount member where 'iterate forever' is represented by
NS_IEEEPositiveInfinity().

This patch renames 'numIterations' to 'iterationCount' and uses infinity to
represent 'iterate forever'.
2014-05-28 16:51:50 +09:00
Brian Birtles
666dae6180 Bug 1004871 part 9 - Move ElementAnimations::GetPositionInIteration to ElementAnimation::GetComputedTimingAt; r=dholbert
This patch simply moves the code from ElementAnimations to ElementAnimation so
that it can later be used in transitions code and so we can later move
EnsureStyleRuleFor to ElementAnimation.
2014-05-28 16:51:50 +09:00
Brian Birtles
f05c7326f6 Bug 1004871 part 6 - Make GetPositionInIteration return a ComputedTiming object; r=dholbert
This patch makes ElementAnimations::GetPositionInIteration return
a ComputedTiming object instead of just a time portion (time fraction).

Since the ComputedTiming object includes phase information, we can fix those
parts of EnsureStyleRule and GetEventsAt that were temporarily using the time
portion to guess if the animation might have finished or not.
2014-05-28 16:51:49 +09:00
Brian Birtles
b7323fca5d Bug 1004871 part 3 - Replace parameters to GetPositionInIteration with an AnimationTiming object; r=dholbert
This patch makes use of the AnimationTiming struct introduced in the previous
patch to simplify calls to ElementAnimations::GetPositionInIteration.
2014-05-28 16:51:49 +09:00
Brian Birtles
978ef6050e Bug 1004871 part 1 - Factor event queuing out of EnsureStyleRuleFor; r=dholbert
This patch moves event queuing out of EnsureStyleRuleFor into a separate method.
This is a preparatory step towards making GetPositionInIteration into a more
generic method for calculating the current time fraction.

In order to achieve this, GetPositionInIteration needs to be able to calculate
the correct time portion for times outside the range [0, 1] even when it is not
passed a ElementAnimation object. Specifically, it needs the fill mode of the
animation to be passed in.

(Rather than using FillForwards/FillBackwards this patch just compares the
NS_STYLE_ANIMATION_FILL_MODE_* values directly but FillForwards/FillBackwards
are restored in a subsequent patch when they are added to the struct used to
lump the timing parameters together.)

There are a number of places where positionInIteration is used to determine if
the current sample occurs in the active phase or after. This is sub-optimal but
is fixed in a subsequent patch in this series.

The actual work of removing event queuing from GetPositionInIteration is
deferred to a subsequent patch in order to keep the changes as small as
possible. This patch simply makes separate calls to GetPositionInIteration for
interpolating and for event queuing.
2014-05-28 16:51:48 +09:00
Nicolas Silva
8a0c258ce9 Bug 1013292 - Fix some using namespace + unified build issues in gfx code. r=kats 2014-05-22 12:11:45 +02:00
Jerry Shih
b4f8ab1ee6 Bug 993019 - [Camera] [Gallery] Orientation response is slow after launching from Camera app. r=kats 2014-04-24 05:43:00 -04:00
Kartikaya Gupta
117aac7861 Bug 980500 - Allow scrollbars to be children of the scrollable container layer. r=botond 2014-04-11 19:12:44 -05:00
Kartikaya Gupta
9870c2a6d0 Bug 948377 - Remove unwanted rounding in CalculateCompositedRectInCssPixels; add a CalculateCompositedSizeInCssPixels also. r=botond 2014-03-28 10:36:47 -04:00
Chadd Williams
2b825153b5 Bug 980493 - Transition FrameMetrics::mScrollId to use a getter/setter. r=botond 2014-03-21 17:48:08 -04:00
Botond Ballo
66174331db Bug 980493 - Transition FrameMetrics::mScrollOffset to use a getter/setter. r=kats 2014-03-13 02:34:34 -04:00
Brian Birtles
576edd2a13 Bug 972199 part 1 - Make SampleAnimations filter out animations that are yet to start; r=nrc
When restoring the refresh driver after testing we can arrive at a situation
where a layer has an animation that has yet to start. However, calling
ElementAnimations::GetPositionInIteration with a negative value from the
compositor thread is an error.

This patch detects animations on the compositor thread that are yet-to-start and
skips them when sampling. It also moves the activeAnimations = true line up as
otherwise we would need special logic to wake up the compositor after the delay
has finished.
2014-03-05 10:19:15 +09:00
Matt Woodrow
85ed01610a Bug 966679 - Resolve RefLayers during IPDL transactions. r=nical 2014-02-11 17:01:20 +13:00
David Zbarsky
5badebe3ba Bug 952977: Convert AsyncCompositionManager to gfx::Matrix4x4 r=nical 2014-01-27 15:25:21 -05:00