2010-07-15 Adam Barth <abarth@webkit.org>
authorabarth@webkit.org <abarth@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 15 Jul 2010 21:39:27 +0000 (21:39 +0000)
committerabarth@webkit.org <abarth@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 15 Jul 2010 21:39:27 +0000 (21:39 +0000)
        Reviewed by Eric Seidel.

        deleteCol{1,2,3} and insertCols{1,2,3} will fail in HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=42404

        The HTML5 parser adds an implied colgroup element as a parent of the
        col element. This DOM change breaks these tests because they assume
        the col element's parent is the table element. However, these tests
        don't appear to be intended to test this behavior specifically.

        I checked the behavior in IE8. These tests fail in IE8 in the same way
        that they fail under the HTML5 parser (i.e., with an exception), which
        leads me to believe that we're moving in the right direction. With this
        patch, the DOM operations succeed in IE8 but the tests fail because the
        layout isn't what we expect. I'm not sure whose layout is correct, but
        that's not really my concern in this patch.

        * tables/mozilla/dom/deleteCol1.html:
        * tables/mozilla/dom/deleteCol2.html:
        * tables/mozilla/dom/deleteCol3.html:
        * tables/mozilla/dom/insertCols1.html:
        * tables/mozilla/dom/insertCols2.html:
        * tables/mozilla/dom/insertCols3.html:

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

LayoutTests/ChangeLog
LayoutTests/tables/mozilla/dom/deleteCol1.html
LayoutTests/tables/mozilla/dom/deleteCol2.html
LayoutTests/tables/mozilla/dom/deleteCol3.html
LayoutTests/tables/mozilla/dom/insertCols1.html
LayoutTests/tables/mozilla/dom/insertCols2.html
LayoutTests/tables/mozilla/dom/insertCols3.html

index 758347e..5278fcf 100644 (file)
@@ -1,3 +1,29 @@
+2010-07-15  Adam Barth  <abarth@webkit.org>
+
+        Reviewed by Eric Seidel.
+
+        deleteCol{1,2,3} and insertCols{1,2,3} will fail in HTML5 parser
+        https://bugs.webkit.org/show_bug.cgi?id=42404
+
+        The HTML5 parser adds an implied colgroup element as a parent of the
+        col element. This DOM change breaks these tests because they assume
+        the col element's parent is the table element. However, these tests
+        don't appear to be intended to test this behavior specifically.
+
+        I checked the behavior in IE8. These tests fail in IE8 in the same way
+        that they fail under the HTML5 parser (i.e., with an exception), which
+        leads me to believe that we're moving in the right direction. With this
+        patch, the DOM operations succeed in IE8 but the tests fail because the
+        layout isn't what we expect. I'm not sure whose layout is correct, but
+        that's not really my concern in this patch.
+
+        * tables/mozilla/dom/deleteCol1.html:
+        * tables/mozilla/dom/deleteCol2.html:
+        * tables/mozilla/dom/deleteCol3.html:
+        * tables/mozilla/dom/insertCols1.html:
+        * tables/mozilla/dom/insertCols2.html:
+        * tables/mozilla/dom/insertCols3.html:
+
 2010-07-15  Ojan Vafai  <ojan@chromium.org>
 
         Unreviewed.
index 3cee9ac..00eeb99 100644 (file)
@@ -4,9 +4,8 @@
 <SCRIPT>
 
 function doIt() {
-  var table = document.getElementsByTagName("TABLE")[0];
   var col = document.getElementsByTagName("COL")[0];
-  table.removeChild(col);
+  col.parentNode.removeChild(col);
 }
 </SCRIPT>  
 </HEAD>
index 37f767b..ed35358 100644 (file)
@@ -4,9 +4,8 @@
 <SCRIPT>
 
 function doIt() {
-  var table = document.getElementsByTagName("TABLE")[0];
   var col = document.getElementsByTagName("COL")[1];
-  table.removeChild(col);
+  col.parentNode.removeChild(col);
 }
 </SCRIPT>  
 </HEAD>
index 7a6ab92..bafb815 100644 (file)
@@ -4,9 +4,8 @@
 <SCRIPT>
 
 function doIt() {
-  var table = document.getElementsByTagName("TABLE")[0];
   var col = document.getElementsByTagName("COL")[2];
-  table.removeChild(col);
+  col.parentNode.removeChild(col);
 }
 </SCRIPT>  
 </HEAD>
index aea07e9..46f50c4 100644 (file)
@@ -4,11 +4,10 @@
 <SCRIPT>
 
 function doIt() {
-  var table = document.getElementsByTagName("TABLE")[0];
   var refCol = document.getElementsByTagName("COL")[0];
   var col = document.createElement("COL", null);
   col.width = 100;
-  table.insertBefore(col, refCol);
+  refCol.parentNode.insertBefore(col, refCol);
 }
 </SCRIPT>  
 </HEAD>
index 9b3cbe5..08ba06f 100644 (file)
@@ -4,11 +4,10 @@
 <SCRIPT>
 
 function doIt() {
-  var table = document.getElementsByTagName("TABLE")[0];
   var refCol = document.getElementsByTagName("COL")[1];
   var col = document.createElement("COL", null);
   col.width = 200;
-  table.insertBefore(col, refCol);
+  refCol.parentNode.insertBefore(col, refCol);
 }
 </SCRIPT>  
 </HEAD>
index 6244e96..59be878 100644 (file)
@@ -4,11 +4,10 @@
 <SCRIPT>
 
 function doIt() {
-  var table = document.getElementsByTagName("TABLE")[0];
   var refCol = document.getElementsByTagName("COL")[2];
   var col = document.createElement("COL", null);
   col.width = 150;
-  table.insertBefore(col, refCol);
+  refCol.parentNode.insertBefore(col, refCol);
 }
 </SCRIPT>  
 </HEAD>