74f24cabb959ffb201b23d98ff29b23da5a26bf9: Bug 1188251 part 12 - Use RestyleType::Layer in UpdateCascade; r=dholbert
Brian Birtles <birtles@gmail.com> - Tue, 18 Aug 2015 16:11:55 +0900 - rev 258164
Bug 1188251 part 12 - Use RestyleType::Layer in UpdateCascade; r=dholbert When updating the cascade results between transitions and animations, if we detect a change we force an update by taking the following steps: a. Updating the animation generation on the restyle manager b. Updating the animation generation on the collection c. Iterating over all the properties animated by the collection and, for each property that we can animate on the compositor, posting a restyle event with the appropriate change hint (nsChangeHint_UpdateTransformLayer or nsChangeHint_UpdateTransformOpacity) d. Marking the collection as needing refreshes e. Clearing the style rule refresh time so we generate a new style rule in EnsureStyleRuleFor As it turns out, the newly-added AnimationCollection::RequestRestyle(RestyleType::Layer) already performs a, b, d, and e. It also: * Ensures we are observing the refresh driver if need be (should have no effect in this case) * Clears the last animation style update time on the pres context so that subsequent calls to FlushPendingNotifications will update animation style (it seems like we probably should have been doing this for changes to cascade results anyway) * Posts a restyle event with restyle hint eRestyle_CSSTransitions or eRestyle_CSSAnimations * Marks the document as needing a style flush (irrelevant since posting a restyle event does this anyway) The only missing piece that would prevent using RequestRestyle in place of this code when updating cascade results is (c) from the list above. However, (c) should not be necessary since ElementRestyler::AddLayerChangesForAnimation() explicitly checks for out-of-date layer animation generation numbers and adds the appropriate change hints (nsChangeHint_UpdateTransformLayer etc.) to the change list.
058fb2d079be64c57c129090ac6347123f61d4a9: Bug 1188251 part 11 - Add RestyleType::Layer; r=dholbert
Brian Birtles <birtles@gmail.com> - Tue, 18 Aug 2015 16:11:55 +0900 - rev 258163
Bug 1188251 part 11 - Add RestyleType::Layer; r=dholbert We currently have a series of methods that clobber various bits of animation state to force animations on layers to be updated. This aligns closely with the restyle code introduced in this patch series. By re-using RequestRestyle when updating animations on layers, not only should we be able to simplify the code somewhat but, in future, we should also be able to have Animation objects use the same mechanism to update layers during a regular tick. For example, currently we have a bug where when an animation starts after a delay with the same value as the backwards fill then we don't send the animation to the compositor right away (see https://dxr.mozilla.org/mozilla-central/rev/d6ea652c579992daa9041cc9718bb7c6abefbc91/layout/style/test/test_animations_omta.html#287). By adding this Restyle::Layer value we should be able to fix that in future.
3e2e93d1bf5baee2b3469098bce0cc8bab49b8e3: Bug 1188251 part 10 - Remove throttling from EnsureStyleRuleFor; r=dholbert
Brian Birtles <birtles@gmail.com> - Tue, 18 Aug 2015 16:11:55 +0900 - rev 258162
Bug 1188251 part 10 - Remove throttling from EnsureStyleRuleFor; r=dholbert EnsureStyleRuleFor contains logic for performing throttled updates to the style rule but it is only used in one case: inside nsTransitionManager::UpdateCascadeResults to determine what properties are being animated by CSS animations. We would like to remove throttling logic from EnsureStyleRuleFor altogether but if that one case where it is currently used is run on every tick then removing this logic could effectively mean we end up updating the style rule on every tick. Fortunately nsTransitionManager::UpdateCascadeResults is only called in the following cases: 1. From nsTransitionManager::StyleContextChanged (via TransitionManager::UpdateCascadeResultsWithTransitions), when we are processing style changes for transitions. 2. From AnimationCollection::EnsureStyleRuleFor (via nsAnimationManager::MaybeUpdateCascadeResults and nsTransitionManager::UpdateCascadeResultsWithAnimations), when we are updating the animation style rule from CSS animations. 3. From nsAnimationManager::CheckAnimationRule (via TransitionManager::UpdateCascadeResultsWithAnimationsToBeDestroyed), when we are processing style changes for CSS animations. None of these things should be happenning on a regular throttle-able tick so by removing this logic we shouldn't be causing any additional work. I have verified, using a test case that combines transitions and animations on the same property, that we have the same behavior with regard to calling EnsureStyleRuleFor both before and after this patch (specifically we avoid calling it altogether while running only the transition but when the animation starts and clobbers the transition we end up calling EnsureStyleRuleFor once on each tick).
01bca969ceda5e6ded11cef25f9c8d5f4794f9f7: Bug 1188251 part 9 - Request restyles from Animation::Tick; r=dholbert
Brian Birtles <birtles@gmail.com> - Tue, 18 Aug 2015 16:11:55 +0900 - rev 258161
Bug 1188251 part 9 - Request restyles from Animation::Tick; r=dholbert In preparation for ultimately being able to run animations without a manager, this patch moves the request restyle code from FlushAnimations to Animation::Tick. (Ultimately most of this functionality should move to the KeyframeEffect but for now Animation is fine.)
d0eee19c83cd9b2130c11eeea832dbceeafa37a9: Bug 1194112. Part 6 - add a test case to test the exclusive mode. r=kinetik.
JW Wang <jwwang@mozilla.com> - Tue, 18 Aug 2015 11:12:18 +0800 - rev 258160
Bug 1194112. Part 6 - add a test case to test the exclusive mode. r=kinetik.
0c54ee53678f9efd84330945e45b3a1349c54e71: Bug 1194112. Part 5 - remove dead code. r=kinetik.
JW Wang <jwwang@mozilla.com> - Tue, 18 Aug 2015 11:12:06 +0800 - rev 258159
Bug 1194112. Part 5 - remove dead code. r=kinetik.
5b202008a43160d00a21087c739bdf934175d04d: Bug 1194112. Part 4 - reimplement Listener/ListenerImpl to support Move. r=kinetik.
JW Wang <jwwang@mozilla.com> - Tue, 18 Aug 2015 11:11:53 +0800 - rev 258158
Bug 1194112. Part 4 - reimplement Listener/ListenerImpl to support Move. r=kinetik.
81291b4e6dc34fb0d085e8a4b7b25707ee86b7da: Bug 1194112. Part 3 - use perfect forwarding in MediaEventProducer::Notify() so MediaEventSource can decide whether to copy or move according to its ListenerMode. r=kinetik.
JW Wang <jwwang@mozilla.com> - Tue, 18 Aug 2015 11:11:42 +0800 - rev 258157
Bug 1194112. Part 3 - use perfect forwarding in MediaEventProducer::Notify() so MediaEventSource can decide whether to copy or move according to its ListenerMode. r=kinetik.
acbc0d7e21cd337076dbe3b9081ea85f5cb7b691: Bug 1194112. Part 2 - small code refactoring to reduce typing. r=kinetik.
JW Wang <jwwang@mozilla.com> - Tue, 18 Aug 2015 11:11:29 +0800 - rev 258156
Bug 1194112. Part 2 - small code refactoring to reduce typing. r=kinetik.
a7ceb6162a630fae3679888c8a9f588704ecbd01: Bug 1194112. Part 1 - extract event dispatch code from ListenerImpl to its own class. r=kinetik.
JW Wang <jwwang@mozilla.com> - Tue, 18 Aug 2015 11:11:16 +0800 - rev 258155
Bug 1194112. Part 1 - extract event dispatch code from ListenerImpl to its own class. r=kinetik.
03cc3e7e3531656fa5778b8911fec9150e44bdfe: Bug 1191688 - Add -nologo option to rc.exe. r=ted
Makoto Kato <m_kato@ga2.so-net.ne.jp> - Tue, 18 Aug 2015 15:55:17 +0900 - rev 258154
Bug 1191688 - Add -nologo option to rc.exe. r=ted
08227e3e08b812dabc6493e19845d00b552a0bea: Bug 554171 - Add plugin thread checks to functions that must only be called on the main thread. r=jimm
Chris Peterson <cpeterson@mozilla.com> - Fri, 17 Jul 2015 00:17:09 -0700 - rev 258153
Bug 554171 - Add plugin thread checks to functions that must only be called on the main thread. r=jimm
1f8d5468dbcd9f720c15514c13bc6d5f1c24ead0: Bug 1194955 - Fix -Wunreachable-code warnings in dom/ipc and dom/plugins. r=jimm
Chris Peterson <cpeterson@mozilla.com> - Sun, 31 May 2015 19:39:16 -0700 - rev 258152
Bug 1194955 - Fix -Wunreachable-code warnings in dom/ipc and dom/plugins. r=jimm
d02050a88e65c070054dc337363f6d25ae736fe7: Bug 1194954 - Fix -Wunreachable-code warnings in gfx/layers and gfx/thebes. r=BenWa
Chris Peterson <cpeterson@mozilla.com> - Wed, 03 Jun 2015 23:13:42 -0700 - rev 258151
Bug 1194954 - Fix -Wunreachable-code warnings in gfx/layers and gfx/thebes. r=BenWa
a4a4b0409e7b089e4a6e62dda6a97f495d2672ed: Bug 1194948 - Build gfx/ipc in unified mode and mark as FAIL_ON_WARNINGS. r=BenWa
Chris Peterson <cpeterson@mozilla.com> - Thu, 13 Aug 2015 20:46:47 -0700 - rev 258150
Bug 1194948 - Build gfx/ipc in unified mode and mark as FAIL_ON_WARNINGS. r=BenWa
550b193f8f99959f007035c5e149a5c455cab9c9: Bug 1195142 patch 3 - Link to correct specification URLs so the CSSWG test suite system is happy.
L. David Baron <dbaron@dbaron.org> - Tue, 18 Aug 2015 08:20:35 +0200 - rev 258149
Bug 1195142 patch 3 - Link to correct specification URLs so the CSSWG test suite system is happy.
e1d7aaefc4710d3f8a127da014921b58ea15a80f: Remove prefixed properties. No bug.
Ms2ger <Ms2ger@gmail.com> - Tue, 11 Aug 2015 12:21:28 +0200 - rev 258148
Remove prefixed properties. No bug. (Imported from https://hg.csswg.org/test/ by dbaron.)
2fc98ffa12276d9ae898e835586bcf0dfc1997a6: Bug 1195188 - add fontlist init problem telemetry for DirectWrite. r=m_kato
John Daggett <jdaggett@mozilla.com> - Tue, 18 Aug 2015 15:15:45 +0900 - rev 258147
Bug 1195188 - add fontlist init problem telemetry for DirectWrite. r=m_kato
0a9680123c5ff3c79d8bec640db879c49678e908: Bug 1195142 patch 2 - Add reftests for will-change creating a stacking context. r=BenWa
L. David Baron <dbaron@dbaron.org> - Tue, 18 Aug 2015 08:13:56 +0200 - rev 258146
Bug 1195142 patch 2 - Add reftests for will-change creating a stacking context. r=BenWa
0e3dbc9c729c2f71a92d3b45aa521fe7c0576eae: Bug 1195142 patch 1 - Set CSS_PROPERTY_CREATES_STACKING_CONTEXT for the opacity property. r=BenWa
L. David Baron <dbaron@dbaron.org> - Tue, 18 Aug 2015 08:13:56 +0200 - rev 258145
Bug 1195142 patch 1 - Set CSS_PROPERTY_CREATES_STACKING_CONTEXT for the opacity property. r=BenWa This isn't actually needed for the only caller (which ensures that frames with will-change: opacity create a stacking context), since nsIFrame::BuildDisplayListForChild checks HasOpacity, which checks for NS_STYLE_WILL_CHANGE_OPACITY. However, it's good to have the bit set for consistency in case we use it elsewhere.
(0) -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 tip