[CSS Shapes] Add no shapes version of RegionsShapes performance test
authorzoltan@webkit.org <zoltan@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 9 Apr 2014 22:31:34 +0000 (22:31 +0000)
committerzoltan@webkit.org <zoltan@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 9 Apr 2014 22:31:34 +0000 (22:31 +0000)
https://bugs.webkit.org/show_bug.cgi?id=131455

Reviewed by Ryosuke Niwa.

This is a no shapes version of the RegionsShapes performance test. All the content
will wrap around the floating containers. This way we can compare the runtime/memory
usage of the RegionsShapes test with/without shapes. The test is skipped by default.

* Layout/Shapes/RegionsShapesNoShapes.html: Added.
* Layout/Shapes/resources/RegionsShapesContentNoShapes.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167042 268f45cc-cd09-0410-ab3c-d52691b4dbfc

PerformanceTests/ChangeLog
PerformanceTests/Layout/Shapes/RegionsShapesNoShapes.html [new file with mode: 0644]
PerformanceTests/Layout/Shapes/resources/RegionsShapesContentNoShapes.html [new file with mode: 0644]

index 2f9878c..98499c9 100644 (file)
@@ -1,5 +1,19 @@
 2014-04-09  Zoltan Horvath  <zoltan@webkit.org>
 
+        [CSS Shapes] Add no shapes version of RegionsShapes performance test
+        https://bugs.webkit.org/show_bug.cgi?id=131455
+        
+        Reviewed by Ryosuke Niwa.
+
+        This is a no shapes version of the RegionsShapes performance test. All the content
+        will wrap around the floating containers. This way we can compare the runtime/memory
+        usage of the RegionsShapes test with/without shapes. The test is skipped by default.
+
+        * Layout/Shapes/RegionsShapesNoShapes.html: Added.
+        * Layout/Shapes/resources/RegionsShapesContentNoShapes.html: Added.
+
+2014-04-09  Zoltan Horvath  <zoltan@webkit.org>
+
         [CSS Shapes] Add no regions version of RegionsShapes performance test
         https://bugs.webkit.org/show_bug.cgi?id=131442
 
