diff --git a/mozilla/content/base/src/nsDOMAttribute.cpp b/mozilla/content/base/src/nsDOMAttribute.cpp index 7bd7ba106d8..05f315b7d8b 100644 --- a/mozilla/content/base/src/nsDOMAttribute.cpp +++ b/mozilla/content/base/src/nsDOMAttribute.cpp @@ -22,6 +22,7 @@ #include "nsIContent.h" #include "nsIDOMScriptObjectFactory.h" #include "nsITextContent.h" +#include "nsINameSpaceManager.h" static NS_DEFINE_IID(kIDOMAttrIID, NS_IDOMATTR_IID); static NS_DEFINE_IID(kIDOMAttributePrivateIID, NS_IDOMATTRIBUTEPRIVATE_IID); @@ -158,6 +159,9 @@ nsDOMAttribute::GetValue(nsString& aValue) nsresult attrResult; mContent->ParseAttributeString(mName, nameAtom, nameSpaceID); + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } attrResult = mContent->GetAttribute(nameSpaceID, nameAtom, mValue); if (NS_CONTENT_ATTR_NOT_THERE == attrResult) { mValue.Truncate(); @@ -177,6 +181,9 @@ nsDOMAttribute::SetValue(const nsString& aValue) PRInt32 nameSpaceID; mContent->ParseAttributeString(mName, nameAtom, nameSpaceID); + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } result = mContent->SetAttribute(nameSpaceID, nameAtom, aValue, PR_TRUE); NS_IF_RELEASE(nameAtom); } @@ -199,6 +206,9 @@ nsDOMAttribute::GetSpecified(PRBool* aSpecified) PRInt32 nameSpaceID; mContent->ParseAttributeString(mName, nameAtom, nameSpaceID); + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } attrResult = mContent->GetAttribute(nameSpaceID, nameAtom, value); NS_IF_RELEASE(nameAtom); if (NS_CONTENT_ATTR_HAS_VALUE == attrResult) { @@ -369,6 +379,9 @@ nsDOMAttribute::CloneNode(PRBool aDeep, nsIDOMNode** aReturn) PRInt32 nameSpaceID; mContent->ParseAttributeString(mName, nameAtom, nameSpaceID); + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } mContent->GetAttribute(nameSpaceID, nameAtom, value); newAttr = new nsDOMAttribute(nsnull, mName, value); } diff --git a/mozilla/content/base/src/nsDOMAttributeMap.cpp b/mozilla/content/base/src/nsDOMAttributeMap.cpp index 325b411eca4..4949b821353 100644 --- a/mozilla/content/base/src/nsDOMAttributeMap.cpp +++ b/mozilla/content/base/src/nsDOMAttributeMap.cpp @@ -241,6 +241,9 @@ nsDOMAttributeMap::GetNamedItem(const nsString &aAttrName, nsAutoString normalizedName; mContent->ParseAttributeString(aAttrName, nameAtom, nameSpaceID); + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } GetNormalizedName(nameSpaceID, nameAtom, normalizedName); result = GetNamedItemCommon(normalizedName, nameSpaceID, @@ -279,6 +282,9 @@ nsDOMAttributeMap::SetNamedItem(nsIDOMNode *aNode, nsIDOMNode **aReturn) // Get normalized attribute name attribute->GetName(name); mContent->ParseAttributeString(name, nameAtom, nameSpaceID); + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } GetNormalizedName(nameSpaceID, nameAtom, name); name.ToCString(buf, sizeof(buf)); result = GetNamedItemCommon(name, nameSpaceID, nameAtom, &oldAttribute); @@ -361,6 +367,9 @@ nsDOMAttributeMap::RemoveNamedItem(const nsString& aName, nsIDOMNode** aReturn) nsAutoString name; mContent->ParseAttributeString(aName, nameAtom, nameSpaceID); + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } GetNormalizedName(nameSpaceID, nameAtom, name); name.ToCString(buf, sizeof(buf)); result = GetNamedItemCommon(name, nameSpaceID, nameAtom, &attribute); diff --git a/mozilla/content/base/src/nsDocument.cpp b/mozilla/content/base/src/nsDocument.cpp index 97dd15e47ed..0f1c50b4ac6 100644 --- a/mozilla/content/base/src/nsDocument.cpp +++ b/mozilla/content/base/src/nsDocument.cpp @@ -47,11 +47,11 @@ #include "nsIDOMDOMImplementation.h" #include "nsGenericElement.h" -#include "nsCSSPropIDs.h" -#include "nsCSSProps.h" +//#include "nsCSSPropIDs.h" +//#include "nsCSSProps.h" #include "nsICSSStyleSheet.h" -#include "nsICSSStyleRule.h" -#include "nsICSSDeclaration.h" +//#include "nsICSSStyleRule.h" +//#include "nsICSSDeclaration.h" #include "nsITextContent.h" #include "nsXIFConverter.h" diff --git a/mozilla/content/base/src/nsGenericElement.cpp b/mozilla/content/base/src/nsGenericElement.cpp index 37c5206f6a5..b02cad23c01 100644 --- a/mozilla/content/base/src/nsGenericElement.cpp +++ b/mozilla/content/base/src/nsGenericElement.cpp @@ -394,6 +394,9 @@ nsGenericElement::GetAttribute(const nsString& aName, nsString& aReturn) PRInt32 nameSpaceID; mContent->ParseAttributeString(aName, nameAtom, nameSpaceID); + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } mContent->GetAttribute(nameSpaceID, nameAtom, aReturn); NS_RELEASE(nameAtom); @@ -409,6 +412,9 @@ nsGenericElement::SetAttribute(const nsString& aName, nsresult result = NS_OK; mContent->ParseAttributeString(aName, nameAtom, nameSpaceID); + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } result = mContent->SetAttribute(nameSpaceID, nameAtom, aValue, PR_TRUE); NS_RELEASE(nameAtom); @@ -423,6 +429,9 @@ nsGenericElement::RemoveAttribute(const nsString& aName) nsresult result = NS_OK; mContent->ParseAttributeString(aName, nameAtom, nameSpaceID); + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } result = mContent->UnsetAttribute(nameSpaceID, nameAtom, PR_TRUE); NS_RELEASE(nameAtom); diff --git a/mozilla/content/xul/content/src/nsXULAttributes.cpp b/mozilla/content/xul/content/src/nsXULAttributes.cpp index 7c5b91e172c..b0cdad1bc5c 100644 --- a/mozilla/content/xul/content/src/nsXULAttributes.cpp +++ b/mozilla/content/xul/content/src/nsXULAttributes.cpp @@ -442,6 +442,9 @@ nsXULAttributes::GetNamedItem(const nsString& aName, nsIDOMNode** aReturn) if (NS_FAILED(rv = mContent->ParseAttributeString(aName, name, nameSpaceID))) return rv; + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } // XXX doing this instead of calling mContent->GetAttribute() will // make it a lot harder to lazily instantiate properties from the // graph. The problem is, how else do we get the named item? diff --git a/mozilla/content/xul/content/src/nsXULElement.cpp b/mozilla/content/xul/content/src/nsXULElement.cpp index dd3c3a89d85..ff20e0cb584 100644 --- a/mozilla/content/xul/content/src/nsXULElement.cpp +++ b/mozilla/content/xul/content/src/nsXULElement.cpp @@ -879,6 +879,9 @@ RDFElementImpl::GetAttribute(const nsString& aName, nsString& aReturn) NS_WARNING("unable to parse attribute name"); return rv; } + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } GetAttribute(nameSpaceID, nameAtom, aReturn); NS_RELEASE(nameAtom); diff --git a/mozilla/content/xul/templates/src/nsXULTemplateBuilder.cpp b/mozilla/content/xul/templates/src/nsXULTemplateBuilder.cpp index 39d216828d7..13e3055e443 100644 --- a/mozilla/content/xul/templates/src/nsXULTemplateBuilder.cpp +++ b/mozilla/content/xul/templates/src/nsXULTemplateBuilder.cpp @@ -1643,6 +1643,9 @@ RDFGenericBuilderImpl::OnSetAttribute(nsIDOMElement* aElement, const nsString& a } // If we get here, it's a "vanilla" property: push its value into the graph. + if (kNameSpaceID_Unknown == attrNameSpaceID) { + attrNameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } nsCOMPtr property; if (NS_FAILED(rv = GetResource(attrNameSpaceID, attrNameAtom, getter_AddRefs(property)))) { NS_ERROR("unable to construct resource"); @@ -1746,6 +1749,9 @@ RDFGenericBuilderImpl::OnRemoveAttribute(nsIDOMElement* aElement, const nsString // It's a "vanilla" property: push its value into the graph. nsCOMPtr property; + if (kNameSpaceID_Unknown == attrNameSpaceID) { + attrNameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } if (NS_FAILED(rv = GetResource(attrNameSpaceID, attrNameAtom, getter_AddRefs(property)))) { NS_ERROR("unable to construct resource"); return rv; diff --git a/mozilla/layout/base/src/nsDOMAttribute.cpp b/mozilla/layout/base/src/nsDOMAttribute.cpp index 7bd7ba106d8..05f315b7d8b 100644 --- a/mozilla/layout/base/src/nsDOMAttribute.cpp +++ b/mozilla/layout/base/src/nsDOMAttribute.cpp @@ -22,6 +22,7 @@ #include "nsIContent.h" #include "nsIDOMScriptObjectFactory.h" #include "nsITextContent.h" +#include "nsINameSpaceManager.h" static NS_DEFINE_IID(kIDOMAttrIID, NS_IDOMATTR_IID); static NS_DEFINE_IID(kIDOMAttributePrivateIID, NS_IDOMATTRIBUTEPRIVATE_IID); @@ -158,6 +159,9 @@ nsDOMAttribute::GetValue(nsString& aValue) nsresult attrResult; mContent->ParseAttributeString(mName, nameAtom, nameSpaceID); + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } attrResult = mContent->GetAttribute(nameSpaceID, nameAtom, mValue); if (NS_CONTENT_ATTR_NOT_THERE == attrResult) { mValue.Truncate(); @@ -177,6 +181,9 @@ nsDOMAttribute::SetValue(const nsString& aValue) PRInt32 nameSpaceID; mContent->ParseAttributeString(mName, nameAtom, nameSpaceID); + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } result = mContent->SetAttribute(nameSpaceID, nameAtom, aValue, PR_TRUE); NS_IF_RELEASE(nameAtom); } @@ -199,6 +206,9 @@ nsDOMAttribute::GetSpecified(PRBool* aSpecified) PRInt32 nameSpaceID; mContent->ParseAttributeString(mName, nameAtom, nameSpaceID); + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } attrResult = mContent->GetAttribute(nameSpaceID, nameAtom, value); NS_IF_RELEASE(nameAtom); if (NS_CONTENT_ATTR_HAS_VALUE == attrResult) { @@ -369,6 +379,9 @@ nsDOMAttribute::CloneNode(PRBool aDeep, nsIDOMNode** aReturn) PRInt32 nameSpaceID; mContent->ParseAttributeString(mName, nameAtom, nameSpaceID); + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } mContent->GetAttribute(nameSpaceID, nameAtom, value); newAttr = new nsDOMAttribute(nsnull, mName, value); } diff --git a/mozilla/layout/base/src/nsDOMAttributeMap.cpp b/mozilla/layout/base/src/nsDOMAttributeMap.cpp index 325b411eca4..4949b821353 100644 --- a/mozilla/layout/base/src/nsDOMAttributeMap.cpp +++ b/mozilla/layout/base/src/nsDOMAttributeMap.cpp @@ -241,6 +241,9 @@ nsDOMAttributeMap::GetNamedItem(const nsString &aAttrName, nsAutoString normalizedName; mContent->ParseAttributeString(aAttrName, nameAtom, nameSpaceID); + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } GetNormalizedName(nameSpaceID, nameAtom, normalizedName); result = GetNamedItemCommon(normalizedName, nameSpaceID, @@ -279,6 +282,9 @@ nsDOMAttributeMap::SetNamedItem(nsIDOMNode *aNode, nsIDOMNode **aReturn) // Get normalized attribute name attribute->GetName(name); mContent->ParseAttributeString(name, nameAtom, nameSpaceID); + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } GetNormalizedName(nameSpaceID, nameAtom, name); name.ToCString(buf, sizeof(buf)); result = GetNamedItemCommon(name, nameSpaceID, nameAtom, &oldAttribute); @@ -361,6 +367,9 @@ nsDOMAttributeMap::RemoveNamedItem(const nsString& aName, nsIDOMNode** aReturn) nsAutoString name; mContent->ParseAttributeString(aName, nameAtom, nameSpaceID); + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } GetNormalizedName(nameSpaceID, nameAtom, name); name.ToCString(buf, sizeof(buf)); result = GetNamedItemCommon(name, nameSpaceID, nameAtom, &attribute); diff --git a/mozilla/layout/base/src/nsDocument.cpp b/mozilla/layout/base/src/nsDocument.cpp index 97dd15e47ed..0f1c50b4ac6 100644 --- a/mozilla/layout/base/src/nsDocument.cpp +++ b/mozilla/layout/base/src/nsDocument.cpp @@ -47,11 +47,11 @@ #include "nsIDOMDOMImplementation.h" #include "nsGenericElement.h" -#include "nsCSSPropIDs.h" -#include "nsCSSProps.h" +//#include "nsCSSPropIDs.h" +//#include "nsCSSProps.h" #include "nsICSSStyleSheet.h" -#include "nsICSSStyleRule.h" -#include "nsICSSDeclaration.h" +//#include "nsICSSStyleRule.h" +//#include "nsICSSDeclaration.h" #include "nsITextContent.h" #include "nsXIFConverter.h" diff --git a/mozilla/layout/base/src/nsGenericElement.cpp b/mozilla/layout/base/src/nsGenericElement.cpp index 37c5206f6a5..b02cad23c01 100644 --- a/mozilla/layout/base/src/nsGenericElement.cpp +++ b/mozilla/layout/base/src/nsGenericElement.cpp @@ -394,6 +394,9 @@ nsGenericElement::GetAttribute(const nsString& aName, nsString& aReturn) PRInt32 nameSpaceID; mContent->ParseAttributeString(aName, nameAtom, nameSpaceID); + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } mContent->GetAttribute(nameSpaceID, nameAtom, aReturn); NS_RELEASE(nameAtom); @@ -409,6 +412,9 @@ nsGenericElement::SetAttribute(const nsString& aName, nsresult result = NS_OK; mContent->ParseAttributeString(aName, nameAtom, nameSpaceID); + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } result = mContent->SetAttribute(nameSpaceID, nameAtom, aValue, PR_TRUE); NS_RELEASE(nameAtom); @@ -423,6 +429,9 @@ nsGenericElement::RemoveAttribute(const nsString& aName) nsresult result = NS_OK; mContent->ParseAttributeString(aName, nameAtom, nameSpaceID); + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } result = mContent->UnsetAttribute(nameSpaceID, nameAtom, PR_TRUE); NS_RELEASE(nameAtom); diff --git a/mozilla/rdf/base/src/nsRDFContentSink.cpp b/mozilla/rdf/base/src/nsRDFContentSink.cpp index 8a70d3c2f08..352cb76efff 100644 --- a/mozilla/rdf/base/src/nsRDFContentSink.cpp +++ b/mozilla/rdf/base/src/nsRDFContentSink.cpp @@ -1073,6 +1073,9 @@ RDFContentSinkImpl::AddProperties(const nsIParserNode& aNode, nsRDFParserUtils::StripAndConvert(v); nsAutoString k; + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } GetNameSpaceURI(nameSpaceID, k); k.Append(attr->GetUnicode()); diff --git a/mozilla/rdf/content/src/nsRDFElement.cpp b/mozilla/rdf/content/src/nsRDFElement.cpp index dd3c3a89d85..ff20e0cb584 100644 --- a/mozilla/rdf/content/src/nsRDFElement.cpp +++ b/mozilla/rdf/content/src/nsRDFElement.cpp @@ -879,6 +879,9 @@ RDFElementImpl::GetAttribute(const nsString& aName, nsString& aReturn) NS_WARNING("unable to parse attribute name"); return rv; } + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } GetAttribute(nameSpaceID, nameAtom, aReturn); NS_RELEASE(nameAtom); diff --git a/mozilla/rdf/content/src/nsRDFGenericBuilder.cpp b/mozilla/rdf/content/src/nsRDFGenericBuilder.cpp index 39d216828d7..13e3055e443 100644 --- a/mozilla/rdf/content/src/nsRDFGenericBuilder.cpp +++ b/mozilla/rdf/content/src/nsRDFGenericBuilder.cpp @@ -1643,6 +1643,9 @@ RDFGenericBuilderImpl::OnSetAttribute(nsIDOMElement* aElement, const nsString& a } // If we get here, it's a "vanilla" property: push its value into the graph. + if (kNameSpaceID_Unknown == attrNameSpaceID) { + attrNameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } nsCOMPtr property; if (NS_FAILED(rv = GetResource(attrNameSpaceID, attrNameAtom, getter_AddRefs(property)))) { NS_ERROR("unable to construct resource"); @@ -1746,6 +1749,9 @@ RDFGenericBuilderImpl::OnRemoveAttribute(nsIDOMElement* aElement, const nsString // It's a "vanilla" property: push its value into the graph. nsCOMPtr property; + if (kNameSpaceID_Unknown == attrNameSpaceID) { + attrNameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } if (NS_FAILED(rv = GetResource(attrNameSpaceID, attrNameAtom, getter_AddRefs(property)))) { NS_ERROR("unable to construct resource"); return rv; diff --git a/mozilla/rdf/content/src/nsRDFXULBuilder.cpp b/mozilla/rdf/content/src/nsRDFXULBuilder.cpp index 5f62adb2880..8dc7c9412fc 100644 --- a/mozilla/rdf/content/src/nsRDFXULBuilder.cpp +++ b/mozilla/rdf/content/src/nsRDFXULBuilder.cpp @@ -1508,6 +1508,9 @@ RDFXULBuilderImpl::OnSetAttribute(nsIDOMElement* aElement, const nsString& aName // the RDF graph to update. So, build an RDF resource from the // property name... nsCOMPtr property; + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } if (NS_FAILED(rv = GetResource(nameSpaceID, nameAtom, getter_AddRefs(property)))) { NS_ERROR("unable to construct resource"); return rv; @@ -1580,6 +1583,9 @@ RDFXULBuilderImpl::OnRemoveAttribute(nsIDOMElement* aElement, const nsString& aN } nsCOMPtr property; + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } if (NS_FAILED(rv = GetResource(nameSpaceID, nameAtom, getter_AddRefs(property)))) { NS_ERROR("unable to construct resource"); return rv; diff --git a/mozilla/rdf/content/src/nsXULAttributes.cpp b/mozilla/rdf/content/src/nsXULAttributes.cpp index 7c5b91e172c..b0cdad1bc5c 100644 --- a/mozilla/rdf/content/src/nsXULAttributes.cpp +++ b/mozilla/rdf/content/src/nsXULAttributes.cpp @@ -442,6 +442,9 @@ nsXULAttributes::GetNamedItem(const nsString& aName, nsIDOMNode** aReturn) if (NS_FAILED(rv = mContent->ParseAttributeString(aName, name, nameSpaceID))) return rv; + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } // XXX doing this instead of calling mContent->GetAttribute() will // make it a lot harder to lazily instantiate properties from the // graph. The problem is, how else do we get the named item? diff --git a/mozilla/rdf/content/src/nsXULElement.cpp b/mozilla/rdf/content/src/nsXULElement.cpp index dd3c3a89d85..ff20e0cb584 100644 --- a/mozilla/rdf/content/src/nsXULElement.cpp +++ b/mozilla/rdf/content/src/nsXULElement.cpp @@ -879,6 +879,9 @@ RDFElementImpl::GetAttribute(const nsString& aName, nsString& aReturn) NS_WARNING("unable to parse attribute name"); return rv; } + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } GetAttribute(nameSpaceID, nameAtom, aReturn); NS_RELEASE(nameAtom); diff --git a/mozilla/rdf/content/src/nsXULTemplateBuilder.cpp b/mozilla/rdf/content/src/nsXULTemplateBuilder.cpp index 39d216828d7..13e3055e443 100644 --- a/mozilla/rdf/content/src/nsXULTemplateBuilder.cpp +++ b/mozilla/rdf/content/src/nsXULTemplateBuilder.cpp @@ -1643,6 +1643,9 @@ RDFGenericBuilderImpl::OnSetAttribute(nsIDOMElement* aElement, const nsString& a } // If we get here, it's a "vanilla" property: push its value into the graph. + if (kNameSpaceID_Unknown == attrNameSpaceID) { + attrNameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } nsCOMPtr property; if (NS_FAILED(rv = GetResource(attrNameSpaceID, attrNameAtom, getter_AddRefs(property)))) { NS_ERROR("unable to construct resource"); @@ -1746,6 +1749,9 @@ RDFGenericBuilderImpl::OnRemoveAttribute(nsIDOMElement* aElement, const nsString // It's a "vanilla" property: push its value into the graph. nsCOMPtr property; + if (kNameSpaceID_Unknown == attrNameSpaceID) { + attrNameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } if (NS_FAILED(rv = GetResource(attrNameSpaceID, attrNameAtom, getter_AddRefs(property)))) { NS_ERROR("unable to construct resource"); return rv; diff --git a/mozilla/rdf/datasource/src/nsXULContentSink.cpp b/mozilla/rdf/datasource/src/nsXULContentSink.cpp index 1bd8ea4ebcd..2efcdca0ecc 100644 --- a/mozilla/rdf/datasource/src/nsXULContentSink.cpp +++ b/mozilla/rdf/datasource/src/nsXULContentSink.cpp @@ -1188,6 +1188,9 @@ XULContentSinkImpl::AddAttributes(const nsIParserNode& aNode, nsIAtom* prefix = CutNameSpacePrefix(attr); if (prefix) { SplitQualifiedName(key, nameSpaceID, attr); + if (kNameSpaceID_Unknown == nameSpaceID) { + nameSpaceID = kNameSpaceID_None; // ignore unknown prefix XXX is this correct? + } NS_RELEASE(prefix); } else {