d3abdd12484da9d9d200c09abe926ab6599aaa2b: Bug 1232577 part 15 - Drop LastStyleUpdateForAllAnimations flag from pres context; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 13 Jan 2016 07:54:55 +0900 - rev 314810
Push
5703 by raliiev@mozilla.com at Mon, 07 Mar 2016 14:18:41 +0000
Bug 1232577 part 15 - Drop LastStyleUpdateForAllAnimations flag from pres context; r=heycam
nsPresContext contains a mLastStyleUpdateForAllAnimations flag which is simply
used to prevent unnecessarily posting restyles when throttled animations are
already up to date. Since part 13 we now accurately record whether we have
posted a restyle for each throttled animation and only post a restyle if we
have not done so already. As a result, this flag is no longer needed since
calling PostRestyleForThrottledAnimations is effectively a noop when throttled
animations are up-to-date.
ddfdec87e4488578497c0e20b998a2c6c4babb91: Bug 1232577 part 14 - Move FlushAnimations to EffectCompositor; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 13 Jan 2016 07:54:55 +0900 - rev 314809
Push
5703 by raliiev@mozilla.com at Mon, 07 Mar 2016 14:18:41 +0000
Bug 1232577 part 14 - Move FlushAnimations to EffectCompositor; r=heycam
69236594a8efb2f16e9369ae5e1964bb97a1bd55: Bug 1232577 part 13 - Move EnsureStyleRuleFor from AnimationCollection to EffectCompositor
Brian Birtles <birtles@gmail.com> - Wed, 13 Jan 2016 07:54:55 +0900 - rev 314808
Push
5703 by raliiev@mozilla.com at Mon, 07 Mar 2016 14:18:41 +0000
Bug 1232577 part 13 - Move EnsureStyleRuleFor from AnimationCollection to EffectCompositor
04ea9a6a29a545149380b1ace53211830a5c6f4c: Bug 1232577 part 12 - Move the remainder of RequestRestyle from AnimationCollection to EffectCompositor; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 13 Jan 2016 07:54:54 +0900 - rev 314807
Push
5703 by raliiev@mozilla.com at Mon, 07 Mar 2016 14:18:41 +0000
Bug 1232577 part 12 - Move the remainder of RequestRestyle from AnimationCollection to EffectCompositor; r=heycam
This also allows us to remove all references to AnimationCollection and the
animation managers from Animation.
697caeac54f5348043e47acda98a01900de4b592: Bug 1232577 part 11 - Remove AnimationCollection::mHasPendingAnimationRestyle; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 13 Jan 2016 07:54:54 +0900 - rev 314806
Push
5703 by raliiev@mozilla.com at Mon, 07 Mar 2016 14:18:41 +0000
Bug 1232577 part 11 - Remove AnimationCollection::mHasPendingAnimationRestyle; r=heycam
This flag is no longer needed since the same information is tracked in the
hashmap stored on EffectSet.
f6fcc3f908c05e1dc5029e82c7ab5463c943633d: Bug 1232577 part 10 - Remove AnimationCollection::mStyleChanging; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 13 Jan 2016 07:54:54 +0900 - rev 314805
Push
5703 by raliiev@mozilla.com at Mon, 07 Mar 2016 14:18:41 +0000
Bug 1232577 part 10 - Remove AnimationCollection::mStyleChanging; r=heycam
This flag is no longer needed because in
bug 1232563 we introduced a more
thorough optimization that detects when the animation is not changing by
comparing the progress value between samples and avoids requesting restyles
when it does not change.
35725757afce1a57cac0d7ab89f049ba3eb0b602: Bug 1232577 part 9 - Remove AnimationCollection::mStyleRuleRefreshTime; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 13 Jan 2016 07:54:54 +0900 - rev 314804
Push
5703 by raliiev@mozilla.com at Mon, 07 Mar 2016 14:18:41 +0000
Bug 1232577 part 9 - Remove AnimationCollection::mStyleRuleRefreshTime; r=heycam
Now that we track whether or not animations are up to date using the hashset in
EffectCompositor, we can remove the mStyleRuleRefreshTime flag that is, as of
part 5 of this patch series, now only used for detecting whether or not
animations are up to date.
In order to preserve the existing behavior of FlushAnimations, however, this
patch temporarily introduces a method to indicate if there are throttled
animations or not.
It might not be obvious that FlushAnimations is only concerned with throttled
animations due to its name. FlushAnimations is simply intended to post
animation restyles for out-of-date animations. Any animations that are *not*
throttled will either be up to date, or we will have already posted an
animation restyle so we only need to consider throttled animations in this case.
e3aa66edbd85d7ab9fe63c61f1e65ce314ce9f46: Bug 1232577 part 8 - Move call to PostRestyleForAnimation to EffectCompositor; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 13 Jan 2016 07:54:54 +0900 - rev 314803
Push
5703 by raliiev@mozilla.com at Mon, 07 Mar 2016 14:18:41 +0000
Bug 1232577 part 8 - Move call to PostRestyleForAnimation to EffectCompositor; r=heycam
This patch continues to migrate functionality from
AnimationCollection::RequestRestyle to EffectCompositor::RequestRestyle.
In order to post the animation restyle from the EffectCompositor, this patch
also moves the PostRestyleForAnimation method to EffectCompositor.
The GetElementToRestyle method is temporarily duplicated in both
EffectCompositor and AnimationCollection however we will remove the version in
AnimationCollection later in this patch series.
6511f2832185cde9f16402383baf3cb4096bbacb: Bug 1232577 part 7 - Move call to SetNeedStyleFlush() to EffectCompositor::RequestRestyle; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 13 Jan 2016 07:54:54 +0900 - rev 314802
Push
5703 by raliiev@mozilla.com at Mon, 07 Mar 2016 14:18:41 +0000
Bug 1232577 part 7 - Move call to SetNeedStyleFlush() to EffectCompositor::RequestRestyle; r=heycam
In this patch series we are gradually migrating style rule updating
functionality from AnimationCollection to EffectCompositor. This patch moves
part of the RequestRestyle method from one class to the other.
Note that in both cases we only call SetNeedsStyleFlush if we haven't already
posted an animation restyle. (In the case of AnimationCollection we check this
using the mHasPendingAnimationRestyle flag, and in EffectCompositor case we
simply check if the element is already in the "needs restyle" hashmap. If it is,
either we already have a throttled restyle and have called SetNeedsStyleFlush or
we have a standard restyle and have posted an animation restyle.)
The added check for a null pres context matches the behavior of
AnimationCollection::RequestRestyle which has an equivalent early return at the
beginning of the function.
191626c92b35586b0454db2d52a7f028906167c2: Bug 1232577 part 6 - Add animation rule refresh time to EffectSet; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 13 Jan 2016 07:54:54 +0900 - rev 314801
Push
5703 by raliiev@mozilla.com at Mon, 07 Mar 2016 14:18:41 +0000
Bug 1232577 part 6 - Add animation rule refresh time to EffectSet; r=heycam
AnimationCollection keeps a TimeStamp that records the refresh driver time when
the animation style rule was last updated. This is used for two purposes:
1. To determine when the style rule is out of date.
2. For animations that are partially throttled on the main thread, e.g.
transform animations that affect the scrollable region which we update every
200ms on the main thread.
In this bug we are removing all the overlapping bits of state used to track if
animations are up-to-date or not and replacing them with the hashmap stored on
the EffectCompositor which tracks which animations are currently in need of an
update. As a result, we would like to remove this style rule refresh time.
However, we will need something for case (2) from above.
This patch adds an animation rule refresh time to the EffectSet purely for the
purposes of partially-throttled animations so that we can later remove the style
rule refresh time from AnimationCollection.
c642726a9f8ec80bff15d4f78535011f55d4f1b6: Bug 1232577 part 5 - Make sure CSSTransition::CancelFromStyle updates the transitions level of the cascade; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 13 Jan 2016 07:54:53 +0900 - rev 314800
Push
5703 by raliiev@mozilla.com at Mon, 07 Mar 2016 14:18:41 +0000
Bug 1232577 part 5 - Make sure CSSTransition::CancelFromStyle updates the transitions level of the cascade; r=heycam
2cb0835ccdc019db08ffba88c6005ee4cf09e5b7: Bug 1232577 part 4 - Add and remove (pseudo-)elements needing an animation style rule update to the EffectCompositor; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 13 Jan 2016 07:54:53 +0900 - rev 314799
Push
5703 by raliiev@mozilla.com at Mon, 07 Mar 2016 14:18:41 +0000
Bug 1232577 part 4 - Add and remove (pseudo-)elements needing an animation style rule update to the EffectCompositor; r=heycam
This patch uses the presence/absence of (pseudo-)elements in the "needs
animation rule update" hashmap on EffectCompositor to detect if a style update
is required. The various flags in AnimationCollection that do a similar job
still remain so that we can remove them one-by-one in subsequent patches in
this series.
92654d4ad2ebb0f5d34f2c88928cfc44e852d2bf: Bug 1232577 part 3 - Move RestyleType to EffectCompositor; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 13 Jan 2016 07:54:53 +0900 - rev 314798
Push
5703 by raliiev@mozilla.com at Mon, 07 Mar 2016 14:18:41 +0000
Bug 1232577 part 3 - Move RestyleType to EffectCompositor; r=heycam
This is in preparation for moving RequestRestyle to EffectCompositor (and
because we'll run into compile issues if we don't since AnimationCommon.h
includes too many interdependent definitions).
4fa5cf94bb6d3e2f8f90519add3befce303f6901: Bug 1232577 part 2 - Add a hashmap to ElementCompositor to track which (pseudo-) elements need to have their animation style rule updated; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 13 Jan 2016 07:54:53 +0900 - rev 314797
Push
5703 by raliiev@mozilla.com at Mon, 07 Mar 2016 14:18:41 +0000
Bug 1232577 part 2 - Add a hashmap to ElementCompositor to track which (pseudo-) elements need to have their animation style rule updated; r=heycam
We will eventually use this in place of the various state flags stored on
AnimationCollection (e.g. mStyleRuleRefreshTime, mStyleChanging,
mHasPendingAnimationRestyle) as well as to do a more targetted update in
FlushAnimations and AddStyleUpdatesTo.
68108d1f2d46c30566cdcccd780f760caf4113b8: Bug 1232577 part 1 - Add EffectCompositor as a member of nsPresContext; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 13 Jan 2016 07:54:53 +0900 - rev 314796
Push
5703 by raliiev@mozilla.com at Mon, 07 Mar 2016 14:18:41 +0000
Bug 1232577 part 1 - Add EffectCompositor as a member of nsPresContext; r=heycam
Since we want to track elements needing a restyle on EffectCompositor we need
to scope it to an nsPresContext rather than just making if a collection of
static methods.
888bce768ee85c035353d18d09d046e4de2d02fe: Bug 1228641 - Rename begin/size to aBegin/aSize to avoid shadow warnings; r=botond
Brian Birtles <birtles@gmail.com> - Wed, 13 Jan 2016 07:54:53 +0900 - rev 314795
Push
5703 by raliiev@mozilla.com at Mon, 07 Mar 2016 14:18:41 +0000
Bug 1228641 - Rename begin/size to aBegin/aSize to avoid shadow warnings; r=botond
On B2G/Android we get warnings if the begin/size parameters to the constructor
match the method names begin()/size(): declaration of 'size/begin' shadows
a member of 'this'.
26a22167872690258c715c2e45a15bfbd7898e0f: Bug 1096804 - Fixup a typo and the original skip-if conditional string that landed with browser_taskbar_preview.js. r=tests CLOSED TREE
Jim Mathies <jmathies@mozilla.com> - Tue, 12 Jan 2016 16:47:13 -0600 - rev 314794
Push
5703 by raliiev@mozilla.com at Mon, 07 Mar 2016 14:18:41 +0000
Bug 1096804 - Fixup a typo and the original skip-if conditional string that landed with browser_taskbar_preview.js. r=tests CLOSED TREE
29a5d0c6ea47ffb17df9bebc7da22df25e7eb451: Bug 1239099 - Finish ongoing GCs instead of segueing into another one; r=jonco
Terrence Cole <terrence@mozilla.com> - Tue, 12 Jan 2016 13:07:54 -0800 - rev 314793
Push
5703 by raliiev@mozilla.com at Mon, 07 Mar 2016 14:18:41 +0000
Bug 1239099 - Finish ongoing GCs instead of segueing into another one; r=jonco
42ee91882a503bfb9e216f19111dc935bd400caf: Bug 1237601 - Perform storage close synchronously if async thread cannot be started. r=bkelly
Andrew Sutherland <asutherland@asutherland.org> - Thu, 07 Jan 2016 11:18:00 -0500 - rev 314792
Push
5703 by raliiev@mozilla.com at Mon, 07 Mar 2016 14:18:41 +0000
Bug 1237601 - Perform storage close synchronously if async thread cannot be started. r=bkelly
Also factors asyncClose tests out into their own file.
d6a85731d2aa518779451ebf8583815151565c56: Bug 1237601 - Centralize storage xpcshell promise helpers (support patch). r=bkelly
Andrew Sutherland <asutherland@asutherland.org> - Tue, 12 Jan 2016 17:27:33 -0500 - rev 314791
Push
5703 by raliiev@mozilla.com at Mon, 07 Mar 2016 14:18:41 +0000
Bug 1237601 - Centralize storage xpcshell promise helpers (support patch). r=bkelly