b8bfc05c3e991ff7baed0b31b7e492b36f6975a7: Bug 1230110 - HTMLImageElement should call its superclass's DestroyContent(). r=smaug
Andrew McCreight <continuation@gmail.com> - Thu, 03 Dec 2015 14:03:12 -0800 - rev 275593
Push
29759 by cbook@mozilla.com at Fri, 04 Dec 2015 10:59:21 +0000
Bug 1230110 - HTMLImageElement should call its superclass's DestroyContent(). r=smaug
87ea4e496d96c7429cda33df5dbfd81ef3e0535e: Bug 1230118 - added asserts on aOwner and aOwner->Elm() r=surkov
Bogdan Postelnicu <bogdan.postelnicu@softvision.ro> - Thu, 03 Dec 2015 14:07:43 -0800 - rev 275592
Push
29759 by cbook@mozilla.com at Fri, 04 Dec 2015 10:59:21 +0000
Bug 1230118 - added asserts on aOwner and aOwner->Elm() r=surkov
c6341b8dd280ea968768f76857624ed897a02558: Backed out 2 changesets (bug 1221992) for windows debug assertions in browser_perf-categories-js-calltree.js
Wes Kocher <wkocher@mozilla.com> - Thu, 03 Dec 2015 15:56:59 -0800 - rev 275591
Push
29759 by cbook@mozilla.com at Fri, 04 Dec 2015 10:59:21 +0000
Backed out 2 changesets (
bug 1221992) for windows debug assertions in browser_perf-categories-js-calltree.js
Backed out changeset bcd90e591038 (
bug 1221992)
Backed out changeset 6affaa386b9b (
bug 1221992)
5cd26800514465d5a346d35b7b64847bc9d46c34: Bug 1228711 - Cubemap images must be square. - r=benwa
Jeff Gilbert <jgilbert@mozilla.com> - Thu, 03 Dec 2015 15:38:06 -0800 - rev 275590
Push
29759 by cbook@mozilla.com at Fri, 04 Dec 2015 10:59:21 +0000
Bug 1228711 - Cubemap images must be square. - r=benwa
00a1550117478befe5df1ef2ce1bc0e146b28bfd: Backed out 2 changesets (bug 1230118, bug 1230110) for windows debug assertions in browser_perf-categories-js-calltree.js
Wes Kocher <wkocher@mozilla.com> - Thu, 03 Dec 2015 15:38:04 -0800 - rev 275589
Push
29759 by cbook@mozilla.com at Fri, 04 Dec 2015 10:59:21 +0000
Backed out 2 changesets (
bug 1230118,
bug 1230110) for windows debug assertions in browser_perf-categories-js-calltree.js
Backed out changeset a9ce85f77af9 (
bug 1230118)
Backed out changeset b9d8d05aa4ee (
bug 1230110)
462a51797af1901934d422606a6a090cdb96bab0: Bug 1226118 part 15 - Remove no-longer-necessary delays from test_running_on_compositor.html; r=hiro
Brian Birtles <birtles@gmail.com> - Fri, 04 Dec 2015 08:34:18 +0900 - rev 275588
Push
29759 by cbook@mozilla.com at Fri, 04 Dec 2015 10:59:21 +0000
Bug 1226118 part 15 - Remove no-longer-necessary delays from test_running_on_compositor.html; r=hiro
Since part 3 in this patch series updated the way we clear the "running on
compositor" flag, we can update these tests so they no longer wait for this
flag (see
bug 1226118 comment 21).
1d358005eb9ea5114221581d84756a7c4dbaad69: Bug 1226118 part 14 - Rewrite GetAnimationCollection(nsIFrame*) in terms of the existing GetAnimationCollection; r=dholbert
Brian Birtles <birtles@gmail.com> - Fri, 04 Dec 2015 08:34:18 +0900 - rev 275587
Push
29759 by cbook@mozilla.com at Fri, 04 Dec 2015 10:59:21 +0000
Bug 1226118 part 14 - Rewrite GetAnimationCollection(nsIFrame*) in terms of the existing GetAnimationCollection; r=dholbert
This simply allows us to share the code that maps from pseudo-types to atoms.
432f10c70846b1d396c998a468cf1f3d4071fe48: Bug 1226118 part 13 - Move the GetAnimationCollection definitions side-by-side; r=dholbert
Brian Birtles <birtles@gmail.com> - Fri, 04 Dec 2015 08:34:17 +0900 - rev 275586
Push
29759 by cbook@mozilla.com at Fri, 04 Dec 2015 10:59:21 +0000
Bug 1226118 part 13 - Move the GetAnimationCollection definitions side-by-side; r=dholbert
This is to match the order in the header file and because in the next patch I'd
like to somewhat re-implement one method in terms of the other and having them
side-by-side will make it easier to read the code.
This patch makes no code changes whatsoever besides shifting the placement of
the function definitions within the .cpp file.
447288153b6ad3e6539bec31ce2aebc11f5b6227: Bug 1226118 part 12b - Rename CommonAnimationManager::GetAnimations to GetAnimationCollection; r=dholbert
Brian Birtles <birtles@gmail.com> - Fri, 04 Dec 2015 08:34:17 +0900 - rev 275585
Push
29759 by cbook@mozilla.com at Fri, 04 Dec 2015 10:59:21 +0000
Bug 1226118 part 12b - Rename CommonAnimationManager::GetAnimations to GetAnimationCollection; r=dholbert
This is to align with the existing GetAnimationCollection method that takes
a frame. Also, by making this name more specific hopefully it will be used less
since we are trying to move as much code as possible over to using EffectSet
instead of AnimationCollection.
8303696b13368c499352aef173315d87c47c14f5: Bug 1226118 part 12a - Make RestyleManager::GetMaxAnimationGenerationForFrame used frame-based GetAnimationCollection; r=dholbert
Brian Birtles <birtles@gmail.com> - Fri, 04 Dec 2015 08:34:17 +0900 - rev 275584
Push
29759 by cbook@mozilla.com at Fri, 04 Dec 2015 10:59:21 +0000
Bug 1226118 part 12a - Make RestyleManager::GetMaxAnimationGenerationForFrame used frame-based GetAnimationCollection; r=dholbert
07091e8fa0d36a20a6f94c9545cc99bf1c0f37d6: Bug 1226118 part 11 - Remove CommonAnimationManager::GetAnimationsForCompositor; r=dholbert
Brian Birtles <birtles@gmail.com> - Fri, 04 Dec 2015 08:34:17 +0900 - rev 275583
Push
29759 by cbook@mozilla.com at Fri, 04 Dec 2015 10:59:21 +0000
Bug 1226118 part 11 - Remove CommonAnimationManager::GetAnimationsForCompositor; r=dholbert
fdfecd6747254f5b1f60f7250e5d210845526b36: Bug 1226118 part 10 - Use EffectCompositor::GetAnimationsForCompositor in nsLayoutUtils; r=dholbert
Brian Birtles <birtles@gmail.com> - Fri, 04 Dec 2015 08:34:17 +0900 - rev 275582
Push
29759 by cbook@mozilla.com at Fri, 04 Dec 2015 10:59:21 +0000
Bug 1226118 part 10 - Use EffectCompositor::GetAnimationsForCompositor in nsLayoutUtils; r=dholbert
a23aff82ad55995872157f6e7823e912ee0946bd: Bug 1226118 part 9 - Use EffectCompositor::GetAnimationsForCompositor in nsDisplayList; r=dholbert
Brian Birtles <birtles@gmail.com> - Fri, 04 Dec 2015 08:34:17 +0900 - rev 275581
Push
29759 by cbook@mozilla.com at Fri, 04 Dec 2015 10:59:21 +0000
Bug 1226118 part 9 - Use EffectCompositor::GetAnimationsForCompositor in nsDisplayList; r=dholbert
The existing code contains a comment about needing to add transitions before
animations. However, this is unnecessary since the interaction between
transitions and animations is handled by the mWinsInCascade member that is
checked in AddAnimationsForProperty.
fc00f013419fdcff41669d409fc7c93b28ace930: Bug 1226118 part 8 - Add EffectCompositor::GetAnimationsForCompositor that uses the EffectSet rather than AnimationCollection; r=dholbert
Brian Birtles <birtles@gmail.com> - Fri, 04 Dec 2015 08:34:12 +0900 - rev 275580
Push
29759 by cbook@mozilla.com at Fri, 04 Dec 2015 10:59:21 +0000
Bug 1226118 part 8 - Add EffectCompositor::GetAnimationsForCompositor that uses the EffectSet rather than AnimationCollection; r=dholbert
This added method should behave in an equivalent manner to the existing
CommonAnimationManager::GetAnimationsForCompositor except for the following
differences:
* It uses the EffectSet attached to a target element rather than one of the
AnimationCollection object on the owning element.
* It returns an array of Animation objects consisting of only those Animations
that actually have the specified property as opposed to the
AnimationCollection consisting of *all* CSS animations or *all* CSS
transitions for the element regardless of whether they run on the compositor
or not.
It may not be obvious why these two methods otherwise behave in an equivalent
fashion so the following explains how the existing code is mirrored in the new
method.
The existing code is as follows:
> AnimationCollection*
> CommonAnimationManager::GetAnimationsForCompositor(const nsIFrame* aFrame,
> nsCSSProperty aProperty)
> {
> AnimationCollection* collection = GetAnimationCollection(aFrame);
> if (!collection ||
> !collection->HasCurrentAnimationOfProperty(aProperty) ||
> !collection->CanPerformOnCompositorThread(aFrame)) {
> return nullptr;
> }
>
> // This animation can be done on the compositor.
> return collection;
> }
The new EffectCompositor::GetAnimationsForCompositor begins with two checks
performed at the beginning of CanPerformOnCompositorThread: the checks for
whether async animations are enabled or not and whether the frame has refused
async animations since these are cheap and it makes sense to check them first.
The next part of EffectCompositor::GetAnimationsForCompositor checks if there is
an EffectSet associated with the frame. This is equivalent to the check whether
|collection| is null or not above.
Following, we iterate through the effects in the EffectSet.
We first check if each effect is playing or not. In the above code,
HasCurrentAnimationOfProperty only checks if the effect is *current* or not.
However, CanPerformOnCompositorThread will only return true if it finds an
animation that can run on the compositor that is *playing*. Since playing is
a strict subset of current we only need to perform the more restrictive test.
Next we check if the effect should block running other animations on the
compositor. This is equivalent to the remainder of CanPerformOnCompositorThread.
Note that the order is important here. Only playing animations should block
other animations from running on the compositor. Furthermore, this needs to
happen before the following step since animations of property other than
|aProperty| can still block animations from running on the compositor.
Finally, we check if the effect has an animation of |aProperty|. This is
equivalent to the remainder of HasCurrentAnimationOfProperty.
If all these checks succeed, we add the effect's animation to the result to
return.
8fa1f59e73e3a19160b1cdf77019719fb558e8b5: Bug 1226118 part 7 - Rename and rework KeyframeEffectReadOnly::CanAnimatePropertyOnCompositor to ShouldBlockCompositorAnimations; r=hiro
Brian Birtles <birtles@gmail.com> - Fri, 04 Dec 2015 08:32:53 +0900 - rev 275579
Push
29759 by cbook@mozilla.com at Fri, 04 Dec 2015 10:59:21 +0000
Bug 1226118 part 7 - Rename and rework KeyframeEffectReadOnly::CanAnimatePropertyOnCompositor to ShouldBlockCompositorAnimations; r=hiro
KeyframeEffectReadOnly::CanAnimatePropertyOnCompositor has a comment that says
it, "Returns true |aProperty| can be run on compositor for |aFrame|" but it
does nothing of the sort.
What it *does* do is check answer the question, "If there happened to be an
animation of |aProperty| on |aFrame|, should we still run animations on the
compositor for this element?".
This patch renames the method accordingly and moves the step where we iterate
over a given effect's animated properties from
AnimationCollection::CanPerformOnCompositor to inside this method, making this
method a class method rather than a static method at the same time.
As noted in the expanded comment, the approach of blocking opacity animations
in these situations seems unnecessary but for now this patch just preserves the
existing behavior.
82ffc81bc19acff731172931b0f39e1b497ab6cd: Bug 1226118 part 6 - Remove no longer used LayerAnimationRecord/Info code from AnimationCommon; r=dholbert
Brian Birtles <birtles@gmail.com> - Fri, 04 Dec 2015 08:32:53 +0900 - rev 275578
Push
29759 by cbook@mozilla.com at Fri, 04 Dec 2015 10:59:21 +0000
Bug 1226118 part 6 - Remove no longer used LayerAnimationRecord/Info code from AnimationCommon; r=dholbert
This code has now been moved to LayerAnimationInfo.{h,cpp} and is not used in
AnimationCommon.
17eb384095497ac3b940aabe1de65f51f230c7b6: Bug 1226118 part 5 - Move LogAsyncAnimationFailure to AnimationUtils; r=dholbert
Brian Birtles <birtles@gmail.com> - Fri, 04 Dec 2015 08:32:53 +0900 - rev 275577
Push
29759 by cbook@mozilla.com at Fri, 04 Dec 2015 10:59:21 +0000
Bug 1226118 part 5 - Move LogAsyncAnimationFailure to AnimationUtils; r=dholbert
This patch also moves AnimationUtils out of the dom namespace since it seems
unnecessary. We typically only put actual DOM interfaces in the dom namespace.
80cabf8d9a1d8883b5c2b174d7d22844e0b6a200: Bug 1226118 part 4 - Use EffectSet in ActiveLayerManager's animated-scale checks; r=dholbert
Brian Birtles <birtles@gmail.com> - Fri, 04 Dec 2015 08:32:53 +0900 - rev 275576
Push
29759 by cbook@mozilla.com at Fri, 04 Dec 2015 10:59:21 +0000
Bug 1226118 part 4 - Use EffectSet in ActiveLayerManager's animated-scale checks; r=dholbert
fa002bc4a297a3ec769d37c5a2098e50159941fc: Bug 1226118 part 3 - Use EffectSet in CommonAnimationManager::ClearIsRunningOnCompositor; r=hiro, r=dholbert
Brian Birtles <birtles@gmail.com> - Fri, 04 Dec 2015 08:32:53 +0900 - rev 275575
Push
29759 by cbook@mozilla.com at Fri, 04 Dec 2015 10:59:21 +0000
Bug 1226118 part 3 - Use EffectSet in CommonAnimationManager::ClearIsRunningOnCompositor; r=hiro, r=dholbert
d3b0fbba6ffc2dfdb71cfe0d51e27e78b89c6725: Bug 1226118 part 2 - Use EffectSet in nsLayoutUtils animation functions; r=dholbert
Brian Birtles <birtles@gmail.com> - Fri, 04 Dec 2015 08:32:52 +0900 - rev 275574
Push
29759 by cbook@mozilla.com at Fri, 04 Dec 2015 10:59:21 +0000
Bug 1226118 part 2 - Use EffectSet in nsLayoutUtils animation functions; r=dholbert