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
(0) -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 +300000 tip