summaryrefslogtreecommitdiffstats
path: root/third_party/webkit/PerformanceTests/MotionMark/tests/template
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /third_party/webkit/PerformanceTests/MotionMark/tests/template
parentInitial commit. (diff)
downloadfirefox-esr-upstream.tar.xz
firefox-esr-upstream.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/webkit/PerformanceTests/MotionMark/tests/template')
-rw-r--r--third_party/webkit/PerformanceTests/MotionMark/tests/template/resources/template-canvas.js89
-rw-r--r--third_party/webkit/PerformanceTests/MotionMark/tests/template/resources/template-css.js46
-rw-r--r--third_party/webkit/PerformanceTests/MotionMark/tests/template/resources/template-svg.js46
-rw-r--r--third_party/webkit/PerformanceTests/MotionMark/tests/template/template-canvas.html16
-rw-r--r--third_party/webkit/PerformanceTests/MotionMark/tests/template/template-css.html16
-rw-r--r--third_party/webkit/PerformanceTests/MotionMark/tests/template/template-svg.html16
6 files changed, 229 insertions, 0 deletions
diff --git a/third_party/webkit/PerformanceTests/MotionMark/tests/template/resources/template-canvas.js b/third_party/webkit/PerformanceTests/MotionMark/tests/template/resources/template-canvas.js
new file mode 100644
index 0000000000..b74984c010
--- /dev/null
+++ b/third_party/webkit/PerformanceTests/MotionMark/tests/template/resources/template-canvas.js
@@ -0,0 +1,89 @@
+(function() {
+
+function TemplateCanvasObject(stage)
+{
+ // For the canvas stage, most likely you will need to create your
+ // animated object since it's only draw time thing.
+
+ // Fill in your object data.
+}
+
+TemplateCanvasObject.prototype = {
+ _draw: function()
+ {
+ // Draw your object.
+ },
+
+ animate: function(timeDelta)
+ {
+ // Redraw the animated object. The last time this animated
+ // item was drawn before 'timeDelta'.
+
+ // Move your object.
+
+ // Redraw your object.
+ this._draw();
+ }
+};
+
+TemplateCanvasStage = Utilities.createSubclass(Stage,
+ function()
+ {
+ Stage.call(this);
+ }, {
+
+ initialize: function(benchmark, options)
+ {
+ Stage.prototype.initialize.call(this, benchmark, options);
+ this.context = this.element.getContext("2d");
+
+ // Define a collection for your objects.
+ },
+
+ tune: function(count)
+ {
+ // If count is -ve, -count elements need to be removed form the
+ // stage. If count is +ve, +count elements need to be added to
+ // the stage.
+
+ // Change objects in the stage.
+ },
+
+ animate: function(timeDelta)
+ {
+ // Animate the elements such that all of them are redrawn. Most
+ // likely you will need to call TemplateCanvasObject.animate()
+ // for all your animated objects here.
+
+ // Most likely you will need to clear the canvas with every redraw.
+ this.context.clearRect(0, 0, this.size.x, this.size.y);
+
+ // Loop through all your objects and ask them to animate.
+ }
+});
+
+TemplateCanvasBenchmark = Utilities.createSubclass(Benchmark,
+ function(options)
+ {
+ Benchmark.call(this, new TemplateCanvasStage(), options);
+ }, {
+
+ // Override this function if the benchmark needs to wait for resources to be
+ // loaded.
+ //
+ // Default implementation returns a resolved promise, so that the benchmark
+ // benchmark starts right away. Here's an example where we're waiting 5
+ // seconds before starting the benchmark.
+ waitUntilReady: function()
+ {
+ var promise = new SimplePromise;
+ window.setTimeout(function() {
+ promise.resolve();
+ }, 5000);
+ return promise;
+ }
+});
+
+window.benchmarkClass = TemplateCanvasBenchmark;
+
+})(); \ No newline at end of file
diff --git a/third_party/webkit/PerformanceTests/MotionMark/tests/template/resources/template-css.js b/third_party/webkit/PerformanceTests/MotionMark/tests/template/resources/template-css.js
new file mode 100644
index 0000000000..cdaa814af0
--- /dev/null
+++ b/third_party/webkit/PerformanceTests/MotionMark/tests/template/resources/template-css.js
@@ -0,0 +1,46 @@
+(function() {
+
+TemplateCssStage = Utilities.createSubclass(Stage,
+ function()
+ {
+ Stage.call(this);
+ }, {
+
+ initialize: function(benchmark, options)
+ {
+ Stage.prototype.initialize.call(this, benchmark, options);
+
+ // Do initialization here.
+ },
+
+ tune: function(count)
+ {
+ // If count is -ve, -count elements need to be removed form the
+ // stage. If count is +ve, +count elements need to be added to
+ // the stage.
+
+ // Change objects in the stage.
+ },
+
+ animate: function(timeDelta)
+ {
+ // Animate the elements such that all of them are redrawn. You
+ // may need to define your object so it keeps its animation data.
+ // This object should encapsulate a corrosponding HTMLElement.
+ // You may also define a method called animate() in this object
+ // and just call this function here for all the elements.
+
+ // Loop through all your objects and ask them to animate.
+ }
+});
+
+TemplateCssBenchmark = Utilities.createSubclass(Benchmark,
+ function(options)
+ {
+ Benchmark.call(this, new TemplateCssStage(), options);
+ }
+);
+
+window.benchmarkClass = TemplateCssBenchmark;
+
+})();
diff --git a/third_party/webkit/PerformanceTests/MotionMark/tests/template/resources/template-svg.js b/third_party/webkit/PerformanceTests/MotionMark/tests/template/resources/template-svg.js
new file mode 100644
index 0000000000..8fee9c3478
--- /dev/null
+++ b/third_party/webkit/PerformanceTests/MotionMark/tests/template/resources/template-svg.js
@@ -0,0 +1,46 @@
+(function() {
+
+TemplateSvgStage = Utilities.createSubclass(Stage,
+ function()
+ {
+ Stage.call(this);
+ }, {
+
+ initialize: function(benchmark, options)
+ {
+ Stage.prototype.initialize.call(this, benchmark, options);
+
+ // Do initialization here.
+ },
+
+ tune: function(count)
+ {
+ // If count is -ve, -count elements need to be removed form the
+ // stage. If count is +ve, +count elements need to be added to
+ // the stage.
+
+ // TODO: Change objects in the stage.
+ },
+
+ animate: function(timeDelta)
+ {
+ // Animate the elements such that all of them are redrawn. You
+ // may need to define your object so it keeps its animation data.
+ // This object should encapsulate a corrosponding SVGElement.
+ // You may also define a method called animate() in this object
+ // and just call this function here for all the elements.
+
+ // TODO: Loop through all your objects and ask them to animate.
+ }
+});
+
+TemplateSvgBenchmark = Utilities.createSubclass(Benchmark,
+ function(options)
+ {
+ Benchmark.call(this, new TemplateSvgStage(), options);
+ }
+);
+
+window.benchmarkClass = TemplateSvgBenchmark;
+
+})();
diff --git a/third_party/webkit/PerformanceTests/MotionMark/tests/template/template-canvas.html b/third_party/webkit/PerformanceTests/MotionMark/tests/template/template-canvas.html
new file mode 100644
index 0000000000..dcb7f52861
--- /dev/null
+++ b/third_party/webkit/PerformanceTests/MotionMark/tests/template/template-canvas.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <link rel="stylesheet" type="text/css" href="../resources/stage.css">
+</head>
+<body>
+ <canvas id="stage"></canvas>
+ <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="resources/template-canvas.js"></script>
+</body>
+</html>
diff --git a/third_party/webkit/PerformanceTests/MotionMark/tests/template/template-css.html b/third_party/webkit/PerformanceTests/MotionMark/tests/template/template-css.html
new file mode 100644
index 0000000000..70eb214e95
--- /dev/null
+++ b/third_party/webkit/PerformanceTests/MotionMark/tests/template/template-css.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <link rel="stylesheet" type="text/css" href="../resources/stage.css">
+</head>
+<body>
+ <div id="stage"></div>
+ <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="resources/template-css.js"></script>
+</body>
+</html>
diff --git a/third_party/webkit/PerformanceTests/MotionMark/tests/template/template-svg.html b/third_party/webkit/PerformanceTests/MotionMark/tests/template/template-svg.html
new file mode 100644
index 0000000000..7a14fc45d6
--- /dev/null
+++ b/third_party/webkit/PerformanceTests/MotionMark/tests/template/template-svg.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <link rel="stylesheet" type="text/css" href="../resources/stage.css">
+</head>
+<body>
+ <svg id="stage"></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="resources/template-svg.js"></script>
+</body>
+</html>