52c0128aff10f4c50ae3ab34c64cef8844497942: Bug 1260655 - Drop some no-longer-needed code for setting up CSS animations using AnimationProperty objects; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 30 Mar 2016 13:01:20 +0900 - rev 349368
Push 15063 by ewong@pw-wspx.org at Mon, 11 Apr 2016 09:17:48 +0000
Bug 1260655 - Drop some no-longer-needed code for setting up CSS animations using AnimationProperty objects; r=heycam MozReview-Commit-ID: JDzvQIxlsX6
063370aa01ab3d039f132372abd3d8c4adddf73e: Bug 1260655 - Use CSSAnimationBuilder::BuildAnimationFrames to set up CSS animations using Keyframe objects; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 30 Mar 2016 13:01:13 +0900 - rev 349367
Push 15063 by ewong@pw-wspx.org at Mon, 11 Apr 2016 09:17:48 +0000
Bug 1260655 - Use CSSAnimationBuilder::BuildAnimationFrames to set up CSS animations using Keyframe objects; r=heycam MozReview-Commit-ID: BMLvYP8iIIa
d846bcdce3e9e8a192042f51834627da6253908e: Bug 1260655 - Add methods to CSSAnimationBuilder to build a set of Keyframe objects; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 30 Mar 2016 12:59:33 +0900 - rev 349366
Push 15063 by ewong@pw-wspx.org at Mon, 11 Apr 2016 09:17:48 +0000
Bug 1260655 - Add methods to CSSAnimationBuilder to build a set of Keyframe objects; r=heycam We will call this method in the next patch in this series. MozReview-Commit-ID: E8QnGOIt91
77d2df1822a966b3bae9b8c3a890a081445f21cf: Bug 1260655 - Add a copy constructor and copy assignment operator to Keyframe; r=heycam
Brian Birtles <birtles@gmail.com> - Thu, 31 Mar 2016 16:26:52 +0900 - rev 349365
Push 15063 by ewong@pw-wspx.org at Mon, 11 Apr 2016 09:17:48 +0000
Bug 1260655 - Add a copy constructor and copy assignment operator to Keyframe; r=heycam It turns out that std::stable_sort on Mac and Android use this. Bug 1263500 tracks doing something more efficient on those platforms. MozReview-Commit-ID: 3tGbnoW67QP
bd357fbe96883c012177047b9ab10ebb1b8ce944: Bug 1260655 - Add an assignment operator to Keyframe that takes an rvalue reference; r=heycam
Brian Birtles <birtles@gmail.com> - Tue, 29 Mar 2016 11:29:20 +0900 - rev 349364
Push 15063 by ewong@pw-wspx.org at Mon, 11 Apr 2016 09:17:48 +0000
Bug 1260655 - Add an assignment operator to Keyframe that takes an rvalue reference; r=heycam This is needed in order to use std::stable_sort with this type since some implementations of std::stable_sort require this (as opposed to simply a move constructor). MozReview-Commit-ID: 5QmcIxkC4aB
51a410cc49c88ae03ca11760f8d914ef206188e4: Bug 1260655 - Allow StyleAnimationValue::UncomputeValue to produce values whose storage is independent of the passed-in computed value; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 30 Mar 2016 12:39:59 +0900 - rev 349363
Push 15063 by ewong@pw-wspx.org at Mon, 11 Apr 2016 09:17:48 +0000
Bug 1260655 - Allow StyleAnimationValue::UncomputeValue to produce values whose storage is independent of the passed-in computed value; r=heycam When we go to switch CSS Animations over to using KeyframeEffectReadOnly::SetFrames we will need a way to represent any filled-in from/to values as nsCSSValue objects. These objects are built from the current computed style. We currently use StyleAnimationValue::ExtractComputedValue for this which returns a StyleAnimationValue. In order to convert this to an nsCSSValue we can use StyleAnimationValue::UncomputeValue. However, in some cases, the nsCSSValue objects returned by that method are dependent on the passed-in StyleAnimationValue object. This patch adds an overload to UncomputeValue that takes an rvalue StyleAnimationValue reference and produces an nsCSSValue that is independent of the StyleAnimationValue through a combination of copying data and transferring ownership of data. This patch also adjusts the return value for the case of filter and shadow lists when the list is empty so that we return a none value in this case. These are the only list types which are allowed to have a null list value. Not only does this produce the correct result when these values are serialized (the initial value for 'filter', 'text-shadow', and 'box-shadow' is 'none') it also means that UncomputeValue should never return an nsCSSValue whose unit is null which is important because when we later pass that value to BuildStyleRule it will treat a null nsCSSValue as an error case (specifically, "longhand failed to parse"). MozReview-Commit-ID: 4RoCn39ntiJ
33b9f509fab7b3ee00a2738a5301c24880e3d82a: Bug 1260655 - Return the stored Keyframe objects from GetFrames, when available ; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 30 Mar 2016 08:59:08 +0900 - rev 349362
Push 15063 by ewong@pw-wspx.org at Mon, 11 Apr 2016 09:17:48 +0000
Bug 1260655 - Return the stored Keyframe objects from GetFrames, when available ; r=heycam Before switching CSS animations over to using KeyframeEffectReadOnly::SetFrames we update the getFrames() API to return the set frame objects (when available) so that we can test that we are setting the correct frames. MozReview-Commit-ID: 4SpBRM7Ykyv
852340c877fb6cc98612ec43ddb14838068e2470: Bug 1260655 - Update keyframe-effect/constructor.html to no longer refer to PropertyIndexedKeyframes or Keyframe; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 30 Mar 2016 08:59:08 +0900 - rev 349361
Push 15063 by ewong@pw-wspx.org at Mon, 11 Apr 2016 09:17:48 +0000
Bug 1260655 - Update keyframe-effect/constructor.html to no longer refer to PropertyIndexedKeyframes or Keyframe; r=heycam These types have been removed from the normative part of the Web Animations spec. MozReview-Commit-ID: LJkWvuDCT55
8272d22371b731282138b3f4862e641ab8d4a6e7: Bug 1260655 - Wrap lines in keyframe-effect/constructor.html to 80 chars; r=whitespace-only
Brian Birtles <birtles@gmail.com> - Wed, 30 Mar 2016 08:59:08 +0900 - rev 349360
Push 15063 by ewong@pw-wspx.org at Mon, 11 Apr 2016 09:17:48 +0000
Bug 1260655 - Wrap lines in keyframe-effect/constructor.html to 80 chars; r=whitespace-only MozReview-Commit-ID: FMg5uhxuZ6L
5db982657c9b2606d9572fced222741cffb136c1: Bug 1260655 - Add KeyframeEffectReadOnly::SetFrames; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 30 Mar 2016 08:59:08 +0900 - rev 349359
Push 15063 by ewong@pw-wspx.org at Mon, 11 Apr 2016 09:17:48 +0000
Bug 1260655 - Add KeyframeEffectReadOnly::SetFrames; r=heycam Earlier in this patch series we divided keyframe processing into two stages: (1) Turning javascript objects into an array of Keyframe objects (2) Calculating AnimationProperty arrays from the Keyframe objects This patch creates a SetFrames method so that CSS animations and CSS transitions can skip (1) and pass the frames constructed from CSS syntax into (2). It also adds the following additional processing: a. Notifying animation mutation observers when the set of frames has changed. This is currently performed by nsAnimationManager but ultimately we should encapsulate this logic inside the effect itself. Furthermore, it will be needed when we implement effect.setFrames() (i.e. the Javascript-facing wrapper for this method). b. Preserving the mWinsInCascade and mIsRunningOnCompositor state on properties when updating them. This is currently performed by: bool KeyframeEffectReadOnly::UpdateProperties( const InfallibleTArray<AnimationProperty>& aProperties) which is what nsAnimationManager currently uses. We will ultimately remove the above method and here we are just moving this code to the new version of UpdateProperties. c. Requesting a restyle when the set of AnimationProperty objects has changed. Again, this is currently performed by the existing UpdateProperties method so we are just moving it here. This behavior will also be required when we implement effect.setFrames() and when we call UpdateProperties from elsewhere in restyling code. This is bug 1235002 but we fix it here and leave that bug to just do further cleanup work (e.g. re-instating the check for an empty property set before requesting a restyle in NotifyAnimationTimingUpdated). d. Marking the cascade as needing an update when the set of AnimationProperty objects has changed. This is in preparation for calling UpdateProperties from elsewhere in restyling (e.g. when the nsStyleContext is updated). MozReview-Commit-ID: 2ll26lsWZTm
3baed5c339e31188949641cb7bc7178a71070718: Bug 1260572 - Use 50% switch behavior if StyleAnimationValue::Interpolate fails; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 30 Mar 2016 08:59:08 +0900 - rev 349358
Push 15063 by ewong@pw-wspx.org at Mon, 11 Apr 2016 09:17:48 +0000
Bug 1260572 - Use 50% switch behavior if StyleAnimationValue::Interpolate fails; r=heycam In KeyframeEffectReadOnly::ComposeStyle we call StyleAnimationValue::Interpolate but assume that it always passes. That was true when that code was only used for CSS animations and CSS transitions since they check that their animation values can be interpolated before setting up segments. However, when we set up animations using the Web Animations API we don't perform that check so it is possible for this call to fail. In that case, we could just bail, but, according to CSS Transitions we should apply a 50% switch in this case: https://drafts.csswg.org/css-transitions/#step-types (In Web Animations, specifying this is an open issue. See: https://w3c.github.io/web-animations/#specific-animation-behaviors). Bug 1064937 tracks doing this in general (we'll likely need to mark various properties as being no longer unanimatable but instead as supporting discrete animation) but we can start to introduce it now. Later in bug 1245748, CSS animations and transitions will likely start using the same code path as the Web Animations API for setting up keyframes. As a result, unless we take care to add checks that the values we set are interpolable, the 50% switch behavior will begin to apply to CSS animations and transitions too at that point. Some concerns have been raised about possible web compatibility issues around the 50% switch behavior (see [1] and [2]). For CSS animations, Chrome already supports this behavior so it should be ok at least for CSS animations. When we switch CSS transitions over to the same code path, however, we will need to be careful to add checks that the transition endpoints are interpolable (we can investigate introducing this behavior to transitions as a separate bug that can be easily backed out / preffed off). Regarding the naming of the test added here, going forward we would like to restructure the tests under web-platform-tests to better match the structure of the Web Animations since that seems to be the convention there. However, this doesn't *quite* match the structure of the spec since there are upcoming changes to the spec in this area (e.g. renaming animation behaviors to animation types). However, it should be close enough that we don't have to move it around too much in future. [1] https://drafts.csswg.org/css-transitions/#step-types [2] https://bugzilla.mozilla.org/show_bug.cgi?id=1064937#c0 MozReview-Commit-ID: KcxILrckJg9
debc00d94145d59fe5ddc6bc4f5526508745e24c: Bug 1260572 - Replace AnimValuesStyleRule::AddEmptyValue with an overload of AddValue that takes an rvalue reference; r=heycam
Brian Birtles <birtles@gmail.com> - Wed, 30 Mar 2016 08:59:01 +0900 - rev 349357
Push 15063 by ewong@pw-wspx.org at Mon, 11 Apr 2016 09:17:48 +0000
Bug 1260572 - Replace AnimValuesStyleRule::AddEmptyValue with an overload of AddValue that takes an rvalue reference; r=heycam In the next patch in this series, we would like to update the error handling of the call to StyleAnimationValue::Interpolate in KeyframeEffectReadOnly::ComposeStyle. Using AnimValuesStyleRule::AddEmptyValue there, however, makes handling the error case difficult because we need a means of clearing the allocated StyleAnimationValue. However, simply using AnimationValuesStyleRule::AddValue means we will end up doing needless allocations for StyleAnimationValue objects (the copy constructor for which can result in performing potentially expensive heap allocations, such as when lists are deep-copied). Instead, we add a Move constructor to StyleAnimationValue and add an overload of AnimValuesStyleRule::AddValue that takes an rvalue reference. This provides a more consistent interface to AnimValuesStyleRule and avoids the unnecessary allocations from copying StyleAnimationValue objects. MozReview-Commit-ID: CaP1uPAgNnm
3f521e50602914247d3a2ac977283dc4f6d54f60: Bug 1262601 - Handle video content as opaque in PostProcessLayers() r=mattwoodrow
Sotaro Ikeda <sotaro.ikeda.g@gmail.com> - Sun, 10 Apr 2016 19:51:21 -0700 - rev 349356
Push 15063 by ewong@pw-wspx.org at Mon, 11 Apr 2016 09:17:48 +0000
Bug 1262601 - Handle video content as opaque in PostProcessLayers() r=mattwoodrow
ff7638e5da18b93cb119147558cb5d02d0a56e3a: Bug 1263557 - use plain promise in CustomizeMode.jsm; r?Gijs draft
gasolin <gasolin@gmail.com> - Thu, 07 Apr 2016 10:53:50 +0800 - rev 349355
Push 15062 by bmo:gasolin@mozilla.com at Mon, 11 Apr 2016 09:13:02 +0000
Bug 1263557 - use plain promise in CustomizeMode.jsm; r?Gijs MozReview-Commit-ID: 5K98xC88dXb
27e0d08af85eee31a1c1ba585d9239dc8aa764df: Bug 1257127 - [B2G] Fix Aries debug builds in taskcluster draft
Juan Gomez <jgomez@mozilla.com> - Mon, 11 Apr 2016 11:12:08 +0200 - rev 349354
Push 15061 by bmo:jgomez@mozilla.com at Mon, 11 Apr 2016 09:12:37 +0000
Bug 1257127 - [B2G] Fix Aries debug builds in taskcluster MozReview-Commit-ID: KhVL4EKjUWU
4c51119f4d23122156759ce3cf73f8ceb69585d4: Bug 1257127 - [B2G] Fix Aries debug builds in taskcluster draft
Juan Gomez <jgomez@mozilla.com> - Mon, 11 Apr 2016 10:45:40 +0200 - rev 349353
Push 15060 by bmo:jgomez@mozilla.com at Mon, 11 Apr 2016 09:08:58 +0000
Bug 1257127 - [B2G] Fix Aries debug builds in taskcluster MozReview-Commit-ID: 6Wg3gHwtr5F
93d1b45342603cb7fefee3d6edd50ea080a09d6f: Bug 1029173 - Clean up nsDataSignatureVerifier. draft
Cykesiopka <cykesiopka.bmo@gmail.com> - Mon, 11 Apr 2016 01:48:10 -0700 - rev 349352
Push 15059 by cykesiopka.bmo@gmail.com at Mon, 11 Apr 2016 09:06:01 +0000
Bug 1029173 - Clean up nsDataSignatureVerifier. This patch does the following: - Implements nsNSSShutDownObject. - Replaces more raw pointers with smart pointers. - Fixes other misc issues. MozReview-Commit-ID: HulWdonEbP8
3bf35233900a8ab11a80ef9dacac366ec529b895: Bug 1257127 - [B2G] Fix Aries debug builds in taskcluster r?garndt draft
Juan Gomez <jgomez@mozilla.com> - Mon, 11 Apr 2016 10:45:40 +0200 - rev 349351
Push 15058 by bmo:jgomez@mozilla.com at Mon, 11 Apr 2016 09:05:11 +0000
Bug 1257127 - [B2G] Fix Aries debug builds in taskcluster r?garndt MozReview-Commit-ID: 6Wg3gHwtr5F
0cf5462097895df8cbfb7f3acbfb7a55d4c68337: Bug 1257127 - [B2G] Fix Aries debug builds in taskcluster draft
Juan Gomez <jgomez@mozilla.com> - Mon, 11 Apr 2016 10:45:40 +0200 - rev 349350
Push 15057 by bmo:jgomez@mozilla.com at Mon, 11 Apr 2016 09:02:09 +0000
Bug 1257127 - [B2G] Fix Aries debug builds in taskcluster MozReview-Commit-ID: 6Wg3gHwtr5F
d7adc7c2a4e6b375052b1d4b70282b03a826aaac: Bug 1260718 - use plain promise in CustomizeMode.jsm; r?Gijs draft
gasolin <gasolin@gmail.com> - Thu, 07 Apr 2016 10:53:50 +0800 - rev 349349
Push 15056 by bmo:gasolin@mozilla.com at Mon, 11 Apr 2016 09:02:06 +0000
Bug 1260718 - use plain promise in CustomizeMode.jsm; r?Gijs MozReview-Commit-ID: 5K98xC88dXb
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 +300000 tip