2010-09-28 Erik Arvidsson <arv@chromium.org>
authorarv@chromium.org <arv@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 28 Sep 2010 22:52:23 +0000 (22:52 +0000)
committerarv@chromium.org <arv@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 28 Sep 2010 22:52:23 +0000 (22:52 +0000)
        Reviewed by Ojan Vafai.

        Fix perf/class-list-remove test
        https://bugs.webkit.org/show_bug.cgi?id=46745

        Make sure we precompute the className in the setup functions and that
        we reset it before calling classList.remove.

        * perf/class-list-remove.html:

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

LayoutTests/ChangeLog
LayoutTests/perf/class-list-remove.html

index d9cb5fd..6e26336 100644 (file)
@@ -1,3 +1,15 @@
+2010-09-28  Erik Arvidsson  <arv@chromium.org>
+
+        Reviewed by Ojan Vafai.
+
+        Fix perf/class-list-remove test
+        https://bugs.webkit.org/show_bug.cgi?id=46745
+
+        Make sure we precompute the className in the setup functions and that
+        we reset it before calling classList.remove.
+
+        * perf/class-list-remove.html:
+
 2010-09-28  Stephen White  <senorblanco@chromium.org>
 
         Unreviewed; new test baselines.
index f03e9ba..0e31d93 100644 (file)
@@ -1,20 +1,15 @@
 <script src="../resources/magnitude-perf.js"></script>
 <script>
 
-var element, s;
+var element, className, classToRemove;
 
 // Test 1 tests that remove is linear when there are N class names.
 
 function setupFunction1(magnitude)
 {
-    s = 'b';
     element = document.createElement('div');
-    element.className = Array(magnitude).join('a ') + s;
-}
-
-function test1(magnitude)
-{
-    element.classList.remove(s);
+    classToRemove = 'b';
+    className = Array(magnitude).join('a ') + classToRemove;
 }
 
 // Test 2 tests that remove is linear when the length of the class name is N.
@@ -22,18 +17,19 @@ function test1(magnitude)
 function setupFunction2(magnitude)
 {
     element = document.createElement('div');
+    classToRemove = Array(magnitude + 1).join('a');
+    className = classToRemove;
 }
 
-function test2(magnitude)
+function test(magnitude)
 {
-    var s = Array(magnitude + 1).join('a');
-    element.className = s;
+    element.className = className;
     element.classList.remove(s);
 }
 
 Magnitude.description('Tests that classList remove is linear.');
-Magnitude.run(setupFunction1, test1, Magnitude.LINEAR);
-Magnitude.run(setupFunction2, test2, Magnitude.LINEAR);
+Magnitude.run(setupFunction1, test, Magnitude.LINEAR);
+Magnitude.run(setupFunction2, test, Magnitude.LINEAR);
 
 </script>
 </body>