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

darin darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:26:49 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit b3780385f7f1b7dc7795003277873cb7c03b2b0c
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Mar 3 18:28:40 2003 +0000

            Reviewed by Trey.
    
    	- fixed 3180364 -- infinite loop in JavaScript at www.vw.dk (due to document.anchors problem) leads to hang
    
            The underlying problem was that our document.anchors had all the anchors in it.
            But here's what the Gecko DOM reference documentation says about document.anchors:
            "For reasons of backwards compatibility, the returned set of anchors only contains
            those anchors created with the name attribute, not those created with the id attribute."
    
            * khtml/html/html_miscimpl.cpp:
            (HTMLCollectionImpl::calcLength): Include only A elements with NAME attributes in the DOC_ANCHORS case.
            (HTMLCollectionImpl::getItem): Ditto.
            (HTMLCollectionImpl::getNamedItem): Ditto.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3725 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 0cbaff9..c04996b 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,19 @@
+2003-03-03  Darin Adler  <darin at apple.com>
+
+        Reviewed by Trey.
+
+	- fixed 3180364 -- infinite loop in JavaScript at www.vw.dk (due to document.anchors problem) leads to hang
+
+        The underlying problem was that our document.anchors had all the anchors in it.
+        But here's what the Gecko DOM reference documentation says about document.anchors:
+        "For reasons of backwards compatibility, the returned set of anchors only contains
+        those anchors created with the name attribute, not those created with the id attribute."
+
+        * khtml/html/html_miscimpl.cpp:
+        (HTMLCollectionImpl::calcLength): Include only A elements with NAME attributes in the DOC_ANCHORS case.
+        (HTMLCollectionImpl::getItem): Ditto.
+        (HTMLCollectionImpl::getNamedItem): Ditto.
+
 2003-03-02  Trey Matteson  <trey at apple.com>
 
 	Use a KWQPopUpButton in place of NSPopUpButton.  The only addition is that
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 0cbaff9..c04996b 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,19 @@
+2003-03-03  Darin Adler  <darin at apple.com>
+
+        Reviewed by Trey.
+
+	- fixed 3180364 -- infinite loop in JavaScript at www.vw.dk (due to document.anchors problem) leads to hang
+
+        The underlying problem was that our document.anchors had all the anchors in it.
+        But here's what the Gecko DOM reference documentation says about document.anchors:
+        "For reasons of backwards compatibility, the returned set of anchors only contains
+        those anchors created with the name attribute, not those created with the id attribute."
+
+        * khtml/html/html_miscimpl.cpp:
+        (HTMLCollectionImpl::calcLength): Include only A elements with NAME attributes in the DOC_ANCHORS case.
+        (HTMLCollectionImpl::getItem): Ditto.
+        (HTMLCollectionImpl::getNamedItem): Ditto.
+
 2003-03-02  Trey Matteson  <trey at apple.com>
 
 	Use a KWQPopUpButton in place of NSPopUpButton.  The only addition is that
diff --git a/WebCore/khtml/html/html_miscimpl.cpp b/WebCore/khtml/html/html_miscimpl.cpp
index 4bd221a..1513d54 100644
--- a/WebCore/khtml/html/html_miscimpl.cpp
+++ b/WebCore/khtml/html/html_miscimpl.cpp
@@ -118,9 +118,7 @@ unsigned long HTMLCollectionImpl::calcLength(NodeImpl *current) const
                         len++;
                 break;
             case DOC_ANCHORS:      // all A elements with a value for name and all elements with an id attribute
-                if ( e->hasID() )
-                    len++;
-                else if(e->id() == ID_A) {
+                if(e->id() == ID_A) {
                     if(!e->getAttribute(ATTR_NAME).isNull())
                         len++;
                 }
@@ -205,9 +203,7 @@ NodeImpl *HTMLCollectionImpl::getItem(NodeImpl *current, int index, int &len) co
                         len++;
                 break;
             case DOC_ANCHORS:      // all A elements with a value for name or an id attribute
-                if( e->hasID() )
-                    len++;
-                else if(e->id() == ID_A)
+                if(e->id() == ID_A)
                     if(!e->getAttribute(ATTR_NAME).isNull())
                         len++;
                 break;
@@ -331,9 +327,7 @@ NodeImpl *HTMLCollectionImpl::getNamedItem( NodeImpl *current, int attr_id,
                         check = true;
                 break;
             case DOC_ANCHORS:      // all A elements with a value for name
-                if( e->hasID() )
-                    check = true;
-                else if(e->id() == ID_A)
+                if(e->id() == ID_A)
                     if(!e->getAttribute(ATTR_NAME).isNull())
                         check = true;
                 break;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list