[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdelibs/khtml
From:       David Faure <faure () kde ! org>
Date:       2005-05-23 23:24:26
Message-ID: 1116890666.249472.12096.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 417591 by dfaure:

Allow javascript to insert a TR directly into a TABLE, creating a TBODY section if \
                needed
BUG: 105586


 M  +5 -0      ChangeLog  
 M  +13 -0     html/html_tableimpl.cpp  
 M  +1 -0      html/html_tableimpl.h  


--- trunk/KDE/kdelibs/khtml/ChangeLog #417590:417591
@@ -1,3 +1,8 @@
+2005-05-24  David Faure  <faure@kde.org>
+
+        * html/html_tableimpl.cpp (appendChild): Allow javascript to insert
+        a TR directly into a TABLE, creating a TBODY section if needed (bug \
#105586). +
 2005-05-21  Harri Porten  <porten@kde.org>
 
 	* html/html_documentimpl.cpp: emit onload event even if the
--- trunk/KDE/kdelibs/khtml/html/html_tableimpl.cpp #417590:417591
@@ -307,6 +307,19 @@
         exceptioncode = DOMException::INDEX_SIZE_ERR;
 }
 
+NodeImpl *HTMLTableElementImpl::appendChild(NodeImpl *child, int &exceptioncode)
+{
+    if(child->id() == ID_TR) { // #105586, allow to insert a TR inside a TABLE, \
creation section as needed +        // See insertRow
+        if (!firstBody && !head && !foot && !hasChildNodes())
+            setTBody( new HTMLTableSectionElementImpl(docPtr(), ID_TBODY, true /* \
implicit */) ); +        Q_ASSERT( firstBody );
+        if (firstBody)
+            return firstBody->appendChild( child, exceptioncode );
+    }
+    return HTMLElementImpl::appendChild( child, exceptioncode );
+}
+
 NodeImpl *HTMLTableElementImpl::addChild(NodeImpl *child)
 {
 #ifdef DEBUG_LAYOUT
--- trunk/KDE/kdelibs/khtml/html/html_tableimpl.h #417590:417591
@@ -95,6 +95,7 @@
 
     // overrides
     virtual NodeImpl *addChild(NodeImpl *child);
+    virtual NodeImpl *appendChild( NodeImpl *newChild, int &exceptioncode );
     virtual void parseAttribute(AttributeImpl *attr);
     virtual void attach();
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic