[webkit-changes] cvs commit: WebCore/khtml/xml dom_elementimpl.cpp dom_elementimpl.h dom_nodeimpl.cpp dom_nodeimpl.h

David hyatt at opensource.apple.com
Fri Aug 5 11:36:30 PDT 2005


hyatt       05/08/05 11:36:30

  Modified:    .        ChangeLog
               khtml/xml dom_elementimpl.cpp dom_elementimpl.h
                        dom_nodeimpl.cpp dom_nodeimpl.h
  Log:
  	Fix for bugzilla bug 4289, a regression from the QualifiedName landing.  Make sure getNamedItemNS and
  	removeNamedItemNS are case-insensitive in HTML documents.
  
          Reviewed by darin
  
          * khtml/xml/dom_elementimpl.cpp:
          (NamedAttrMapImpl::getNamedItemNS):
          (NamedAttrMapImpl::removeNamedItemNS):
          * khtml/xml/dom_elementimpl.h:
          * khtml/xml/dom_nodeimpl.cpp:
          * khtml/xml/dom_nodeimpl.h:
          (DOM::NamedNodeMapImpl::NamedNodeMapImpl):
          (DOM::NamedNodeMapImpl::~NamedNodeMapImpl):
  
  Revision  Changes    Path
  1.4526    +16 -0     WebCore/ChangeLog
  
  Index: ChangeLog
  ===================================================================
  RCS file: /cvs/root/WebCore/ChangeLog,v
  retrieving revision 1.4525
  retrieving revision 1.4526
  diff -u -r1.4525 -r1.4526
  --- ChangeLog	5 Aug 2005 18:22:39 -0000	1.4525
  +++ ChangeLog	5 Aug 2005 18:36:25 -0000	1.4526
  @@ -1,3 +1,19 @@
  +2005-08-05  David Hyatt  <hyatt at apple.com>
  +
  +	Fix for bugzilla bug 4289, a regression from the QualifiedName landing.  Make sure getNamedItemNS and
  +	removeNamedItemNS are case-insensitive in HTML documents.
  +	
  +        Reviewed by darin
  +
  +        * khtml/xml/dom_elementimpl.cpp:
  +        (NamedAttrMapImpl::getNamedItemNS):
  +        (NamedAttrMapImpl::removeNamedItemNS):
  +        * khtml/xml/dom_elementimpl.h:
  +        * khtml/xml/dom_nodeimpl.cpp:
  +        * khtml/xml/dom_nodeimpl.h:
  +        (DOM::NamedNodeMapImpl::NamedNodeMapImpl):
  +        (DOM::NamedNodeMapImpl::~NamedNodeMapImpl):
  +
   2005-08-04  Justin Garcia  <justin.garcia at apple.com>
   
           Reviewed by kocienda
  
  
  
  1.72      +16 -0     WebCore/khtml/xml/dom_elementimpl.cpp
  
  Index: dom_elementimpl.cpp
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/xml/dom_elementimpl.cpp,v
  retrieving revision 1.71
  retrieving revision 1.72
  diff -u -r1.71 -r1.72
  --- dom_elementimpl.cpp	30 Jul 2005 02:33:26 -0000	1.71
  +++ dom_elementimpl.cpp	5 Aug 2005 18:36:29 -0000	1.72
  @@ -815,6 +815,22 @@
       return false;
   }
   
  +NodeImpl *NamedAttrMapImpl::getNamedItemNS(const DOMString &namespaceURI, const DOMString &localName) const
  +{
  +    DOMString ln(localName);
  +    if (element->getDocument()->isHTMLDocument())
  +        ln = localName.lower();
  +    return getNamedItem(QualifiedName(nullAtom, ln.implementation(), namespaceURI.implementation()));
  +}
  +
  +SharedPtr<NodeImpl> NamedAttrMapImpl::removeNamedItemNS(const DOMString &namespaceURI, const DOMString &localName, int &exception)
  +{
  +    DOMString ln(localName);
  +    if (element->getDocument()->isHTMLDocument())
  +        ln = localName.lower();
  +    return removeNamedItem(QualifiedName(nullAtom, ln.implementation(), namespaceURI.implementation()), exception);
  +}
  +
   AttrImpl *NamedAttrMapImpl::getNamedItem(const QualifiedName& name) const
   {
       AttributeImpl* a = getAttributeItem(name);
  
  
  
  1.50      +3 -0      WebCore/khtml/xml/dom_elementimpl.h
  
  Index: dom_elementimpl.h
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/xml/dom_elementimpl.h,v
  retrieving revision 1.49
  retrieving revision 1.50
  diff -u -r1.49 -r1.50
  --- dom_elementimpl.h	27 Jul 2005 01:34:28 -0000	1.49
  +++ dom_elementimpl.h	5 Aug 2005 18:36:29 -0000	1.50
  @@ -284,6 +284,9 @@
       NamedAttrMapImpl &operator =(const NamedAttrMapImpl &other);
   
       // DOM methods & attributes for NamedNodeMap
  +    virtual NodeImpl *getNamedItemNS(const DOMString &namespaceURI, const DOMString &localName) const;
  +    virtual SharedPtr<NodeImpl> removeNamedItemNS(const DOMString &namespaceURI, const DOMString &localName, int &exception);
  +
       virtual AttrImpl* getNamedItem(const QualifiedName& name) const;
   
       virtual SharedPtr<NodeImpl> removeNamedItem(const QualifiedName& name, int &exceptioncode);
  
  
  
  1.169     +0 -16     WebCore/khtml/xml/dom_nodeimpl.cpp
  
  Index: dom_nodeimpl.cpp
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/xml/dom_nodeimpl.cpp,v
  retrieving revision 1.168
  retrieving revision 1.169
  diff -u -r1.168 -r1.169
  --- dom_nodeimpl.cpp	4 Aug 2005 22:45:55 -0000	1.168
  +++ dom_nodeimpl.cpp	5 Aug 2005 18:36:29 -0000	1.169
  @@ -2669,20 +2669,4 @@
       return static_cast<ElementImpl *>(testNode)->getAttribute(nameAttr) == nodeName;
   }
   
  -// ---------------------------------------------------------------------------
  -
  -NamedNodeMapImpl::~NamedNodeMapImpl()
  -{
  -}
  -
  -NodeImpl *NamedNodeMapImpl::getNamedItemNS(const DOMString &namespaceURI, const DOMString &localName) const
  -{
  -    return getNamedItem(QualifiedName(nullAtom, localName.implementation(), namespaceURI.implementation()));
  -}
  -
  -SharedPtr<NodeImpl> NamedNodeMapImpl::removeNamedItemNS(const DOMString &namespaceURI, const DOMString &localName, int &exception)
  -{
  -    return removeNamedItem(QualifiedName(nullAtom, localName.implementation(), namespaceURI.implementation()), exception);
  -}
  -
   }
  
  
  
  1.96      +4 -40     WebCore/khtml/xml/dom_nodeimpl.h
  
  Index: dom_nodeimpl.h
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/xml/dom_nodeimpl.h,v
  retrieving revision 1.95
  retrieving revision 1.96
  diff -u -r1.95 -r1.96
  --- dom_nodeimpl.h	4 Aug 2005 22:45:55 -0000	1.95
  +++ dom_nodeimpl.h	5 Aug 2005 18:36:29 -0000	1.96
  @@ -638,17 +638,17 @@
   class NamedNodeMapImpl : public khtml::Shared<NamedNodeMapImpl>
   {
   public:
  -    NamedNodeMapImpl() { }
  -    virtual ~NamedNodeMapImpl();
  +    NamedNodeMapImpl() {}
  +    virtual ~NamedNodeMapImpl() {}
   
       MAIN_THREAD_ALLOCATED;
   
       NodeImpl *getNamedItem(const DOMString &name) const { return getNamedItemNS(DOMString(), name); }
       SharedPtr<NodeImpl> removeNamedItem(const DOMString &name, int &exception) { return removeNamedItemNS(DOMString(), name, exception); }
   
  -    NodeImpl *getNamedItemNS(const DOMString &namespaceURI, const DOMString &localName) const;
  +    virtual NodeImpl *getNamedItemNS(const DOMString &namespaceURI, const DOMString &localName) const = 0;
       SharedPtr<NodeImpl> setNamedItemNS(NodeImpl *arg, int &exception) { return setNamedItem(arg, exception); }
  -    SharedPtr<NodeImpl> removeNamedItemNS(const DOMString &namespaceURI, const DOMString &localName, int &exception);
  +    virtual SharedPtr<NodeImpl> removeNamedItemNS(const DOMString &namespaceURI, const DOMString &localName, int &exception) = 0;
   
       // DOM methods & attributes for NamedNodeMap
       virtual NodeImpl *getNamedItem(const QualifiedName& attrName) const = 0;
  @@ -662,41 +662,5 @@
       virtual bool isReadOnly() { return false; }
   };
   
  -
  -// ### fixme
  -#if 0
  -// Generic read-only NamedNodeMap implementation
  -// You can add items using the internal function addItem()
  -class GenericRONamedNodeMapImpl : public NamedNodeMapImpl
  -{
  -public:
  -    GenericRONamedNodeMapImpl(DocumentPtr* doc);
  -    virtual ~GenericRONamedNodeMapImpl();
  -
  -    // DOM methods & attributes for NamedNodeMap
  -
  -    virtual NodeImpl *getNamedItem ( const DOMString &name, int &exceptioncode ) const;
  -    virtual Node setNamedItem ( const Node &arg, int &exceptioncode );
  -    virtual Node removeNamedItem ( const DOMString &name, int &exceptioncode );
  -    virtual NodeImpl *item ( unsigned long index ) const;
  -    virtual unsigned long length(  ) const;
  -    virtual NodeImpl *getNamedItemNS( const DOMString &namespaceURI, const DOMString &localName,
  -                                      int &exceptioncode ) const;
  -    virtual NodeImpl *setNamedItemNS( NodeImpl *arg, int &exceptioncode );
  -    virtual NodeImpl *removeNamedItemNS( const DOMString &namespaceURI, const DOMString &localName,
  -                                         int &exceptioncode );
  -
  -    // Other methods (not part of DOM)
  -
  -    virtual bool isReadOnly() { return true; }
  -
  -    void addNode(NodeImpl *n);
  -
  -protected:
  -    DocumentImpl* m_doc;
  -    QPtrList<NodeImpl> *m_contents;
  -};
  -#endif
  -
   }; //namespace
   #endif
  
  
  



More information about the webkit-changes mailing list