Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(431)

Unified Diff: chrome/test/data/third_party/spaceport/js/sprites/renderers/css3dImg.js

Issue 10134041: Add test data for spaceport benchmark. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/test/data/third_party/spaceport/js/sprites/renderers/css3dImg.js
diff --git a/chrome/test/data/third_party/spaceport/js/sprites/renderers/css3dImg.js b/chrome/test/data/third_party/spaceport/js/sprites/renderers/css3dImg.js
new file mode 100644
index 0000000000000000000000000000000000000000..4b668334fe2889aee812f7274a354a3443d0c3c9
--- /dev/null
+++ b/chrome/test/data/third_party/spaceport/js/sprites/renderers/css3dImg.js
@@ -0,0 +1,67 @@
+define([ 'util/ensureCallback', 'features', 'Modernizr', 'sprites/renderers/DomContext', 'util/create', 'sprites/container', 'util/quickPromise' ], function (ensureCallback, features, Modernizr, DomContext, create, container, quickPromise) {
+ function RenderContext(sourceData, frameData) {
+ if (!Modernizr.csstransforms3d) {
+ return;
+ }
+
+ this.loadPromise = quickPromise();
+ DomContext.call(this, sourceData, frameData, this.loadPromise.resolve);
+
+ this.elements.forEach(function (frameElements) {
+ frameElements.forEach(function (element) {
+ element.style[features.transformOriginStyleProperty] = '0 0';
+ });
+ });
+
+ this.transformData = frameData.map(function (objectTransforms) {
+ return objectTransforms.map(function (t) {
+ return t.cssTransform3d;
+ });
+ });
+
+ this.containerElement = container();
+ }
+
+ RenderContext.prototype = create(DomContext.prototype);
+
+ RenderContext.prototype.load = function load(callback) {
+ callback = ensureCallback(callback);
+
+ if (!Modernizr.csstransforms3d) {
+ callback(new Error('Not supported'));
+ return;
+ }
+
+ document.body.appendChild(this.containerElement);
+
+ this.loadPromise.then(function () {
+ callback(null);
+ });
+ };
+
+ RenderContext.prototype.unload = function unload() {
+ this.containerElement.parentNode.removeChild(this.containerElement);
+ DomContext.prototype.unload.call(this);
+ };
+
+ var transformStyleProperty = features.transformStyleProperty;
+
+ RenderContext.prototype.processElements = function processElements(elements, transforms) {
+ var count = transforms.length;
+ var i;
+ for (i = 0; i < count; ++i) {
+ var element = elements[i];
+ element.style[transformStyleProperty] = transforms[i];
+ element.zIndex = i;
+
+ // Elements not in the DOM need to be added
+ if (!element.parentNode) {
+ this.containerElement.appendChild(element);
+ }
+ }
+ };
+
+ return function (element, frameData) {
+ return new RenderContext(element, frameData);
+ };
+});

Powered by Google App Engine
This is Rietveld 408576698