From 5059f31b04eb31e85bc91b7edd2b89029ff281f7 Mon Sep 17 00:00:00 2001 From: "sdv%sparc.spb.su" Date: Tue, 15 Feb 2000 23:57:27 +0000 Subject: [PATCH] addon fix to bug 13338 (return null according to the dom spec instead of throwing exception) git-svn-id: svn://10.0.0.236/trunk@60967 18797224-902f-48f8-a5cc-f745e15eee43 --- .../dom/jni/org_mozilla_dom_NamedNodeMapImpl.cpp | 8 ++++++-- mozilla/java/dom/jni/org_mozilla_dom_NodeImpl.cpp | 12 +++++++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/mozilla/java/dom/jni/org_mozilla_dom_NamedNodeMapImpl.cpp b/mozilla/java/dom/jni/org_mozilla_dom_NamedNodeMapImpl.cpp index 44d716d88d1..68eaf48dca9 100644 --- a/mozilla/java/dom/jni/org_mozilla_dom_NamedNodeMapImpl.cpp +++ b/mozilla/java/dom/jni/org_mozilla_dom_NamedNodeMapImpl.cpp @@ -82,11 +82,13 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NamedNodeMapImpl_getNamedItem nsresult rv = map->GetNamedItem(name, &node); if (iscopy == JNI_TRUE) env->ReleaseStringUTFChars(jname, name); - if (NS_FAILED(rv) || !node) { + if (NS_FAILED(rv)) { JavaDOMGlobals::ThrowException(env, "NodeMap.getNamedItem: failed", rv); return NULL; } + if (!node) + return NULL; return JavaDOMGlobals::CreateNodeSubtype(env, node); } @@ -193,7 +195,7 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NamedNodeMapImpl_setNamedItem nsIDOMNode* node = nsnull; nsresult rv = map->SetNamedItem(arg, &node); - if (NS_FAILED(rv) || !node) { + if (NS_FAILED(rv)) { JavaDOMGlobals::ExceptionType exceptionType = JavaDOMGlobals::EXCEPTION_RUNTIME; if (NS_ERROR_GET_MODULE(rv) == NS_ERROR_MODULE_DOM && (rv == NS_ERROR_DOM_NO_MODIFICATION_ALLOWED_ERR || @@ -205,6 +207,8 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NamedNodeMapImpl_setNamedItem "NodeMap.setNamedItem: failed", rv, exceptionType); return NULL; } + if (!node) + return NULL; return JavaDOMGlobals::CreateNodeSubtype(env, node); } diff --git a/mozilla/java/dom/jni/org_mozilla_dom_NodeImpl.cpp b/mozilla/java/dom/jni/org_mozilla_dom_NodeImpl.cpp index 08414ac8987..454136b84c9 100644 --- a/mozilla/java/dom/jni/org_mozilla_dom_NodeImpl.cpp +++ b/mozilla/java/dom/jni/org_mozilla_dom_NodeImpl.cpp @@ -359,11 +359,13 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NodeImpl_getNextSibling nsIDOMNode* ret = nsnull; nsresult rv = node->GetNextSibling(&ret); - if (NS_FAILED(rv) || !ret) { + if (NS_FAILED(rv)) { JavaDOMGlobals::ThrowException(env, "Node.getNextSibling: failed", rv); return NULL; } + if (!ret) + return NULL; return JavaDOMGlobals::CreateNodeSubtype(env, ret); } @@ -550,11 +552,13 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NodeImpl_getOwnerDocument nsIDOMDocument* ret = nsnull; nsresult rv = node->GetOwnerDocument(&ret); - if (NS_FAILED(rv) || !ret) { + if (NS_FAILED(rv)) { JavaDOMGlobals::ThrowException(env, "Node.getOwnerDocument: failed", rv); return NULL; } + if (!ret) + return NULL; jobject jret = env->AllocObject(JavaDOMGlobals::documentClass); if (!jret) { @@ -589,11 +593,13 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NodeImpl_getParentNode nsIDOMNode* ret = nsnull; nsresult rv = node->GetParentNode(&ret); - if (NS_FAILED(rv) || !ret) { + if (NS_FAILED(rv)) { JavaDOMGlobals::ThrowException(env, "Node.getParentNode: failed", rv); return NULL; } + if (!ret) + return NULL; return JavaDOMGlobals::CreateNodeSubtype(env, ret); }