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

Unified Diff: PerformanceTests/Layout/Shapes/resources/shapes.js

Issue 186783003: [CSS Shapes] Add performance tests (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: All perf tests without the .gif Created 6 years, 10 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
« no previous file with comments | « PerformanceTests/Layout/Shapes/resources/shapes.css ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: PerformanceTests/Layout/Shapes/resources/shapes.js
diff --git a/PerformanceTests/Layout/Shapes/resources/shapes.js b/PerformanceTests/Layout/Shapes/resources/shapes.js
new file mode 100644
index 0000000000000000000000000000000000000000..320f9a66254bcb0af4a2f110e9ace7c76cbe4b20
--- /dev/null
+++ b/PerformanceTests/Layout/Shapes/resources/shapes.js
@@ -0,0 +1,85 @@
+(function() {
+ var templateParagraph = null;
+ var templateFloatingNode = null;
+ var DEFAULT_SHAPE_OBJECT_COUNT = 100;
+
+ function createParagraphNode() {
+ if (!templateParagraph) {
+ templateParagraph = document.createElement("p");
+ templateParagraph.innerHTML = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam at turpis placerat sapien congue viverra nec sed felis.\
+ Aenean aliquam, justo eu condimentum pharetra, arcu eros blandit metus, nec lacinia nisi orci vitae nunc.\
+ Proin orci libero, accumsan non dignissim at, sodales in sapien. Curabitur dui nibh, venenatis vel tempus vel, accumsan nec velit.\
+ Nam sit amet tempor lacus. Sed mollis dolor nibh, non tempus leo. Donec magna odio, commodo id porta in, aliquam mollis eros.\
+ Pellentesque vulputate gravida ligula in elementum. Fusce lacinia massa justo, at porttitor orci.\
+ Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec odio quam, pulvinar ut porttitor ac, tempor vitae ligula.\
+ Cras aliquet sapien id sapien mollis nec pulvinar mauris adipiscing. Praesent porttitor consequat augue, sit amet mollis justo condimentum eu.\
+ Etiam ut erat pellentesque orci congue interdum. Nulla eu eros mi.\
+ Curabitur rutrum, lorem ac malesuada pellentesque, sapien risus consequat massa, eget pellentesque nunc nulla vel sem.";
+ templateParagraph.className = "contentParagraph";
+ }
+
+ var paragraph = templateParagraph.cloneNode(true);
+ return paragraph;
+ }
+
+ function createFloatingNode(properties) {
+ if (!templateFloatingNode) {
+ templateFloatingNode = document.createElement("div");
+ templateFloatingNode.className = "floatingObject";
+ }
+
+ var float = templateFloatingNode.cloneNode(false);
+ for (prop in properties) {
+ float.style[prop] = properties[prop];
+ }
+ return float;
+ }
+
+ function addArticles(floatingObjects, paragraphCount) {
+ for (var i = 0; i < paragraphCount; ++i) {
+ floatingObjects.appendChild(createParagraphNode());
+ }
+ }
+
+ function createFloatingObjects(properties, floatingObjectCount) {
+ var testBox = document.createElement("div");
+ for (var i = 0; i < floatingObjectCount; ++i) {
+ testBox.appendChild(createFloatingNode(properties));
+ testBox.appendChild(createParagraphNode())
+ }
+ testBox.className = "testBox";
+ return testBox;
+ }
+
+ function applyFloating() {
+ var floatingObjects = document.getElementsByClassName('floatingObject');
+ for (i = 0; i < floatingObjects.length; ++i) {
+ floatingObjects[i].style.cssFloat = 'left';
+ }
+ }
+
+ function createShapeOutsideTest(properties, shapeObjectCount) {
+ shapeObjectCount = shapeObjectCount || DEFAULT_SHAPE_OBJECT_COUNT;
+
+ var floatingObjects = createFloatingObjects(properties, shapeObjectCount);
+ document.body.appendChild(floatingObjects);
+ return {
+ description: "Testing shapes with " + properties['webkitShapeOutside'] +" using " + shapeObjectCount + " shapes.",
+ run: function() {
+ applyFloating();
+ document.body.offsetTop;
+ },
+ setup: function() {
+ PerfTestRunner.resetRandomSeed();
+ document.body.offsetTop;
+ },
+ done: function() {
+ document.body.removeChild(floatingObjects);
+ templateParagraph = null;
+ }
+ };
+ }
+
+ window.createShapeOutsideTest = createShapeOutsideTest;
+
+})();
« no previous file with comments | « PerformanceTests/Layout/Shapes/resources/shapes.css ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698