diff --git a/mozilla/java/dom/classes/org/mozilla/dom/NamedNodeMapImpl.java b/mozilla/java/dom/classes/org/mozilla/dom/NamedNodeMapImpl.java index 22f4f1099e2..c57cd9f543a 100644 --- a/mozilla/java/dom/classes/org/mozilla/dom/NamedNodeMapImpl.java +++ b/mozilla/java/dom/classes/org/mozilla/dom/NamedNodeMapImpl.java @@ -27,6 +27,7 @@ import org.w3c.dom.DOMException; public class NamedNodeMapImpl implements NamedNodeMap { + private long p_nsIDOMNamedNodeMap = 0; // instantiated from JNI only private NamedNodeMapImpl() {} diff --git a/mozilla/java/dom/jni/javaDOMGlobals.cpp b/mozilla/java/dom/jni/javaDOMGlobals.cpp index 8eb69cec1e1..f6210faa7ac 100644 --- a/mozilla/java/dom/jni/javaDOMGlobals.cpp +++ b/mozilla/java/dom/jni/javaDOMGlobals.cpp @@ -46,6 +46,7 @@ jclass JavaDOMGlobals::textClass = NULL; jfieldID JavaDOMGlobals::nodePtrFID = NULL; jfieldID JavaDOMGlobals::nodeListPtrFID = NULL; jfieldID JavaDOMGlobals::domImplementationPtrFID = NULL; +jfieldID JavaDOMGlobals::namedNodeMapPtrFID = NULL; jfieldID JavaDOMGlobals::nodeTypeAttributeFID = NULL; jfieldID JavaDOMGlobals::nodeTypeCDataSectionFID = NULL; @@ -167,6 +168,9 @@ void JavaDOMGlobals::Initialize(JNIEnv *env) namedNodeMapClass = env->FindClass("org/mozilla/dom/NamedNodeMapImpl"); if (!namedNodeMapClass) return; + namedNodeMapPtrFID = + env->GetFieldID(namedNodeMapClass, "p_nsIDOMNamedNodeMap", "J"); + if (!namedNodeMapPtrFID) return; namedNodeMapClass = (jclass) env->NewGlobalRef(namedNodeMapClass); if (!namedNodeMapClass) return; diff --git a/mozilla/java/dom/jni/javaDOMGlobals.h b/mozilla/java/dom/jni/javaDOMGlobals.h index 3ddbb2cc793..9d00f2a3a9c 100644 --- a/mozilla/java/dom/jni/javaDOMGlobals.h +++ b/mozilla/java/dom/jni/javaDOMGlobals.h @@ -60,6 +60,7 @@ class JavaDOMGlobals { static jfieldID nodePtrFID; static jfieldID nodeListPtrFID; static jfieldID domImplementationPtrFID; + static jfieldID namedNodeMapPtrFID; static jfieldID nodeTypeAttributeFID; static jfieldID nodeTypeCDataSectionFID; diff --git a/mozilla/java/dom/jni/org_mozilla_dom_DocumentTypeImpl.cpp b/mozilla/java/dom/jni/org_mozilla_dom_DocumentTypeImpl.cpp index 99039ad9528..f5d82e2ba21 100644 --- a/mozilla/java/dom/jni/org_mozilla_dom_DocumentTypeImpl.cpp +++ b/mozilla/java/dom/jni/org_mozilla_dom_DocumentTypeImpl.cpp @@ -57,7 +57,7 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_DocumentTypeImpl_getEntities return NULL; } - env->SetLongField(jret, JavaDOMGlobals::nodePtrFID, (jlong) nodeMap); + env->SetLongField(jret, JavaDOMGlobals::namedNodeMapPtrFID, (jlong) nodeMap); if (env->ExceptionOccurred()) { PR_LOG(JavaDOMGlobals::log, PR_LOG_ERROR, ("DocumentType.getEntities: failed to set node ptr: %x\n", nodeMap)); @@ -132,7 +132,7 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_DocumentTypeImpl_getNotations return NULL; } - env->SetLongField(jret, JavaDOMGlobals::nodePtrFID, (jlong) nodeMap); + env->SetLongField(jret, JavaDOMGlobals::namedNodeMapPtrFID, (jlong) nodeMap); if (env->ExceptionOccurred()) { PR_LOG(JavaDOMGlobals::log, PR_LOG_ERROR, ("DocumentType.getNotations: failed to set node ptr: %x\n", nodeMap)); diff --git a/mozilla/java/dom/jni/org_mozilla_dom_NamedNodeMapImpl.cpp b/mozilla/java/dom/jni/org_mozilla_dom_NamedNodeMapImpl.cpp index badb1cb2e8a..f9934ede30d 100644 --- a/mozilla/java/dom/jni/org_mozilla_dom_NamedNodeMapImpl.cpp +++ b/mozilla/java/dom/jni/org_mozilla_dom_NamedNodeMapImpl.cpp @@ -36,7 +36,7 @@ JNIEXPORT jint JNICALL Java_org_mozilla_dom_NamedNodeMapImpl_getLength (JNIEnv *env, jobject jthis) { nsIDOMNamedNodeMap* map = (nsIDOMNamedNodeMap*) - env->GetLongField(jthis, JavaDOMGlobals::nodePtrFID); + env->GetLongField(jthis, JavaDOMGlobals::namedNodeMapPtrFID); if (!map) { JavaDOMGlobals::ThrowException(env, "NodeMap.getLength: NULL pointer"); @@ -63,7 +63,7 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NamedNodeMapImpl_getNamedItem (JNIEnv *env, jobject jthis, jstring jname) { nsIDOMNamedNodeMap* map = (nsIDOMNamedNodeMap*) - env->GetLongField(jthis, JavaDOMGlobals::nodePtrFID); + env->GetLongField(jthis, JavaDOMGlobals::namedNodeMapPtrFID); if (!map || !jname) { JavaDOMGlobals::ThrowException(env, "NodeMap.getNamedItem: NULL pointer"); @@ -104,7 +104,7 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NamedNodeMapImpl_item } nsIDOMNamedNodeMap* map = (nsIDOMNamedNodeMap*) - env->GetLongField(jthis, JavaDOMGlobals::nodePtrFID); + env->GetLongField(jthis, JavaDOMGlobals::namedNodeMapPtrFID); if (!map) { JavaDOMGlobals::ThrowException(env, "NodeMap.item: NULL pointer"); @@ -133,7 +133,7 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NamedNodeMapImpl_removeNamedItem (JNIEnv *env, jobject jthis, jstring jname) { nsIDOMNamedNodeMap* map = (nsIDOMNamedNodeMap*) - env->GetLongField(jthis, JavaDOMGlobals::nodePtrFID); + env->GetLongField(jthis, JavaDOMGlobals::namedNodeMapPtrFID); if (!map || !jname) { JavaDOMGlobals::ThrowException(env, "NodeMap.removeNamedItem: NULL pointer"); @@ -170,7 +170,7 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NamedNodeMapImpl_setNamedItem (JNIEnv *env, jobject jthis, jobject jarg) { nsIDOMNamedNodeMap* map = (nsIDOMNamedNodeMap*) - env->GetLongField(jthis, JavaDOMGlobals::nodePtrFID); + env->GetLongField(jthis, JavaDOMGlobals::namedNodeMapPtrFID); if (!map || !jarg) { JavaDOMGlobals::ThrowException(env, "NodeMap.setNamedItem: NULL pointer"); @@ -178,7 +178,7 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NamedNodeMapImpl_setNamedItem } nsIDOMNode* arg = (nsIDOMNode*) - env->GetLongField(jarg, JavaDOMGlobals::nodePtrFID); + env->GetLongField(jarg, JavaDOMGlobals::namedNodeMapPtrFID); if (!arg) { JavaDOMGlobals::ThrowException(env, "NodeMap.setNamedItem: NULL item pointer"); diff --git a/mozilla/java/dom/jni/org_mozilla_dom_NodeImpl.cpp b/mozilla/java/dom/jni/org_mozilla_dom_NodeImpl.cpp index df6063363a3..2ebebd36447 100644 --- a/mozilla/java/dom/jni/org_mozilla_dom_NodeImpl.cpp +++ b/mozilla/java/dom/jni/org_mozilla_dom_NodeImpl.cpp @@ -233,7 +233,7 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_NodeImpl_getAttributes return NULL; } - env->SetLongField(jret, JavaDOMGlobals::nodePtrFID, (jlong) nodeMap); + env->SetLongField(jret, JavaDOMGlobals::namedNodeMapPtrFID, (jlong) nodeMap); if (env->ExceptionOccurred()) { JavaDOMGlobals::ThrowException(env, "Node.getAttributes: failed to set node ptr");