From 9dcd28272e7e705c831e1e447838b97a7b13331c Mon Sep 17 00:00:00 2001 From: "akhil.arora%sun.com" Date: Fri, 8 Oct 1999 23:22:52 +0000 Subject: [PATCH] Fixes Bug 15837 by instantiating the proper subtype of Node instead of Node. Fixed by Igor Nekrestyanov . Reviewed by Akhil Arora . git-svn-id: svn://10.0.0.236/trunk@50270 18797224-902f-48f8-a5cc-f745e15eee43 --- .../jni/org_mozilla_dom_NamedNodeMapImpl.cpp | 68 ++----------------- .../dom/jni/org_mozilla_dom_NodeListImpl.cpp | 17 +---- 2 files changed, 5 insertions(+), 80 deletions(-) diff --git a/mozilla/java/dom/jni/org_mozilla_dom_NamedNodeMapImpl.cpp b/mozilla/java/dom/jni/org_mozilla_dom_NamedNodeMapImpl.cpp index 800264de354..21d4d0ecd88 100644 --- a/mozilla/java/dom/jni/org_mozilla_dom_NamedNodeMapImpl.cpp +++ b/mozilla/java/dom/jni/org_mozilla_dom_NamedNodeMapImpl.cpp @@ -83,22 +83,7 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NamedNodeMapImpl_getNamedItem return NULL; } - jobject jnode = env->AllocObject(JavaDOMGlobals::nodeClass); - if (!jnode) { - JavaDOMGlobals::ThrowException(env, - "NamedNodeMap.getNamedItem: failed to allocate object"); - return NULL; - } - - env->SetLongField(jnode, JavaDOMGlobals::nodePtrFID, (jlong) node); - if (env->ExceptionOccurred()) { - JavaDOMGlobals::ThrowException(env, - "NamedNodeMap.getNamedItem: failed to set node ptr"); - return NULL; - } - - node->AddRef(); - return jnode; + return JavaDOMGlobals::CreateNodeSubtype(env, node); } /* @@ -125,22 +110,7 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NamedNodeMapImpl_item return NULL; } - jobject jnode = env->AllocObject(JavaDOMGlobals::nodeClass); - if (!jnode) { - JavaDOMGlobals::ThrowException(env, - "NodeMap.item: failed to allocate object"); - return NULL; - } - - env->SetLongField(jnode, JavaDOMGlobals::nodePtrFID, (jlong) node); - if (env->ExceptionOccurred()) { - JavaDOMGlobals::ThrowException(env, - "NamedNodeMap.item: failed to set node ptr"); - return NULL; - } - - node->AddRef(); - return jnode; + return JavaDOMGlobals::CreateNodeSubtype(env, node); } /* @@ -182,22 +152,7 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NamedNodeMapImpl_removeNamedItem return NULL; } - jobject jnode = env->AllocObject(JavaDOMGlobals::nodeClass); - if (!jnode) { - JavaDOMGlobals::ThrowException(env, - "NamedNodeMap.removeNamedItem: failed to allocate object"); - return NULL; - } - - env->SetLongField(jnode, JavaDOMGlobals::nodePtrFID, (jlong) node); - if (env->ExceptionOccurred()) { - JavaDOMGlobals::ThrowException(env, - "NamedNodeMap.removeNamedItem: failed to set node ptr"); - return NULL; - } - - node->AddRef(); - return jnode; + return JavaDOMGlobals::CreateNodeSubtype(env, node); } /* @@ -239,21 +194,6 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NamedNodeMapImpl_setNamedItem return NULL; } - jobject jnode = env->AllocObject(JavaDOMGlobals::nodeClass); - if (!jnode) { - JavaDOMGlobals::ThrowException(env, - "NamedNodeMap.setNamedItem: failed to allocate object"); - return NULL; - } - - env->SetLongField(jnode, JavaDOMGlobals::nodePtrFID, (jlong) node); - if (env->ExceptionOccurred()) { - JavaDOMGlobals::ThrowException(env, - "NamedNodeMap.setNamedItem: failed to set node ptr"); - return NULL; - } - - node->AddRef(); - return jnode; + return JavaDOMGlobals::CreateNodeSubtype(env, node); } diff --git a/mozilla/java/dom/jni/org_mozilla_dom_NodeListImpl.cpp b/mozilla/java/dom/jni/org_mozilla_dom_NodeListImpl.cpp index 3dbe87cc5af..2a56ac8520c 100644 --- a/mozilla/java/dom/jni/org_mozilla_dom_NodeListImpl.cpp +++ b/mozilla/java/dom/jni/org_mozilla_dom_NodeListImpl.cpp @@ -176,21 +176,6 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NodeListImpl_item return NULL; } - jobject jnode = env->AllocObject(JavaDOMGlobals::nodeClass); - if (!jnode) { - PR_LOG(JavaDOMGlobals::log, PR_LOG_ERROR, - ("NodeList.item: failed to allocate object\n")); - return NULL; - } - - env->SetLongField(jnode, JavaDOMGlobals::nodePtrFID, (jlong) node); - if (env->ExceptionOccurred()) { - PR_LOG(JavaDOMGlobals::log, PR_LOG_ERROR, - ("NodeList.item: failed to set node ptr: %x\n", node)); - return NULL; - } - - node->AddRef(); - return jnode; + return JavaDOMGlobals::CreateNodeSubtype(env, node); }