diff --git a/browser/base/content/tabcandy/app/groups.js b/browser/base/content/tabcandy/app/groups.js
index 11aa95d54cc..25fc4003cc8 100644
--- a/browser/base/content/tabcandy/app/groups.js
+++ b/browser/base/content/tabcandy/app/groups.js
@@ -107,7 +107,7 @@ window.Group = function(listOfEls, options) {
.val(self.defaultName);
} else {
self.$title.css({"background":"none"})
- .animate({"paddingLeft":1, "easing":"linear"}, 340);
+ .animate({"paddingLeft":1}, 340, "tabcandyBounce");
}
};
@@ -295,9 +295,10 @@ window.Group.prototype = $.extend(new Item(), new Subscribable(), {
this.$content.css(contentCSS);
} else {
TabMirror.pausePainting();
- $(this.container).animate(css, {complete: function() {
- TabMirror.resumePainting();
- }}).dequeue();
+ $(this.container).animate(css, {
+ complete: function() {TabMirror.resumePainting();},
+ easing: "tabcandyBounce"
+ }).dequeue();
this.$titlebar.animate(titlebarCSS).dequeue();
this.$content.animate(contentCSS).dequeue();
@@ -604,7 +605,7 @@ window.Group.prototype = $.extend(new Item(), new Subscribable(), {
height: overlayHeight,
top: pos.top,
left: pos.left
- },170).addClass("overlay");
+ }, 350, "tabcandyBounce").addClass("overlay");//xxx
var box = new Rect(pos.left, pos.top, overlayWidth, overlayHeight);
box.inset(8, 8);
@@ -892,11 +893,11 @@ window.Groups = {
// ----------
getBoundsForNewTabGroup: function() {
- var pad = 5;
+ var pad = 20;
var sw = window.innerWidth;
var sh = window.innerHeight;
//var w = sw - (pad * 2);
- var w = TabItems.tabWidth*2.5 + pad*4;
+ var w = TabItems.tabWidth*2 + pad*2;
var h = TabItems.tabHeight*1.2 + pad*2;
return new Rect(pad, sh - (h + pad), w, h);
},
diff --git a/browser/base/content/tabcandy/app/jquery-tabcandy-easing.js b/browser/base/content/tabcandy/app/jquery-tabcandy-easing.js
new file mode 100644
index 00000000000..809094de539
--- /dev/null
+++ b/browser/base/content/tabcandy/app/jquery-tabcandy-easing.js
@@ -0,0 +1,55 @@
+/*
+ * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
+ *
+ * Uses the built in easing capabilities added In jQuery 1.1
+ * to offer multiple easing options
+ *
+ * TERMS OF USE - jQuery Easing
+ *
+ * Open source under the BSD License.
+ *
+ * Copyright © 2008 George McGinley Smith
+ * All rights reserved.
+ *
+ * Edited and mangled by Aza Raskin :)
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * Neither the name of the author nor the names of contributors may be used to endorse
+ * or promote products derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+*/
+
+// t: current time, b: begInnIng value, c: change In value, d: duration
+jQuery.easing['jswing'] = jQuery.easing['swing'];
+
+jQuery.extend( jQuery.easing,
+{
+ def: 'easeOutQuad',
+ swing: function (x, t, b, c, d) {
+ //alert(jQuery.easing.default);
+ return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
+ },
+ tabcandyBounce: function (x, t, b, c, d, s) {
+ if (s == undefined) s = 1.70158;
+ return c*(Math.pow((t=t/d-1),3)*t*((s+1)*t+.3 + s) + 1) + b;
+ }
+});
+
diff --git a/browser/base/content/tabcandy/app/tabitems.js b/browser/base/content/tabcandy/app/tabitems.js
index feef4e26068..6e9d8796664 100644
--- a/browser/base/content/tabcandy/app/tabitems.js
+++ b/browser/base/content/tabcandy/app/tabitems.js
@@ -98,9 +98,11 @@ window.TabItem.prototype = $.extend(new Item(), {
$container.css(css);
} else {
TabMirror.pausePainting();
- $container.animate(css, {complete: function() {
- TabMirror.resumePainting();
- }}).dequeue();
+ $container.animate(css,{
+ complete: function() {TabMirror.resumePainting();},
+ duration: 350,
+ easing: "tabcandyBounce"
+ }).dequeue();
}
if(css.fontSize) {
@@ -254,10 +256,9 @@ window.TabItems = {
.animate({
top: -10,
left: 0,
- easing: "easein",
width: orig.width*scale,
height: orig.height*scale
- }, 200, onZoomDone);
+ }, 200, "easeOutQuad", onZoomDone);
}
} else {
$(this).find("canvas").data("link").tab.raw.pos = $(this).position();
diff --git a/content/candies/revision-a/index.html b/content/candies/revision-a/index.html
index 9bfd5e82fc4..3e7a952a410 100644
--- a/content/candies/revision-a/index.html
+++ b/content/candies/revision-a/index.html
@@ -21,7 +21,8 @@
-
+
+