Bug 1451421 - Add an atom overload for namespace registration. r=bz

MozReview-Commit-ID: 3CiyFImX8UO
This commit is contained in:
Bobby Holley 2018-04-03 17:59:03 -07:00
Родитель 9dd84ff2e8
Коммит 51170c6db8
2 изменённых файлов: 13 добавлений и 4 удалений

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

@ -94,14 +94,21 @@ nsresult
nsNameSpaceManager::RegisterNameSpace(const nsAString& aURI,
int32_t& aNameSpaceID)
{
if (aURI.IsEmpty()) {
aNameSpaceID = kNameSpaceID_None; // xmlns="", see bug 75700 for details
RefPtr<nsAtom> atom = NS_Atomize(aURI);
return RegisterNameSpace(atom.forget(), aNameSpaceID);
}
nsresult
nsNameSpaceManager::RegisterNameSpace(already_AddRefed<nsAtom> aURI,
int32_t& aNameSpaceID)
{
RefPtr<nsAtom> atom = aURI;
nsresult rv = NS_OK;
if (atom == nsGkAtoms::_empty) {
aNameSpaceID = kNameSpaceID_None; // xmlns="", see bug 75700 for details
return NS_OK;
}
RefPtr<nsAtom> atom = NS_Atomize(aURI);
nsresult rv = NS_OK;
if (!mURIToIDTable.Get(atom, &aNameSpaceID)) {
aNameSpaceID = mURIArray.Length();

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

@ -38,6 +38,8 @@ public:
NS_DECL_NSIOBSERVER
virtual nsresult RegisterNameSpace(const nsAString& aURI,
int32_t& aNameSpaceID);
nsresult RegisterNameSpace(already_AddRefed<nsAtom> aURI,
int32_t& aNameSpaceID);
virtual nsresult GetNameSpaceURI(int32_t aNameSpaceID, nsAString& aURI);