Skip to content

Commit

Permalink
Мелкие фиксы для сжатия
Browse files Browse the repository at this point in the history
  • Loading branch information
ColCh committed Jan 18, 2014
1 parent 14656a7 commit e304d7b
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 25 deletions.
10 changes: 5 additions & 5 deletions src/abstractions.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
}
},

useRAF: isRAFSupported,
useRAF: RAF_SUPPORTED,
isAwaken: false,
frequency: TICKER_BASE_INTERVAL,

Expand Down Expand Up @@ -103,7 +103,7 @@
*/
ignoreReflow: function (ignoreRAF) {
this.sleep();
this.useRAF = isRAFSupported && !Boolean(ignoreRAF);
this.useRAF = RAF_SUPPORTED && !Boolean(ignoreRAF);
this.awake();
}
};
Expand Down Expand Up @@ -658,13 +658,13 @@
key = key_toDOMString(parseInt(key, 10));
keyframesRule.deleteRule(key);
}
this.rules.push(keyframesRule);
KeyframesRulesRegistry.rules.push(keyframesRule);
},
request: function () {
if (this.rules.length === 0) {
if (KeyframesRulesRegistry.rules.length === 0) {
return addRule("@" + KEYFRAME_PREFIX + " " + ANIMATION_NAME_NONE);
} else {
return this.rules.pop();
return KeyframesRulesRegistry.rules.pop();
}
}
};
Expand Down
4 changes: 2 additions & 2 deletions src/animate_class.js
Original file line number Diff line number Diff line change
Expand Up @@ -245,8 +245,8 @@
* @param {number} iterations
*/
Animation.prototype.setIterations = function (iterations) {
if (iterations === Number.POSITIVE_INFINITY) {
this.iterations = this.integralIterations = Number.POSITIVE_INFINITY;
if (iterations === POSITIVE_INFINITY) {
this.iterations = this.integralIterations = POSITIVE_INFINITY;
} else {
if (isFinite(iterations) && iterations >= 0) {
this.iterations = iterations;
Expand Down
2 changes: 1 addition & 1 deletion src/animate_wrap.js
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@

if (goog.isDef(iterations)) {
if (iterations === ITERATIONCOUNT_INFINITE) {
numericIterations = Number.POSITIVE_INFINITY;
numericIterations = POSITIVE_INFINITY;
} else {
numericIterations = iterations * 1;
}
Expand Down
42 changes: 33 additions & 9 deletions src/constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,12 @@
*/
var ANIMATION_NAME_NONE = 'none';

/**
* @const
* @type {string}
*/
var HYPHEN = '-';

/**
* Имя CSS-свойства для назначения \ получения анимации (shorthand).
* @type {string}
Expand All @@ -72,63 +78,69 @@
* @type {string}
* @const
*/
var ANIMATION_NAME = "animation-name";
var ANIMATION_NAME = [ANIMATION, "name"].join(HYPHEN);

/**
* Имя CSS-свойства для назначения \ получения статуса проигрывания анимации.
* @type {string}
* @const
*/
var ANIMATION_PLAY_STATE = "animation-play-state";
var ANIMATION_PLAY_STATE = [ANIMATION, "play", "state"].join(HYPHEN);

/**
* Имя CSS-свойства для назначения \ получения продолжительности анимации.
* @type {string}
* @const
*/
var ANIMATION_DURATION = "animation-duration";
var ANIMATION_DURATION = [ANIMATION, "duration"].join(HYPHEN);

/**
* Имя CSS-свойства для назначения \ получения временной функции смягчения анимации \ ключевого кадра.
* @type {string}
* @const
*/
var ANIMATION_TIMING_FUNCTION = "animation-timing-function";
var ANIMATION_TIMING_FUNCTION = [ANIMATION, "timing", "function"].join(HYPHEN);

/**
* Имя CSS-свойства для назначения \ получения задержки старта анимации.
* @type {string}
* @const
*/
var ANIMATION_DELAY = "animation-delay";
var ANIMATION_DELAY = [ANIMATION, "delay"].join(HYPHEN);

/**
* Имя CSS-свойства для назначения \ получения количества проходов анимации.
* @type {string}
* @const
*/
var ANIMATION_ITERATION_COUNT = "animation-iteration-count";
var ANIMATION_ITERATION_COUNT = [ANIMATION, "iteration", "count"].join(HYPHEN);

/**
* Имя CSS-свойства для назначения \ получения направления прогрессирования анимации.
* @type {string}
* @const
*/
var ANIMATION_DIRECTION = "animation-direction";
var ANIMATION_DIRECTION = [ANIMATION, "direction"].join(HYPHEN);

/**
* Имя CSS-свойства для назначения \ получения режима заполнения анимации.
* @type {string}
* @const
*/
var ANIMATION_FILL_MODE = "animation-fill-mode";
var ANIMATION_FILL_MODE = [ANIMATION, "fill", "mode"].join(HYPHEN);

/**
* @type {boolean}
* @const
*/
var ANIMATION_HANDLER_USES_CAPTURE = true;

/**
* @const
* @type {number}
*/
var POSITIVE_INFINITY = 1/0;

/**
* Все известные имена событий конца анимаций
* @type {Array}
Expand Down Expand Up @@ -206,4 +218,16 @@
ANIMATION_ITERATION_COUNT,
ANIMATION_DIRECTION,
ANIMATION_FILL_MODE
];
];

/**
* @const
* @type {string}
*/
var REQUEST_ANIMATION_FRAME = 'requestAnimationFrame';

/**
* @const
* @type {string}
*/
var CANCEL_REQUEST_ANIMATION_FRAME = 'cancelRequestAnimationFrame';
15 changes: 7 additions & 8 deletions src/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -89,15 +89,10 @@
* */
var now = 'performance' in goog.global && 'now' in goog.global.performance ? function () { return goog.global.performance.timing.navigationStart + goog.global.performance.now(); } : 'now' in Date ? Date.now : function () { return +new Date(); };

var isRAFSupported = getVendorPropName('requestAnimationFrame', true) !== "";
var rAF = goog.global[ getVendorPropName(REQUEST_ANIMATION_FRAME, true) ];
var cancelRAF = goog.global[ getVendorPropName(CANCEL_REQUEST_ANIMATION_FRAME, true) ];

var rAF;
var cancelRAF;

if (isRAFSupported) {
rAF = goog.global[ getVendorPropName('requestAnimationFrame', true) ];
cancelRAF = goog.global[ getVendorPropName('cancelRequestAnimationFrame', true) ];
}
var RAF_SUPPORTED = goog.isFunction(rAF);

/**
* @param {!Array} array
Expand Down Expand Up @@ -367,6 +362,8 @@
/** @type {Object.<CSSStyleDeclaration, function (!Element, string, !Array.<number>, string): string>} */
var toStringValueHooks = {};

//TODO сжать список свойств, для которых не нужны пиксели. Google Closure Compiler этого не делает

/** @type {Object.<CSSStyleDeclaration, boolean>} */
var toStringValueNoPX = {
"fill-opacity": true,
Expand Down Expand Up @@ -516,6 +513,8 @@
*/
var delegatorCallbacks = {};

//TODO сжать delegatorCallbacks. МБ вообще разбить на файлы - Google Closure Compiler инлайнит туда константы

/**
* Объект с обработчиками событий окончания анимаций
* @type {Object.<string, Function>}
Expand Down

0 comments on commit e304d7b

Please sign in to comment.