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
This commit is contained in:
sdv%sparc.spb.su
2000-02-15 23:57:27 +00:00
parent 80fdd2e797
commit 5059f31b04
2 changed files with 15 additions and 5 deletions

View File

@@ -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);
}

View File

@@ -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);
}