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 316349
Push 9480 by jlund@mozilla.com at Mon, 25 Apr 2016 17:12:58 +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 316348
Push 9480 by jlund@mozilla.com at Mon, 25 Apr 2016 17:12:58 +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 316347
Push 9480 by jlund@mozilla.com at Mon, 25 Apr 2016 17:12:58 +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 316346
Push 9480 by jlund@mozilla.com at Mon, 25 Apr 2016 17:12:58 +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 316345
Push 9480 by jlund@mozilla.com at Mon, 25 Apr 2016 17:12:58 +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 316344
Push 9480 by jlund@mozilla.com at Mon, 25 Apr 2016 17:12:58 +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 316343
Push 9480 by jlund@mozilla.com at Mon, 25 Apr 2016 17:12:58 +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
1801b99994e4f29cd49fa34d840f0c40ba8be304: Backed out changeset 1d5b01d01df6 (bug 1238286) for m(oth) failures in test_focus_autocomplete.xul
Wes Kocher <wkocher@mozilla.com> - Mon, 11 Apr 2016 09:46:26 -0700 - rev 316342
Push 9480 by jlund@mozilla.com at Mon, 25 Apr 2016 17:12:58 +0000
Backed out changeset 1d5b01d01df6 (bug 1238286) for m(oth) failures in test_focus_autocomplete.xul MozReview-Commit-ID: HVzqjvciYqB
cad934baac3c087d02b5e4d4043833fe38f801ee: Bug 1261049 - Clear button position isn't consistent among tabs r=ntim
Jarda Snajdr <jsnajdr@gmail.com> - Mon, 11 Apr 2016 05:53:00 +0200 - rev 316341
Push 9480 by jlund@mozilla.com at Mon, 25 Apr 2016 17:12:58 +0000
Bug 1261049 - Clear button position isn't consistent among tabs r=ntim MozReview-Commit-ID: 49LIEko6rm5
d93a1bc945137dfcc94866f1e30da1f55cfb8d9d: Bug 1250110 - Clean up the path utility functions. r=ejpbruel
Jason Laster <jlaster@mozilla.com> - Thu, 07 Apr 2016 11:58:00 -0400 - rev 316340
Push 9480 by jlund@mozilla.com at Mon, 25 Apr 2016 17:12:58 +0000
Bug 1250110 - Clean up the path utility functions. r=ejpbruel
54a802cb5d4336b3ac8cba27c331e2c338e2b432: Bug 1262766 - Storage Inspector breaks down when Cache Storage throws a DOM security error. r=mratcliffe
Jarda Snajdr <jsnajdr@gmail.com> - Mon, 11 Apr 2016 01:23:00 -0400 - rev 316339
Push 9480 by jlund@mozilla.com at Mon, 25 Apr 2016 17:12:58 +0000
Bug 1262766 - Storage Inspector breaks down when Cache Storage throws a DOM security error. r=mratcliffe
1d5b01d01df634f2113a6ebfd597feb8b70f001f: Bug 1238286 - Searchbar placed in Australis Menu doesn't detect search plugins if Menu wasn't opened in the window, r=adw.
Florian Quèze <florian@queze.net> - Mon, 11 Apr 2016 15:07:27 +0200 - rev 316338
Push 9480 by jlund@mozilla.com at Mon, 25 Apr 2016 17:12:58 +0000
Bug 1238286 - Searchbar placed in Australis Menu doesn't detect search plugins if Menu wasn't opened in the window, r=adw.
02a6023f95ceb20beb3f996608c26cf8f5f5753a: Merge mozilla-central to fx-team
Carsten "Tomcat" Book <cbook@mozilla.com> - Mon, 11 Apr 2016 11:48:20 +0200 - rev 316337
Push 9480 by jlund@mozilla.com at Mon, 25 Apr 2016 17:12:58 +0000
Merge mozilla-central to fx-team
b26c9c90617b0a2f366afee79223b64b203625b1: Bug 1260718 - use plain promise in CustomizableUI.jsm and ScrollbarSampler.jsm; r=Gijs
gasolin <gasolin@gmail.com> - Wed, 06 Apr 2016 14:29:37 +0800 - rev 316336
Push 9480 by jlund@mozilla.com at Mon, 25 Apr 2016 17:12:58 +0000
Bug 1260718 - use plain promise in CustomizableUI.jsm and ScrollbarSampler.jsm; r=Gijs MozReview-Commit-ID: 25XS1MEgpe5
8a367c93f87d97adbc8a88e97bb723f552023e8c: Bug 1260718 - use plain promise in panelUI.js; r=Gijs
gasolin <gasolin@gmail.com> - Wed, 06 Apr 2016 15:05:11 +0800 - rev 316335
Push 9480 by jlund@mozilla.com at Mon, 25 Apr 2016 17:12:58 +0000
Bug 1260718 - use plain promise in panelUI.js; r=Gijs MozReview-Commit-ID: 8WkAovMOMop
8ff3c4cb70c382a99c2c46558242fce8cc971dd7: Bug 1231434 - Add 'Delete All' context menu entry to storage inspector. r=mratcliffe
Jarda Snajdr <jsnajdr@gmail.com> - Mon, 11 Apr 2016 01:21:00 +0200 - rev 316334
Push 9480 by jlund@mozilla.com at Mon, 25 Apr 2016 17:12:58 +0000
Bug 1231434 - Add 'Delete All' context menu entry to storage inspector. r=mratcliffe
a003e040f00771f18c84b691a58c09a0c139f953: Bug 1262368 - Fix browser_UITour_heartbeat.js to work on e10s. r=MattN
Alessio Placitelli <alessio.placitelli@gmail.com> - Fri, 08 Apr 2016 23:50:00 +0200 - rev 316333
Push 9480 by jlund@mozilla.com at Mon, 25 Apr 2016 17:12:58 +0000
Bug 1262368 - Fix browser_UITour_heartbeat.js to work on e10s. r=MattN MozReview-Commit-ID: 6DtCPx9wa1r
e847cfcb315f511f4928b03fd47dcf57aad05e1e: merge mozilla-inbound to mozilla-central a=merge
Carsten "Tomcat" Book <cbook@mozilla.com> - Mon, 11 Apr 2016 11:46:21 +0200 - rev 316332
Push 9480 by jlund@mozilla.com at Mon, 25 Apr 2016 17:12:58 +0000
merge mozilla-inbound to mozilla-central a=merge
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 316331
Push 9480 by jlund@mozilla.com at Mon, 25 Apr 2016 17:12:58 +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 316330
Push 9480 by jlund@mozilla.com at Mon, 25 Apr 2016 17:12:58 +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
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 tip