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:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user