http://webkit.org/css-status/ hangs
authorsimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 30 Mar 2020 16:58:30 +0000 (16:58 +0000)
committersimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 30 Mar 2020 16:58:30 +0000 (16:58 +0000)
https://bugs.webkit.org/show_bug.cgi?id=209746

Reviewed by Antoine Quint.

A change to CSSProperties.json (probably text-orientation unprefixing) revealed an infinite loop
in mergeProperties() which kept appending values to prefixedPropertyObj.values.

Fix by cloning the array before enumerating it.

* wp-content/themes/webkit/css-status.php:

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

Websites/webkit.org/ChangeLog
Websites/webkit.org/wp-content/themes/webkit/css-status.php

index b257a23..4228135 100644 (file)
@@ -1,3 +1,17 @@
+2020-03-30  Simon Fraser  <simon.fraser@apple.com>
+
+        http://webkit.org/css-status/ hangs
+        https://bugs.webkit.org/show_bug.cgi?id=209746
+
+        Reviewed by Antoine Quint.
+        
+        A change to CSSProperties.json (probably text-orientation unprefixing) revealed an infinite loop
+        in mergeProperties() which kept appending values to prefixedPropertyObj.values.
+        
+        Fix by cloning the array before enumerating it.
+
+        * wp-content/themes/webkit/css-status.php:
+
 2020-02-26  Jon Davis  <jond@apple.com>
 
         Prevented text selection on logo and header navigation
index 1328df1..02256a7 100644 (file)
@@ -1600,7 +1600,8 @@ function initializeStatusPage() {
     {
         (unprefixedPropertyObj['codegen-properties'].aliases = unprefixedPropertyObj['codegen-properties'].aliases || []).push(prefixedPropertyObj.name);
 
-        for (var valueObj of prefixedPropertyObj.values) {
+        var prefixedValues = Array.from(prefixedPropertyObj.values);
+        for (var valueObj of prefixedValues) {
             if (!findValueByName(unprefixedPropertyObj.values, valueObj.value))
                 prefixedPropertyObj.values.push(valueObj);
         }