[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