[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

hyatt hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:18:16 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit a176a20d3dc43560917f3f606b9afec2ee653601
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Jan 1 22:59:29 2003 +0000

    	Fix tables so that malformations inside them are properly pulled
    	out of the table without being flattened.
    
    	Fixes 3131480.
    
            Reviewed by gramps
    
            * khtml/html/dtd.cpp:
            (DOM::checkChild):
            * khtml/html/htmlparser.cpp:
            (KHTMLParser::insertNode):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3226 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 9373f8d..731a115 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,17 @@
+2003-01-01  David Hyatt  <hyatt at apple.com>
+
+	Fix tables so that malformations inside them are properly pulled
+	out of the table without being flattened. 
+
+	Fixes 3131480.
+	
+        Reviewed by gramps
+
+        * khtml/html/dtd.cpp:
+        (DOM::checkChild):
+        * khtml/html/htmlparser.cpp:
+        (KHTMLParser::insertNode):
+
 === Alexander-47 ===
 
 2002-12-30  Darin Adler  <darin at apple.com>
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 9373f8d..731a115 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,17 @@
+2003-01-01  David Hyatt  <hyatt at apple.com>
+
+	Fix tables so that malformations inside them are properly pulled
+	out of the table without being flattened. 
+
+	Fixes 3131480.
+	
+        Reviewed by gramps
+
+        * khtml/html/dtd.cpp:
+        (DOM::checkChild):
+        * khtml/html/htmlparser.cpp:
+        (KHTMLParser::insertNode):
+
 === Alexander-47 ===
 
 2002-12-30  Darin Adler  <darin at apple.com>
diff --git a/WebCore/khtml/html/dtd.cpp b/WebCore/khtml/html/dtd.cpp
index e4f14c4..d21a597 100644
--- a/WebCore/khtml/html/dtd.cpp
+++ b/WebCore/khtml/html/dtd.cpp
@@ -727,7 +727,7 @@ bool DOM::checkChild(ushort tagID, ushort childID)
     case ID_TFOOT:
     case ID_TBODY:
         // THEAD: TR +
-        if(childID == ID_FORM || childID == ID_TR || childID == ID_TEXT || childID == ID_COMMENT ||
+        if(childID == ID_FORM || childID == ID_TR || childID == ID_COMMENT ||
            childID == ID_SCRIPT) 
            return true;
         return false;
diff --git a/WebCore/khtml/html/htmlparser.cpp b/WebCore/khtml/html/htmlparser.cpp
index 060a6d8..9c137d2 100644
--- a/WebCore/khtml/html/htmlparser.cpp
+++ b/WebCore/khtml/html/htmlparser.cpp
@@ -614,14 +614,16 @@ bool KHTMLParser::insertNode(NodeImpl *n, bool flat)
 
                 NodeImpl *parentparent = parent->parentNode();
 
-                if(( node->id() == ID_TR &&
-                   ( parent->id() == ID_THEAD ||
-                     parent->id() == ID_TBODY ||
-                     parent->id() == ID_TFOOT ) && parentparent->id() == ID_TABLE ) ||
-                   ( !checkChild( ID_TR, id ) && ( node->id() == ID_THEAD || node->id() == ID_TBODY || node->id() == ID_TFOOT ) &&
-                     parent->id() == ID_TABLE ) )
+                if (n->isTextNode() ||
+                    ( node->id() == ID_TR &&
+                     ( parent->id() == ID_THEAD ||
+                      parent->id() == ID_TBODY ||
+                      parent->id() == ID_TFOOT ) && parentparent->id() == ID_TABLE ) ||
+                    ( !checkChild( ID_TR, id ) && ( node->id() == ID_THEAD || node->id() == ID_TBODY || node->id() == ID_TFOOT ) &&
+                     parent->id() == ID_TABLE ))
                 {
-                    node = ( node->id() == ID_TR ) ? parentparent : parent;
+                    node = (node->id() == ID_TABLE) ? node :
+                            ((node->id() == ID_TR) ? parentparent : parent);
                     NodeImpl *parent = node->parentNode();
                     int exceptioncode = 0;
                     parent->insertBefore( n, node, exceptioncode );
@@ -631,6 +633,12 @@ bool KHTMLParser::insertNode(NodeImpl *n, bool flat)
 #endif
                         break;
                     }
+                    if (n->isElementNode() && tagPriority[id] != 0 && 
+                        !flat && endTag[id] != DOM::FORBIDDEN)
+                    {
+                        pushBlock(id, tagPriority[id]);
+                        current = n;
+                    }
                     return true;
                 }
 
@@ -640,7 +648,7 @@ bool KHTMLParser::insertNode(NodeImpl *n, bool flat)
                     e = new HTMLTableSectionElementImpl( document, ID_TBODY );
                 else
                     e = new HTMLTableRowElementImpl( document );
-
+                
                 // Now reattach any discarded attributes if they exist. -dwh
                 if (discardedStackPos > 0 && current->id() != ID_TABLE) {
                     discardedStackPos--;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list