WebKit Bugzilla
Attachment 341894 Details for
Bug 186260
: Add sub-tests based on Suits
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-186260-20180603231156.patch (text/plain), 21.38 KB, created by
Jon Lee
on 2018-06-03 23:11:57 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Jon Lee
Created:
2018-06-03 23:11:57 PDT
Size:
21.38 KB
patch
obsolete
>Subversion Revision: 232456 >diff --git a/PerformanceTests/ChangeLog b/PerformanceTests/ChangeLog >index 6b1225169cdda4235ce10caece7e7b2f52974905..b8ee0993c9d8e14787f96488678043906d0a3b4f 100644 >--- a/PerformanceTests/ChangeLog >+++ b/PerformanceTests/ChangeLog >@@ -1,3 +1,26 @@ >+2018-06-03 Jon Lee <jonlee@apple.com> >+ >+ Add sub-tests based on Suits >+ https://bugs.webkit.org/show_bug.cgi?id=186260 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Add a new developer Suits suite with sub-tests that isolate parts of each particle. >+ The sub-tests are: >+ - Particles using only clip paths >+ - Particles using only shapes >+ - Particles that have no gradients >+ - Particles that have no rotation >+ - Particles that do not move around at all (but all of the physics calculations are >+ still performed) >+ >+ * MotionMark/resources/debug-runner/tests.js: >+ * MotionMark/tests/master/resources/svg-particles.js: Rename the stage, particle, >+ and benchmark to "Suits" from "SVG". >+ * MotionMark/tests/svg/suits.html: Added. >+ * MotionMark/tests/svg/suits.js: Added. >+ Look for the query string and set the particle based on what is selected. >+ > 2018-06-03 Jon Lee <jonlee@apple.com> > > Strip out more characters when creating permalinks >diff --git a/PerformanceTests/MotionMark/resources/debug-runner/tests.js b/PerformanceTests/MotionMark/resources/debug-runner/tests.js >index d7704005d2136f52457f98b4ddd6b00ce9326d2a..c76175fde7f1c92cb4689dc7599d7cd04cf8ff81 100644 >--- a/PerformanceTests/MotionMark/resources/debug-runner/tests.js >+++ b/PerformanceTests/MotionMark/resources/debug-runner/tests.js >@@ -1,5 +1,5 @@ > /* >- * Copyright (C) 2015-2017 Apple Inc. All rights reserved. >+ * Copyright (C) 2015-2018 Apple Inc. All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions >@@ -295,6 +295,31 @@ Suites.push(new Suite("Text suite", > ] > )); > >+Suites.push(new Suite("Suits suite", >+ [ >+ { >+ url: "svg/suits.html?style=clip", >+ name: "Suits: clip only" >+ }, >+ { >+ url: "svg/suits.html?style=shape", >+ name: "Suits: shape only" >+ }, >+ { >+ url: "svg/suits.html?style=rotation", >+ name: "Suits: clip, shape, rotation" >+ }, >+ { >+ url: "svg/suits.html?style=gradient", >+ name: "Suits: clip, shape, gradient" >+ }, >+ { >+ url: "svg/suits.html?style=static", >+ name: "Suits: static" >+ }, >+ ] >+)); >+ > Suites.push(new Suite("3D Graphics", > [ > { >diff --git a/PerformanceTests/MotionMark/tests/master/resources/svg-particles.js b/PerformanceTests/MotionMark/tests/master/resources/svg-particles.js >index 5b1021907d90005decaeea047df0b593a82ec728..fdbe2ceaa21a672fdfd338552396139c92177150 100644 >--- a/PerformanceTests/MotionMark/tests/master/resources/svg-particles.js >+++ b/PerformanceTests/MotionMark/tests/master/resources/svg-particles.js >@@ -1,5 +1,5 @@ > /* >- * Copyright (C) 2015-2017 Apple Inc. All rights reserved. >+ * Copyright (C) 2015-2018 Apple Inc. All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions >@@ -24,7 +24,7 @@ > */ > (function() { > >-SVGParticle = Utilities.createSubclass(Particle, >+SuitsParticle = Utilities.createSubclass(Particle, > function(stage) > { > var shapeId = "#shape-" + Stage.randomInt(1, stage.particleTypeCount); >@@ -87,7 +87,7 @@ SVGParticle = Utilities.createSubclass(Particle, > } > }); > >-SVGParticleStage = Utilities.createSubclass(ParticlesStage, >+SuitsStage = Utilities.createSubclass(ParticlesStage, > function() > { > ParticlesStage.call(this); >@@ -112,7 +112,7 @@ SVGParticleStage = Utilities.createSubclass(ParticlesStage, > > createParticle: function() > { >- return new SVGParticle(this); >+ return new SuitsParticle(this); > }, > > willRemoveParticle: function(particle) >@@ -123,13 +123,13 @@ SVGParticleStage = Utilities.createSubclass(ParticlesStage, > } > }); > >-SVGParticleBenchmark = Utilities.createSubclass(Benchmark, >+SuitsBenchmark = Utilities.createSubclass(Benchmark, > function(options) > { >- Benchmark.call(this, new SVGParticleStage(), options); >+ Benchmark.call(this, new SuitsStage(), options); > } > ); > >-window.benchmarkClass = SVGParticleBenchmark; >+window.benchmarkClass = SuitsBenchmark; > > })(); >diff --git a/PerformanceTests/MotionMark/tests/svg/suits.html b/PerformanceTests/MotionMark/tests/svg/suits.html >new file mode 100644 >index 0000000000000000000000000000000000000000..5f3440405a308235e10ecb930816953d0fe4b8bf >--- /dev/null >+++ b/PerformanceTests/MotionMark/tests/svg/suits.html >@@ -0,0 +1,68 @@ >+<!-- >+ Copyright (C) 2018 Apple Inc. All rights reserved. >+ >+ Redistribution and use in source and binary forms, with or without >+ modification, are permitted provided that the following conditions >+ are met: >+ 1. Redistributions of source code must retain the above copyright >+ notice, this list of conditions and the following disclaimer. >+ 2. 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. >+ >+ THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS 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 APPLE INC. OR ITS 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. >+--> >+<!DOCTYPE html> >+<html> >+<head> >+ <meta charset="utf-8"> >+ <link rel="stylesheet" type="text/css" href="../resources/stage.css"> >+ <style type="text/css"> >+ #stage { >+ background-color: #fdd; >+ } >+ </style> >+</head> >+<body> >+ <svg id="stage"> >+ <defs id="gradients"> >+ <linearGradient id="default-gradient"> >+ <stop offset="0%"/> >+ <stop offset="100%"/> >+ </linearGradient> >+ </defs> >+ <defs id="shapes"> >+ <clipPath id="shape-1" class="shape heart" clipPathUnits="objectBoundingBox"> >+ <path d="M0.5,0.214 C0.466,0.164 0.369,0.09 0.267,0.092 C0.137,0.093 -0,0.186 -0,0.345 C-0,0.659 0.395,0.655 0.5,0.938 C0.605,0.655 1,0.659 1,0.345 C1,0.186 0.863,0.093 0.733,0.092 C0.631,0.09 0.534,0.164 0.5,0.214 z"/> >+ </clipPath> >+ <clipPath id="shape-2" class="shape club" clipPathUnits="objectBoundingBox"> >+ <path d="M0.5,0.018 C0.62,0.018 0.718,0.115 0.718,0.235 C0.718,0.31 0.679,0.377 0.618,0.418 C0.657,0.393 0.703,0.382 0.749,0.381 C0.869,0.381 0.967,0.468 0.967,0.588 C0.967,0.709 0.869,0.806 0.749,0.806 C0.664,0.805 0.578,0.756 0.542,0.677 C0.538,0.799 0.605,0.918 0.708,0.982 C0.593,0.941 0.407,0.941 0.292,0.982 C0.397,0.917 0.461,0.799 0.459,0.676 C0.422,0.756 0.337,0.804 0.251,0.806 C0.131,0.806 0.033,0.709 0.033,0.588 C0.033,0.468 0.131,0.381 0.251,0.381 C0.298,0.38 0.342,0.395 0.382,0.418 C0.319,0.378 0.284,0.309 0.282,0.235 C0.282,0.115 0.38,0.018 0.5,0.018 z"/> >+ </clipPath> >+ <clipPath id="shape-3" class="shape spade" clipPathUnits="objectBoundingBox"> >+ <path d="M0.301,0.982 C0.374,0.941 0.469,0.804 0.469,0.72 C0.374,0.857 0.039,0.825 0.049,0.563 C0.059,0.28 0.406,0.269 0.5,0.018 C0.594,0.269 0.941,0.28 0.951,0.563 C0.961,0.825 0.626,0.857 0.531,0.72 C0.531,0.804 0.626,0.941 0.699,0.982 C0.584,0.941 0.416,0.941 0.301,0.982"/> >+ </clipPath> >+ <clipPath id="shape-4" class="shape diamond" clipPathUnits="objectBoundingBox"> >+ <path d="M0.495,0 C0.424,0.153 0.199,0.439 0.128,0.5 C0.199,0.561 0.424,0.847 0.495,1 C0.566,0.847 0.791,0.561 0.862,0.5 C0.791,0.439 0.566,0.153 0.495,0 z"/> >+ </clipPath> >+ </defs> >+ </svg> >+ <script src="../../resources/strings.js"></script> >+ <script src="../../resources/extensions.js"></script> >+ <script src="../../resources/statistics.js"></script> >+ <script src="../resources/math.js"></script> >+ <script src="../resources/main.js"></script> >+ <script src="../master/resources/particles.js"></script> >+ <script src="../master/resources/svg-particles.js"></script> >+ <script src="suits.js"></script> >+</body> >+</html> >diff --git a/PerformanceTests/MotionMark/tests/svg/suits.js b/PerformanceTests/MotionMark/tests/svg/suits.js >new file mode 100644 >index 0000000000000000000000000000000000000000..ff6df741d1376e263ecb0ca629f322c20f6c0f04 >--- /dev/null >+++ b/PerformanceTests/MotionMark/tests/svg/suits.js >@@ -0,0 +1,307 @@ >+/* >+ * Copyright (C) 2018 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. 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. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS 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 APPLE INC. OR ITS 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. >+ */ >+ >+(function() { >+ >+ClipSuit = Utilities.createSubclass(Particle, >+ function(stage) >+ { >+ var shapeId = "#shape-" + Stage.randomInt(1, stage.particleTypeCount); >+ this.element = Utilities.createSVGElement("rect", { >+ x: 0, >+ y: 0, >+ "clip-path": "url(" + shapeId + ")" >+ }, {}, stage.element); >+ Particle.call(this, stage); >+ }, { >+ >+ sizeMinimum: 30, >+ sizeRange: 40, >+ >+ reset: function() >+ { >+ Particle.prototype.reset.call(this); >+ >+ this.position = Stage.randomElementInArray(this.stage.emitLocation); >+ >+ var velocityMagnitude = Stage.random(.5, 2.5); >+ var angle = Stage.randomInt(0, this.stage.emitSteps) / this.stage.emitSteps * Math.PI * 2 + Stage.dateCounterValue(1000) * this.stage.emissionSpin + velocityMagnitude; >+ this.velocity = new Point(Math.sin(angle), Math.cos(angle)) >+ .multiply(velocityMagnitude); >+ >+ this.element.setAttribute("width", this.size.x); >+ this.element.setAttribute("height", this.size.y); >+ this.stage.colorOffset = (this.stage.colorOffset + .5) % 360; >+ this.element.setAttribute("fill", "hsl(" + this.stage.colorOffset + ", 70%, 65%)"); >+ }, >+ >+ move: function() >+ { >+ this.element.setAttribute("transform", "translate(" + (this.position.x - this.size.center.x) + "," + (this.position.y - this.size.center.x) + ")"); >+ } >+}); >+ >+ShapeSuit = Utilities.createSubclass(Particle, >+ function(stage) >+ { >+ var shapeId = "#shape-" + Stage.randomInt(1, stage.particleTypeCount); >+ var shapePath = document.querySelector(shapeId + " path"); >+ this.element = shapePath.cloneNode(); >+ stage.element.appendChild(this.element); >+ Particle.call(this, stage); >+ }, { >+ >+ sizeMinimum: 30, >+ sizeRange: 40, >+ >+ reset: function() >+ { >+ Particle.prototype.reset.call(this); >+ >+ this.position = Stage.randomElementInArray(this.stage.emitLocation); >+ >+ var velocityMagnitude = Stage.random(.5, 2.5); >+ var angle = Stage.randomInt(0, this.stage.emitSteps) / this.stage.emitSteps * Math.PI * 2 + Stage.dateCounterValue(1000) * this.stage.emissionSpin + velocityMagnitude; >+ this.velocity = new Point(Math.sin(angle), Math.cos(angle)) >+ .multiply(velocityMagnitude); >+ >+ this.transformSuffix = " scale(" + this.size.x + ") translate(-.5,-.5)"; >+ this.stage.colorOffset = (this.stage.colorOffset + .5) % 360; >+ this.element.setAttribute("fill", "hsl(" + this.stage.colorOffset + ", 70%, 65%)"); >+ }, >+ >+ move: function() >+ { >+ this.element.setAttribute("transform", "translate(" + this.position.x + "," + this.position.y + ") " + this.transformSuffix); >+ } >+}); >+ >+RotationSuit = Utilities.createSubclass(Particle, >+ function(stage) >+ { >+ var shapeId = "#shape-" + Stage.randomInt(1, stage.particleTypeCount); >+ this.isClipPath = Stage.randomBool(); >+ if (this.isClipPath) { >+ this.element = Utilities.createSVGElement("rect", { >+ x: 0, >+ y: 0, >+ "clip-path": "url(" + shapeId + ")" >+ }, {}, stage.element); >+ } else { >+ var shapePath = document.querySelector(shapeId + " path"); >+ this.element = shapePath.cloneNode(); >+ stage.element.appendChild(this.element); >+ } >+ >+ Particle.call(this, stage); >+ }, { >+ >+ sizeMinimum: 30, >+ sizeRange: 40, >+ >+ reset: function() >+ { >+ Particle.prototype.reset.call(this); >+ >+ this.position = Stage.randomElementInArray(this.stage.emitLocation); >+ >+ var velocityMagnitude = Stage.random(.5, 2.5); >+ var angle = Stage.randomInt(0, this.stage.emitSteps) / this.stage.emitSteps * Math.PI * 2 + Stage.dateCounterValue(1000) * this.stage.emissionSpin + velocityMagnitude; >+ this.velocity = new Point(Math.sin(angle), Math.cos(angle)) >+ .multiply(velocityMagnitude); >+ >+ if (this.isClipPath) { >+ this.element.setAttribute("width", this.size.x); >+ this.element.setAttribute("height", this.size.y); >+ this.transformSuffix = " translate(-" + this.size.center.x + ",-" + this.size.center.y + ")"; >+ } else >+ this.transformSuffix = " scale(" + this.size.x + ") translate(-.5,-.5)"; >+ >+ this.stage.colorOffset = (this.stage.colorOffset + .5) % 360; >+ this.element.setAttribute("fill", "hsl(" + this.stage.colorOffset + ", 70%, 65%)"); >+ }, >+ >+ move: function() >+ { >+ this.element.setAttribute("transform", "translate(" + this.position.x + "," + this.position.y + ") " + this.rotater.rotate(Point.zero) + this.transformSuffix); >+ } >+}); >+ >+GradientSuit = Utilities.createSubclass(Particle, >+ function(stage) >+ { >+ var shapeId = "#shape-" + Stage.randomInt(1, stage.particleTypeCount); >+ this.isClipPath = Stage.randomBool(); >+ if (this.isClipPath) { >+ this.element = Utilities.createSVGElement("rect", { >+ x: 0, >+ y: 0, >+ "clip-path": "url(" + shapeId + ")" >+ }, {}, stage.element); >+ } else { >+ var shapePath = document.querySelector(shapeId + " path"); >+ this.element = shapePath.cloneNode(); >+ stage.element.appendChild(this.element); >+ } >+ >+ this.gradient = document.getElementById("default-gradient").cloneNode(true); >+ this.gradient.id = "gradient-" + stage.gradientsCounter++; >+ stage.gradientsDefs.appendChild(this.gradient); >+ this.element.setAttribute("fill", "url(#" + this.gradient.id + ")"); >+ >+ Particle.call(this, stage); >+ }, { >+ >+ sizeMinimum: 30, >+ sizeRange: 40, >+ >+ reset: function() >+ { >+ Particle.prototype.reset.call(this); >+ >+ this.position = Stage.randomElementInArray(this.stage.emitLocation); >+ >+ var velocityMagnitude = Stage.random(.5, 2.5); >+ var angle = Stage.randomInt(0, this.stage.emitSteps) / this.stage.emitSteps * Math.PI * 2 + Stage.dateCounterValue(1000) * this.stage.emissionSpin + velocityMagnitude; >+ this.velocity = new Point(Math.sin(angle), Math.cos(angle)) >+ .multiply(velocityMagnitude); >+ >+ if (this.isClipPath) { >+ this.element.setAttribute("width", this.size.x); >+ this.element.setAttribute("height", this.size.y); >+ this.transformSuffix = " translate(-" + this.size.center.x + ",-" + this.size.center.y + ")"; >+ } else >+ this.transformSuffix = " scale(" + this.size.x + ") translate(-.5,-.5)"; >+ >+ this.stage.colorOffset = (this.stage.colorOffset + .5) % 360; >+ >+ var transform = this.stage.element.createSVGTransform(); >+ transform.setRotate(Stage.randomInt(0, 359), 0, 0); >+ this.gradient.gradientTransform.baseVal.initialize(transform); >+ >+ var stops = this.gradient.querySelectorAll("stop"); >+ stops[0].setAttribute("stop-color", "hsl(" + this.stage.colorOffset + ", 70%, 45%)"); >+ stops[1].setAttribute("stop-color", "hsl(" + ((this.stage.colorOffset + Stage.randomInt(50,100)) % 360) + ", 70%, 65%)"); >+ }, >+ >+ move: function() >+ { >+ this.element.setAttribute("transform", "translate(" + this.position.x + "," + this.position.y + ") " + this.transformSuffix); >+ } >+}); >+ >+StaticSuit = Utilities.createSubclass(Particle, >+ function(stage) >+ { >+ var shapeId = "#shape-" + Stage.randomInt(1, stage.particleTypeCount); >+ this.isClipPath = Stage.randomBool(); >+ if (this.isClipPath) { >+ this.element = Utilities.createSVGElement("rect", { >+ x: 0, >+ y: 0, >+ "clip-path": "url(" + shapeId + ")" >+ }, {}, stage.element); >+ } else { >+ var shapePath = document.querySelector(shapeId + " path"); >+ this.element = shapePath.cloneNode(); >+ stage.element.appendChild(this.element); >+ } >+ >+ this.gradient = document.getElementById("default-gradient").cloneNode(true); >+ this.gradient.id = "gradient-" + stage.gradientsCounter++; >+ stage.gradientsDefs.appendChild(this.gradient); >+ this.element.setAttribute("fill", "url(#" + this.gradient.id + ")"); >+ >+ Particle.call(this, stage); >+ }, { >+ >+ sizeMinimum: 30, >+ sizeRange: 40, >+ >+ reset: function() >+ { >+ Particle.prototype.reset.call(this); >+ >+ this.originalPosition = Stage.randomPosition(this.stage.size); >+ this.position = Stage.randomElementInArray(this.stage.emitLocation); >+ >+ var velocityMagnitude = Stage.random(.5, 2.5); >+ var angle = Stage.randomInt(0, this.stage.emitSteps) / this.stage.emitSteps * Math.PI * 2 + Stage.dateCounterValue(1000) * this.stage.emissionSpin + velocityMagnitude; >+ this.velocity = new Point(Math.sin(angle), Math.cos(angle)) >+ .multiply(velocityMagnitude); >+ >+ this.transformSuffix = " rotate(" + Math.floor(Stage.randomAngle() * 180 / Math.PI) + ",0,0)"; >+ if (this.isClipPath) { >+ this.element.setAttribute("width", this.size.x); >+ this.element.setAttribute("height", this.size.y); >+ this.transformSuffix += " translate(-" + this.size.center.x + ",-" + this.size.center.y + ")"; >+ } else >+ this.transformSuffix += " scale(" + this.size.x + ") translate(-.5,-.5)"; >+ >+ this.stage.colorOffset = (this.stage.colorOffset + .5) % 360; >+ >+ var transform = this.stage.element.createSVGTransform(); >+ transform.setRotate(Stage.randomInt(0, 359), 0, 0); >+ this.gradient.gradientTransform.baseVal.initialize(transform); >+ >+ var stops = this.gradient.querySelectorAll("stop"); >+ stops[0].setAttribute("stop-color", "hsl(" + this.stage.colorOffset + ", 70%, 45%)"); >+ stops[1].setAttribute("stop-color", "hsl(" + ((this.stage.colorOffset + Stage.randomInt(50,100)) % 360) + ", 70%, 65%)"); >+ }, >+ >+ move: function() >+ { >+ this.element.setAttribute("transform", "translate(" + this.originalPosition.x + "," + this.originalPosition.y + ") " + this.transformSuffix); >+ } >+}); >+ >+var SuitsBenchmark = window.benchmarkClass; >+var SuitsDerivedBenchmark = Utilities.createSubclass(SuitsBenchmark, >+ function(options) >+ { >+ switch (options["style"]) { >+ case "clip": >+ window.SuitsParticle = ClipSuit; >+ break; >+ case "shape": >+ window.SuitsParticle = ShapeSuit; >+ break; >+ case "rotation": >+ window.SuitsParticle = RotationSuit; >+ break; >+ case "gradient": >+ window.SuitsParticle = GradientSuit; >+ break; >+ case "static": >+ window.SuitsParticle = StaticSuit; >+ break; >+ } >+ SuitsBenchmark.call(this, options); >+ } >+); >+ >+window.benchmarkClass = SuitsDerivedBenchmark; >+ >+})(); >\ No newline at end of file
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 186260
:
341894
|
341900
|
342328