diff --git a/PerformanceTests/Layout/Shapes/RegionsShapesNoShapes.html b/PerformanceTests/Layout/Shapes/RegionsShapesNoShapes.html
new file mode 100644 (file)
index 0000000..8ac637a
--- /dev/null
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<body>
+<script src="../../resources/runner.js"></script>
+<script>
+var test = PerfTestRunner.loadFile("./resources/RegionsShapesContentNoShapes.html");
+
+PerfTestRunner.measureTime({run: function() {
+    var iframe = document.createElement("iframe");
+
+    iframe.style.height = '600px';
+    document.body.appendChild(iframe);
+    iframe.contentDocument.open();
+    iframe.contentDocument.write(test);
+    iframe.contentDocument.close();
+    iframe.style.width = '800px';
+    iframe.offsetTop;
+    document.body.removeChild(iframe);
+
+    var iframe2 = iframe.cloneNode();
+    iframe2.style.height = '600px';
+    document.body.appendChild(iframe2);
+    iframe2.contentDocument.open();
+    iframe2.contentDocument.write(test);
+    iframe2.contentDocument.close();
+    iframe2.style.width = '600px';
+    iframe2.offsetTop;
+    document.body.removeChild(iframe2);
+
+    var iframe3 = iframe.cloneNode();
+    iframe3.style.height = '600px';
+    document.body.appendChild(iframe3);
+    iframe3.contentDocument.open();
+    iframe3.contentDocument.write(test);
+    iframe3.contentDocument.close();
+    iframe3.style.width = '400px';
+    iframe3.offsetTop;
+    document.body.removeChild(iframe3);
+
+}});
+</script>
+</body>
diff --git a/PerformanceTests/Layout/Shapes/resources/RegionsShapesContentNoShapes.html b/PerformanceTests/Layout/Shapes/resources/RegionsShapesContentNoShapes.html
new file mode 100644 (file)
index 0000000..82c4a90
--- /dev/null
@@ -0,0 +1,133 @@
+<!DOCTYPE html>
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="./resources/RegionsShapes.css">
+<style>
+article { -webkit-flow-into: article; }
+
+.regionColumns {
+    -webkit-flow-from: article;
+    float: left;
+    height: 600px;
+}
+.region {
+    -webkit-flow-from: article;
+    clear: both;
+    padding-top: 20px;
+    height: 200px;
+    margin-right: 2%;
+}
+
+.regionColumns + .regionColumns {
+    border-left: 1px solid lightgray;
+    padding-left: 3%;
+    margin-left: 3%;
+}
+
+#region4 { height: 200px; }
+#region5 { height: 300px; }
+
+@media screen and (max-width: 650px) {
+    #region1, #region2 { width: 46%; }
+    #region3 { display: none; }
+}
+
+@media screen and (max-width: 480px) {
+    #region1 {
+        height: auto;
+        width: 100%;
+    }
+    #region2, #region3 { display: none; }
+}
+
+#circleShape { -webkit-shape-outside: none; }
+#imageShape { -webkit-shape-outside: none; }
+#insetShape { -webkit-shape-outside: none; }
+#roundedInsetShape { -webkit-shape-outside: none; }
+#triangleLeft { -webkit-shape-outside: none; }
+#triangleRight { -webkit-shape-outside: none; }
+#selfIntersectingStar { -webkit-shape-outside: none; }
+</style>
+</head>
+
+<body>
+<div>
+  <div id="region1" class="regionColumns"></div>
+  <div id="region2" class="regionColumns"></div>
+  <div id="region3" class="regionColumns"></div>
+  <div id="region4" class="region"></div>
+  <div id="region5" class="region"></div>
+  <div id="region6" class="region"></div>
+</div>
+
+<article>
+<p><div id="circleShape" class="shape"></div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc nec enim faucibus, laoreet mauris quis, sollicitudin nisl. Curabitur feugiat blandit gravida. Duis feugiat sapien sem, quis tincidunt nisl gravida a. Suspendisse dignissim ullamcorper mauris in fringilla. Suspendisse dapibus metus vitae lorem tristique, nec laoreet diam venenatis. Proin eget rhoncus diam. Ut a aliquet eros. Duis vitae vestibulum erat. Cras pretium auctor sem ac tristique. Nam dictum enim ac urna ullamcorper tempus. Aenean felis elit, dictum vel fringilla sed, imperdiet a purus.</p>
+
+<p><div id="imageShape" class="shape"></div>Suspendisse augue lacus, facilisis vitae orci sit amet, elementum pharetra lacus. Mauris ac sem est. Nulla ac erat tincidunt, porta ante sit amet, pretium nulla. Donec accumsan, turpis id sollicitudin vehicula, lorem mauris laoreet tellus, quis mattis nisi nisi vulputate diam. Nullam tincidunt sapien lorem, eget facilisis lorem blandit in. Phasellus velit orci, lobortis at felis sed, consectetur vehicula mauris. Etiam fermentum pretium pharetra. Sed aliquet lacus imperdiet vestibulum suscipit.</p>
+
+<p>>Aenean in ipsum venenatis, interdum tellus vel, semper magna. Fusce faucibus nisl ac sem ultrices,<div id="insetShape" class="shape"></div> in convallis elit mollis. Nulla et libero sem. Duis sollicitudin dui orci, at ornare ante imperdiet a. Donec aliquam nisi id quam interdum aliquam. Etiam mollis consequat magna, ut iaculis dolor imperdiet eu. Aenean vehicula sapien sit amet neque mollis, porta tincidunt augue posuere. Donec vitae lorem sed lectus hendrerit pellentesque vel scelerisque erat. Maecenas fringilla magna neque, ac mollis nisl pharetra sit amet. Nam tempus justo justo, eget sollicitudin libero varius vitae. Maecenas rutrum neque sed pretium ornare. Pellentesque odio metus, convallis eget euismod id, pulvinar vitae nibh. Suspendisse potenti. Integer nec turpis in justo porttitor hendrerit. Pellentesque commodo laoreet dolor vitae eleifend.</p>
+
+<p>Vestibulum elementum nunc eu tempus rhoncus. <div id="roundedInsetShape" class="shape"></div>Donec sed nunc a ligula cursus sagittis. Etiam lacinia aliquet est, at sagittis eros bibendum ac. In vulputate mauris eget tincidunt varius. Phasellus quis rutrum orci, eget porttitor lectus. Etiam lacus metus, egestas eget justo in, laoreet lobortis purus. Nunc luctus, sapien vestibulum viverra consectetur, dolor metus eleifend elit, ac placerat sem lacus a lacus. Aliquam volutpat neque a odio aliquam, id imperdiet tellus varius. Duis at nisi vitae nisi imperdiet mollis. Sed congue justo eget justo interdum porta. Aenean vel tincidunt metus, et commodo enim. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aliquam congue aliquet turpis sit amet bibendum.</p>
+
+<p><div id="triangleLeft" class="shape"></div>Sed velit dui, egestas vitae mi ac, semper dapibus est. <div id="triangleRight" class="shape"></div>In rhoncus tellus id libero convallis ultrices. Ut velit augue, ornare eu eros a, feugiat tincidunt magna. Morbi ut ullamcorper nunc. Nam auctor nisi in erat varius placerat. Mauris rhoncus ac lectus vitae rutrum. Nullam et risus magna. Cras egestas aliquam tristique. Cras imperdiet euismod nisl vitae ullamcorper. Nullam ut quam vel dolor mollis malesuada id et sem. Pellentesque nec quam nec est consectetur aliquam in eu enim. Mauris tempor nisl ac nisl sollicitudin, a bibendum velit elementum. Duis ornare metus elementum nulla interdum, sed pellentesque purus ultrices. Donec varius, risus nec laoreet rhoncus, enim est fringilla risus, sed bibendum augue arcu ac mi. Cras et placerat ipsum, in scelerisque mi.</p>
+
+<p><div id="circleShape" class="shape"></div>Donec sodales commodo magna. Praesent a sapien eget arcu scelerisque pellentesque. Curabitur lorem nisi, rhoncus sed laoreet sit amet, mattis non metus.
+Quisque dictum eget massa ut cursus. Fusce eget tristique massa. Cras eu massa augue. Curabitur dictum pellentesque venenatis.
+Curabitur sit amet neque eget urna convallis vehicula sit amet pellentesque libero. Suspendisse non tincidunt elit.
+<div id="triangleLeft" class="shape"></div>Ut iaculis est odio, a aliquam odio auctor a. Sed varius dolor ac mattis rhoncus. Aenean tellus elit, feugiat sit amet pretium lacinia, viverra hendrerit nunc. Vestibulum rutrum vel orci eget aliquam. Etiam congue justo eu massa semper ornare. Curabitur at nunc vitae tellus malesuada euismod nec nec est.</p>
+
+<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis metus arcu, euismod a ipsum gravida, commodo sagittis lectus. Maecenas nisl sem, pretium vitae neque et, sollicitudin scelerisque sapien. Vivamus scelerisque dolor hendrerit magna ullamcorper tincidunt. Phasellus non purus ultrices, tincidunt dui interdum, pellentesque massa. Duis a orci massa. Quisque non orci in massa hendrerit auctor vel eu mi. Aliquam sit amet rutrum tellus.</p>
+
+<p>Donec in libero id erat hendrerit hendrerit. In nulla augue, tristique mattis pharetra vel, <div id="selfIntersectingStar"></div>sodales vel libero. Mauris consectetur nibh eu odio gravida, non venenatis nibh tincidunt. Praesent nec magna orci. Vestibulum porta, risus eget cursus ullamcorper, sem ante blandit leo, sit amet tristique mauris magna eu enim. Praesent vel nisl sodales, fringilla mauris vitae, gravida tortor. Suspendisse sed erat adipiscing, hendrerit massa quis, tincidunt nulla. Praesent tristique, ante non posuere placerat, massa augue ultrices arcu, ut faucibus nunc eros sed nulla. Duis dolor dui, dapibus eget aliquam posuere, faucibus vel neque. Donec dictum urna nisi, vitae elementum magna bibendum at. Integer porta porttitor bibendum. Praesent rutrum libero sed pharetra varius. Nulla lectus turpis, cursus a fermentum vel, dictum in elit. Etiam vel pharetra lectus, vitae fermentum justo. Quisque eu lacus non odio dignissim luctus eu ac massa.</p>
+
+<p>Curabitur rutrum ornare mi at accumsan. Vivamus sagittis magna eros, sed blandit metus placerat ut. Proin blandit, elit ut porta tristique, nisi augue suscipit augue, at dictum ipsum libero sit amet orci. Vivamus nec dui id ipsum pharetra volutpat. Donec et tellus in risus condimentum tristique nec sed eros. Maecenas nec nibh sit amet augue tristique sollicitudin. Sed sit amet interdum justo. Cras at dui ante. Morbi consequat neque nulla, porttitor consectetur justo convallis id. Nunc tincidunt aliquam rutrum.</p>
+</article>
+
+<article>
+<p><div id="circleShape" class="shape"></div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc nec enim faucibus, laoreet mauris quis, sollicitudin nisl. Curabitur feugiat blandit gravida. Duis feugiat sapien sem, quis tincidunt nisl gravida a. Suspendisse dignissim ullamcorper mauris in fringilla. Suspendisse dapibus metus vitae lorem tristique, nec laoreet diam venenatis. Proin eget rhoncus diam. Ut a aliquet eros. Duis vitae vestibulum erat. Cras pretium auctor sem ac tristique. Nam dictum enim ac urna ullamcorper tempus. Aenean felis elit, dictum vel fringilla sed, imperdiet a purus.</p>
+
+<p><div id="imageShape" class="shape"></div>Suspendisse augue lacus, facilisis vitae orci sit amet, elementum pharetra lacus. Mauris ac sem est. Nulla ac erat tincidunt, porta ante sit amet, pretium nulla. Donec accumsan, turpis id sollicitudin vehicula, lorem mauris laoreet tellus, quis mattis nisi nisi vulputate diam. Nullam tincidunt sapien lorem, eget facilisis lorem blandit in. Phasellus velit orci, lobortis at felis sed, consectetur vehicula mauris. Etiam fermentum pretium pharetra. Sed aliquet lacus imperdiet vestibulum suscipit.</p>
+
+<p>>Aenean in ipsum venenatis, interdum tellus vel, semper magna. Fusce faucibus nisl ac sem ultrices,<div id="insetShape" class="shape"></div> in convallis elit mollis. Nulla et libero sem. Duis sollicitudin dui orci, at ornare ante imperdiet a. Donec aliquam nisi id quam interdum aliquam. Etiam mollis consequat magna, ut iaculis dolor imperdiet eu. Aenean vehicula sapien sit amet neque mollis, porta tincidunt augue posuere. Donec vitae lorem sed lectus hendrerit pellentesque vel scelerisque erat. Maecenas fringilla magna neque, ac mollis nisl pharetra sit amet. Nam tempus justo justo, eget sollicitudin libero varius vitae. Maecenas rutrum neque sed pretium ornare. Pellentesque odio metus, convallis eget euismod id, pulvinar vitae nibh. Suspendisse potenti. Integer nec turpis in justo porttitor hendrerit. Pellentesque commodo laoreet dolor vitae eleifend.</p>
+
+<p>Vestibulum elementum nunc eu tempus rhoncus. <div id="roundedInsetShape" class="shape"></div>Donec sed nunc a ligula cursus sagittis. Etiam lacinia aliquet est, at sagittis eros bibendum ac. In vulputate mauris eget tincidunt varius. Phasellus quis rutrum orci, eget porttitor lectus. Etiam lacus metus, egestas eget justo in, laoreet lobortis purus. Nunc luctus, sapien vestibulum viverra consectetur, dolor metus eleifend elit, ac placerat sem lacus a lacus. Aliquam volutpat neque a odio aliquam, id imperdiet tellus varius. Duis at nisi vitae nisi imperdiet mollis. Sed congue justo eget justo interdum porta. Aenean vel tincidunt metus, et commodo enim. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aliquam congue aliquet turpis sit amet bibendum.</p>
+
+<p><div id="triangleLeft" class="shape"></div>Sed velit dui, egestas vitae mi ac, semper dapibus est. <div id="triangleRight" class="shape"></div>In rhoncus tellus id libero convallis ultrices. Ut velit augue, ornare eu eros a, feugiat tincidunt magna. Morbi ut ullamcorper nunc. Nam auctor nisi in erat varius placerat. Mauris rhoncus ac lectus vitae rutrum. Nullam et risus magna. Cras egestas aliquam tristique. Cras imperdiet euismod nisl vitae ullamcorper. Nullam ut quam vel dolor mollis malesuada id et sem. Pellentesque nec quam nec est consectetur aliquam in eu enim. Mauris tempor nisl ac nisl sollicitudin, a bibendum velit elementum. Duis ornare metus elementum nulla interdum, sed pellentesque purus ultrices. Donec varius, risus nec laoreet rhoncus, enim est fringilla risus, sed bibendum augue arcu ac mi. Cras et placerat ipsum, in scelerisque mi.</p>
+
+<p><div id="circleShape" class="shape"></div>Donec sodales commodo magna. Praesent a sapien eget arcu scelerisque pellentesque. Curabitur lorem nisi, rhoncus sed laoreet sit amet, mattis non metus.
+Quisque dictum eget massa ut cursus. Fusce eget tristique massa. Cras eu massa augue. Curabitur dictum pellentesque venenatis.
+Curabitur sit amet neque eget urna convallis vehicula sit amet pellentesque libero. Suspendisse non tincidunt elit.
+<div id="triangleLeft" class="shape"></div>Ut iaculis est odio, a aliquam odio auctor a. Sed varius dolor ac mattis rhoncus. Aenean tellus elit, feugiat sit amet pretium lacinia, viverra hendrerit nunc. Vestibulum rutrum vel orci eget aliquam. Etiam congue justo eu massa semper ornare. Curabitur at nunc vitae tellus malesuada euismod nec nec est.</p>
+
+<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis metus arcu, euismod a ipsum gravida, commodo sagittis lectus. Maecenas nisl sem, pretium vitae neque et, sollicitudin scelerisque sapien. Vivamus scelerisque dolor hendrerit magna ullamcorper tincidunt. Phasellus non purus ultrices, tincidunt dui interdum, pellentesque massa. Duis a orci massa. Quisque non orci in massa hendrerit auctor vel eu mi. Aliquam sit amet rutrum tellus.</p>
+
+<p>Donec in libero id erat hendrerit hendrerit. In nulla augue, tristique mattis pharetra vel, <div id="selfIntersectingStar"></div>sodales vel libero. Mauris consectetur nibh eu odio gravida, non venenatis nibh tincidunt. Praesent nec magna orci. Vestibulum porta, risus eget cursus ullamcorper, sem ante blandit leo, sit amet tristique mauris magna eu enim. Praesent vel nisl sodales, fringilla mauris vitae, gravida tortor. Suspendisse sed erat adipiscing, hendrerit massa quis, tincidunt nulla. Praesent tristique, ante non posuere placerat, massa augue ultrices arcu, ut faucibus nunc eros sed nulla. Duis dolor dui, dapibus eget aliquam posuere, faucibus vel neque. Donec dictum urna nisi, vitae elementum magna bibendum at. Integer porta porttitor bibendum. Praesent rutrum libero sed pharetra varius. Nulla lectus turpis, cursus a fermentum vel, dictum in elit. Etiam vel pharetra lectus, vitae fermentum justo. Quisque eu lacus non odio dignissim luctus eu ac massa.</p>
+
+<p>Curabitur rutrum ornare mi at accumsan. Vivamus sagittis magna eros, sed blandit metus placerat ut. Proin blandit, elit ut porta tristique, nisi augue suscipit augue, at dictum ipsum libero sit amet orci. Vivamus nec dui id ipsum pharetra volutpat. Donec et tellus in risus condimentum tristique nec sed eros. Maecenas nec nibh sit amet augue tristique sollicitudin. Sed sit amet interdum justo. Cras at dui ante. Morbi consequat neque nulla, porttitor consectetur justo convallis id. Nunc tincidunt aliquam rutrum.</p>
+</article>
+
+<article>
+<p><div id="circleShape" class="shape"></div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc nec enim faucibus, laoreet mauris quis, sollicitudin nisl. Curabitur feugiat blandit gravida. Duis feugiat sapien sem, quis tincidunt nisl gravida a. Suspendisse dignissim ullamcorper mauris in fringilla. Suspendisse dapibus metus vitae lorem tristique, nec laoreet diam venenatis. Proin eget rhoncus diam. Ut a aliquet eros. Duis vitae vestibulum erat. Cras pretium auctor sem ac tristique. Nam dictum enim ac urna ullamcorper tempus. Aenean felis elit, dictum vel fringilla sed, imperdiet a purus.</p>
+
+<p><div id="imageShape" class="shape"></div>Suspendisse augue lacus, facilisis vitae orci sit amet, elementum pharetra lacus. Mauris ac sem est. Nulla ac erat tincidunt, porta ante sit amet, pretium nulla. Donec accumsan, turpis id sollicitudin vehicula, lorem mauris laoreet tellus, quis mattis nisi nisi vulputate diam. Nullam tincidunt sapien lorem, eget facilisis lorem blandit in. Phasellus velit orci, lobortis at felis sed, consectetur vehicula mauris. Etiam fermentum pretium pharetra. Sed aliquet lacus imperdiet vestibulum suscipit.</p>
+
+<p>>Aenean in ipsum venenatis, interdum tellus vel, semper magna. Fusce faucibus nisl ac sem ultrices,<div id="insetShape" class="shape"></div> in convallis elit mollis. Nulla et libero sem. Duis sollicitudin dui orci, at ornare ante imperdiet a. Donec aliquam nisi id quam interdum aliquam. Etiam mollis consequat magna, ut iaculis dolor imperdiet eu. Aenean vehicula sapien sit amet neque mollis, porta tincidunt augue posuere. Donec vitae lorem sed lectus hendrerit pellentesque vel scelerisque erat. Maecenas fringilla magna neque, ac mollis nisl pharetra sit amet. Nam tempus justo justo, eget sollicitudin libero varius vitae. Maecenas rutrum neque sed pretium ornare. Pellentesque odio metus, convallis eget euismod id, pulvinar vitae nibh. Suspendisse potenti. Integer nec turpis in justo porttitor hendrerit. Pellentesque commodo laoreet dolor vitae eleifend.</p>
+
+<p>Vestibulum elementum nunc eu tempus rhoncus. <div id="roundedInsetShape" class="shape"></div>Donec sed nunc a ligula cursus sagittis. Etiam lacinia aliquet est, at sagittis eros bibendum ac. In vulputate mauris eget tincidunt varius. Phasellus quis rutrum orci, eget porttitor lectus. Etiam lacus metus, egestas eget justo in, laoreet lobortis purus. Nunc luctus, sapien vestibulum viverra consectetur, dolor metus eleifend elit, ac placerat sem lacus a lacus. Aliquam volutpat neque a odio aliquam, id imperdiet tellus varius. Duis at nisi vitae nisi imperdiet mollis. Sed congue justo eget justo interdum porta. Aenean vel tincidunt metus, et commodo enim. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aliquam congue aliquet turpis sit amet bibendum.</p>
+
+<p><div id="triangleLeft" class="shape"></div>Sed velit dui, egestas vitae mi ac, semper dapibus est. <div id="triangleRight" class="shape"></div>In rhoncus tellus id libero convallis ultrices. Ut velit augue, ornare eu eros a, feugiat tincidunt magna. Morbi ut ullamcorper nunc. Nam auctor nisi in erat varius placerat. Mauris rhoncus ac lectus vitae rutrum. Nullam et risus magna. Cras egestas aliquam tristique. Cras imperdiet euismod nisl vitae ullamcorper. Nullam ut quam vel dolor mollis malesuada id et sem. Pellentesque nec quam nec est consectetur aliquam in eu enim. Mauris tempor nisl ac nisl sollicitudin, a bibendum velit elementum. Duis ornare metus elementum nulla interdum, sed pellentesque purus ultrices. Donec varius, risus nec laoreet rhoncus, enim est fringilla risus, sed bibendum augue arcu ac mi. Cras et placerat ipsum, in scelerisque mi.</p>
+
+<p><div id="circleShape" class="shape"></div>Donec sodales commodo magna. Praesent a sapien eget arcu scelerisque pellentesque. Curabitur lorem nisi, rhoncus sed laoreet sit amet, mattis non metus.
+Quisque dictum eget massa ut cursus. Fusce eget tristique massa. Cras eu massa augue. Curabitur dictum pellentesque venenatis.
+Curabitur sit amet neque eget urna convallis vehicula sit amet pellentesque libero. Suspendisse non tincidunt elit.
+<div id="triangleLeft" class="shape"></div>Ut iaculis est odio, a aliquam odio auctor a. Sed varius dolor ac mattis rhoncus. Aenean tellus elit, feugiat sit amet pretium lacinia, viverra hendrerit nunc. Vestibulum rutrum vel orci eget aliquam. Etiam congue justo eu massa semper ornare. Curabitur at nunc vitae tellus malesuada euismod nec nec est.</p>
+
+<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis metus arcu, euismod a ipsum gravida, commodo sagittis lectus. Maecenas nisl sem, pretium vitae neque et, sollicitudin scelerisque sapien. Vivamus scelerisque dolor hendrerit magna ullamcorper tincidunt. Phasellus non purus ultrices, tincidunt dui interdum, pellentesque massa. Duis a orci massa. Quisque non orci in massa hendrerit auctor vel eu mi. Aliquam sit amet rutrum tellus.</p>
+
+<p>Donec in libero id erat hendrerit hendrerit. In nulla augue, tristique mattis pharetra vel, <div id="selfIntersectingStar"></div>sodales vel libero. Mauris consectetur nibh eu odio gravida, non venenatis nibh tincidunt. Praesent nec magna orci. Vestibulum porta, risus eget cursus ullamcorper, sem ante blandit leo, sit amet tristique mauris magna eu enim. Praesent vel nisl sodales, fringilla mauris vitae, gravida tortor. Suspendisse sed erat adipiscing, hendrerit massa quis, tincidunt nulla. Praesent tristique, ante non posuere placerat, massa augue ultrices arcu, ut faucibus nunc eros sed nulla. Duis dolor dui, dapibus eget aliquam posuere, faucibus vel neque. Donec dictum urna nisi, vitae elementum magna bibendum at. Integer porta porttitor bibendum. Praesent rutrum libero sed pharetra varius. Nulla lectus turpis, cursus a fermentum vel, dictum in elit. Etiam vel pharetra lectus, vitae fermentum justo. Quisque eu lacus non odio dignissim luctus eu ac massa.</p>
+
+<p>Curabitur rutrum ornare mi at accumsan. Vivamus sagittis magna eros, sed blandit metus placerat ut. Proin blandit, elit ut porta tristique, nisi augue suscipit augue, at dictum ipsum libero sit amet orci. Vivamus nec dui id ipsum pharetra volutpat. Donec et tellus in risus condimentum tristique nec sed eros. Maecenas nec nibh sit amet augue tristique sollicitudin. Sed sit amet interdum justo. Cras at dui ante. Morbi consequat neque nulla, porttitor consectetur justo convallis id. Nunc tincidunt aliquam rutrum.</p>
+</article>
+
+</body>
+</html>