| Index: LayoutTests/fast/workers/resources/bubble2.js
|
| diff --git a/LayoutTests/fast/workers/resources/bubble2.js b/LayoutTests/fast/workers/resources/bubble2.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..220510b634aede1bbc6da8731209ee5ca4b7d7f9
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/workers/resources/bubble2.js
|
| @@ -0,0 +1,56 @@
|
| +(function(scope) {
|
| + 'use strict';
|
| +
|
| + var tokens = null;
|
| + var scroll = null;
|
| + var pendingscrolldelta = null;
|
| + var transform = null;
|
| +
|
| + function sign(n) {
|
| + if (n >= 0)
|
| + return 1;
|
| + return -1;
|
| + }
|
| +
|
| + // An extremely cheesy animation.
|
| + function tick(context) {
|
| + var seconds = context.timestamp / 1000.0;
|
| + var scrolltop = context.getScalar(scroll);
|
| + var psd = undefined;
|
| + try {
|
| + psd = context.getScalar(pendingscrolldelta);
|
| + } catch(err) {
|
| + console.log(err);
|
| + }
|
| +
|
| + if (psd) {
|
| + // beforescroll
|
| + console.log('beforescroll pendingscrolldelta: ' + psd);
|
| +
|
| + var matrix = context.getMatrix(transform);
|
| + matrix.m24 -= psd;
|
| + context.setMatrix(transform, matrix);
|
| + context.setScalar(pendingscrolldelta, 5 * sign(psd));
|
| + //context.setScalar(pendingscrolldelta, 0);
|
| + } else {
|
| + // normal
|
| + console.log('normal tick, scrolltop: ' + scrolltop);
|
| +
|
| + //var matrix = context.getMatrix(transform);
|
| + //matrix.m24 = 0.5 * scrolltop; //Math.sin(seconds);
|
| + //context.setMatrix(transform, matrix);
|
| + }
|
| +
|
| + scope.teleportMessage(context, tick);
|
| + }
|
| +
|
| + scope.onmessage = function(e) {
|
| + tokens = e.data;
|
| + scroll = tokens[0];
|
| + pendingscrolldelta = tokens[1];
|
| + transform = tokens[2];
|
| + var context = new TeleportContext(tokens);
|
| + scope.teleportMessage(context, tick);
|
| + };
|
| +
|
| +})(self);
|
|
|