Bug 75700, fixed bad internal namespace with xmlns=''. r=harishd,sr=jst.

This commit is contained in:
heikki%netscape.com 2001-06-26 22:25:33 +00:00
Родитель 212c48c2f1
Коммит d54af4e833
3 изменённых файлов: 17 добавлений и 15 удалений

Просмотреть файл

@ -391,11 +391,17 @@ NameSpaceManagerImpl::RegisterNameSpace(const nsAReadableString& aURI,
PRInt32 id = FindNameSpaceID(aURI);
if (kNameSpaceID_Unknown == id) {
nsString* uri = new nsString(aURI);
gURIArray->AppendElement(uri);
id = gURIArray->Count(); // id is index + 1
nsStringKey key(*uri);
gURIToIDTable->Put(&key, (void*)id);
if (aURI.IsEmpty()) {
id = kNameSpaceID_None; // xmlns="", see bug 75700 for details
} else {
nsString* uri = new nsString(aURI);
if (!uri)
return NS_ERROR_OUT_OF_MEMORY;
gURIArray->AppendElement(uri);
id = gURIArray->Count(); // id is index + 1
nsStringKey key(*uri);
gURIToIDTable->Put(&key, (void*)id);
}
}
aNameSpaceID = id;
return NS_OK;

Просмотреть файл

@ -210,17 +210,14 @@ nsNodeInfoManager::GetNodeInfo(const nsAReadableString& aName, const nsAReadable
NS_ENSURE_TRUE(prefix, NS_ERROR_OUT_OF_MEMORY);
}
PRInt32 nsid = kNameSpaceID_None;
if (aNamespaceURI.Length()) {
if (!mNameSpaceManager) {
return NS_ERROR_NOT_INITIALIZED;
}
nsresult rv = mNameSpaceManager->RegisterNameSpace(aNamespaceURI, nsid);
NS_ENSURE_SUCCESS(rv, rv);
if (!mNameSpaceManager) {
return NS_ERROR_NOT_INITIALIZED;
}
PRInt32 nsid;
nsresult rv = mNameSpaceManager->RegisterNameSpace(aNamespaceURI, nsid);
NS_ENSURE_SUCCESS(rv, rv);
return GetNodeInfo(name, prefix, nsid, aNodeInfo);
}

Просмотреть файл

@ -50,7 +50,6 @@
#include "nsIDOMCDATASection.h"
#include "nsIDOMProcessingInstruction.h"
#include "nsIDOMDocumentType.h"
#include "nsExpatDTD.h"
#include "nsINameSpaceManager.h"
#include "nsICSSLoader.h"
#include "nsCOMPtr.h"