diff --git a/mozilla/java/dom/classes/org/mozilla/dom/AttrImpl.java b/mozilla/java/dom/classes/org/mozilla/dom/AttrImpl.java
index 5cd2b3aa1bd..87bf49ae2cf 100644
--- a/mozilla/java/dom/classes/org/mozilla/dom/AttrImpl.java
+++ b/mozilla/java/dom/classes/org/mozilla/dom/AttrImpl.java
@@ -26,28 +26,72 @@ import org.w3c.dom.DOMException;
import org.w3c.dom.Element;
import org.w3c.dom.TypeInfo;
+import org.mozilla.util.ReturnRunnable;
+
public class AttrImpl extends NodeImpl implements Attr {
// instantiated from JNI or Document.createAttribute()
private AttrImpl() {}
public String getName() {
- return nativeGetName();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+
+ return nativeGetName();
+ }
+ public String toString() {
+ return "DOMAccessor.register";
+ }
+ });
+ return result;
}
native String nativeGetName();
public boolean getSpecified() {
- return nativeGetSpecified();
+ Boolean boolResult = (Boolean)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return new Boolean(nativeGetSpecified());
+ }
+ public String toString() {
+ return "DOMAccessor.register";
+ }
+ });
+ return boolResult.booleanValue();
}
native boolean nativeGetSpecified();
public String getValue() {
- return nativeGetValue();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetValue();
+ }
+ public String toString() {
+ return "DOMAccessor.register";
+ }
+ });
+ return result;
}
native String nativeGetValue();
public void setValue(String value) {
- nativeSetValue(value);
+ final String finalValue = value;
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeSetValue(finalValue);
+ return null;
+ }
+ public String toString() {
+ return "Attr.setValue";
+ }
+ });
+
}
native void nativeSetValue(String value);
@@ -57,7 +101,17 @@ public class AttrImpl extends NodeImpl implements Attr {
* @since DOM Level 2
*/
public Element getOwnerElement() {
- return nativeGetOwnerElement();
+ Element result = (Element)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetOwnerElement();
+ }
+ public String toString() {
+ return "DOMAccessor.register";
+ }
+ });
+ return result;
}
native Element nativeGetOwnerElement();
diff --git a/mozilla/java/dom/classes/org/mozilla/dom/CharacterDataImpl.java b/mozilla/java/dom/classes/org/mozilla/dom/CharacterDataImpl.java
index d153bc23193..43d7be20ee1 100644
--- a/mozilla/java/dom/classes/org/mozilla/dom/CharacterDataImpl.java
+++ b/mozilla/java/dom/classes/org/mozilla/dom/CharacterDataImpl.java
@@ -23,49 +23,147 @@ package org.mozilla.dom;
import org.w3c.dom.CharacterData;
+import org.mozilla.util.ReturnRunnable;
+
public class CharacterDataImpl extends NodeImpl implements CharacterData {
// instantiated from JNI only
protected CharacterDataImpl() {}
public void appendData(String arg) {
- nativeAppendData(arg);
+ final String finalArg = arg;
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeAppendData(finalArg);
+ return null;
+ }
+ public String toString() {
+ return "CharacterData.appendData";
+ }
+ });
+
+
}
native void nativeAppendData(String arg);
public void deleteData(int offset, int count) {
- nativeDeleteData(offset, count);
+ final int finalOffset = offset;
+ final int finalCount = count;
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeDeleteData(finalOffset, finalCount);
+ return null;
+ }
+ public String toString() {
+ return "CharacterData.deleteData";
+ }
+ });
+
}
native void nativeDeleteData(int offset, int count);
public String getData() {
- return nativeGetData();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetData();
+ }
+ public String toString() {
+ return "CharacterData.getData";
+ }
+ });
+ return result;
}
native String nativeGetData();
public int getLength() {
- return nativeGetLength();
+ int result;
+ Integer integerResult = (Integer)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetLength();
+ }
+ public String toString() {
+ return "CharacterData.getLength";
+ }
+ });
+ result = integerResult.intValue();
+ return result;
}
native int nativeGetLength();
public void insertData(int offset, String arg) {
- nativeInsertData(offset, arg);
+ final int finalOffset = offset;
+ final String finalArg = arg;
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeInsertData(finalOffset, finalArg);
+ return null;
+ }
+ public String toString() {
+ return "CharacterData.insertData";
+ }
+ });
+
}
native void nativeInsertData(int offset, String arg);
public void replaceData(int offset, int count, String arg) {
- nativeReplaceData(offset, count, arg);
+ final int finalOffset = offset;
+ final int finalCount = count;
+ final String finalArg = arg;
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeReplaceData(finalOffset, finalCount, finalArg);
+ return null;
+ }
+ public String toString() {
+ return "CharacterData.replaceData";
+ }
+ });
+
}
native void nativeReplaceData(int offset, int count, String arg);
public void setData(String data) {
- nativeSetData(data);
+ final String finalData = data;
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeSetData(finalData);
+ return null;
+ }
+ public String toString() {
+ return "CharacterData.setData";
+ }
+ });
+
+
}
native void nativeSetData(String data);
public String substringData(int offset, int count) {
- return nativeSubstringData(offset, count);
+ final int finalOffset = offset;
+ final int finalCount = count;
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeSubstringData(finalOffset, finalCount);
+ }
+ public String toString() {
+ return "CharacterData.substringData";
+ }
+ });
+ return result;
+
}
native String nativeSubstringData(int offset, int count);
}
diff --git a/mozilla/java/dom/classes/org/mozilla/dom/DOMAccessor.java b/mozilla/java/dom/classes/org/mozilla/dom/DOMAccessor.java
index a94cbffccf4..76263bad9d1 100644
--- a/mozilla/java/dom/classes/org/mozilla/dom/DOMAccessor.java
+++ b/mozilla/java/dom/classes/org/mozilla/dom/DOMAccessor.java
@@ -134,9 +134,6 @@ public final class DOMAccessor {
}
private void DOMAccessorImpl() {
- if (null == runnableRunner) {
- runnableRunner = new SameThreadRunnableRunner();
- }
}
public static void setRunner(RunnableRunner runner) {
@@ -144,31 +141,84 @@ public final class DOMAccessor {
}
public static RunnableRunner getRunner() {
+ if (null == runnableRunner) {
+ runnableRunner = new SameThreadRunnableRunner();
+ }
return runnableRunner;
}
private static void register() {
- nativeRegister();
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeRegister();
+ return null;
+ }
+ public String toString() {
+ return "DOMAccessor.register";
+ }
+ });
}
private static native void nativeRegister();
private static void unregister() {
- nativeUnregister();
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeUnregister();
+ return null;
+ }
+ public String toString() {
+ return "DOMAccessor.register";
+ }
+ });
+
}
private static native void nativeUnregister();
public static Node getNodeByHandle(long p) {
- return nativeGetNodeByHandle(p);
+ final long finalP = p;
+ Node result = (Node) DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetNodeByHandle(finalP);
+ }
+ public String toString() {
+ return "DOMAccessor.register";
+ }
+ });
+ return result;
+
}
static native Node nativeGetNodeByHandle(long p);
private static void doGC() {
- nativeDoGC();
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeDoGC();
+ return null;
+ }
+ public String toString() {
+ return "DOMAccessor.register";
+ }
+ });
+
}
private static native void nativeDoGC();
public static void initialize() {
- nativeInitialize();
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeInitialize();
+ return null;
+ }
+ public String toString() {
+ return "DOMAccessor.register";
+ }
+ });
+
}
public static native void nativeInitialize();
@@ -280,7 +330,7 @@ class SameThreadRunnableRunner implements RunnableRunner {
}
public Object pushBlockingReturnRunnable(ReturnRunnable toInvoke) throws RuntimeException {
- toInvoke.run();
+ toInvoke.setResult(toInvoke.run());
return toInvoke.getResult();
}
diff --git a/mozilla/java/dom/classes/org/mozilla/dom/DOMImplementationImpl.java b/mozilla/java/dom/classes/org/mozilla/dom/DOMImplementationImpl.java
index 6b00c21e1be..e8fa22663d4 100644
--- a/mozilla/java/dom/classes/org/mozilla/dom/DOMImplementationImpl.java
+++ b/mozilla/java/dom/classes/org/mozilla/dom/DOMImplementationImpl.java
@@ -26,6 +26,8 @@ import org.w3c.dom.Document;
import org.w3c.dom.DocumentType;
import org.w3c.dom.DOMException;
+import org.mozilla.util.ReturnRunnable;
+
public class DOMImplementationImpl implements DOMImplementation {
private long p_nsIDOMDOMImplementation = 0;
@@ -45,34 +47,112 @@ public class DOMImplementationImpl implements DOMImplementation {
}
public boolean hasFeature(String feature, String version) {
- return nativeHasFeature(feature, version);
+ final String finalFeature = feature;
+ final String finalVersion = version;
+ Boolean bool = (Boolean)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ boolean booleanResult =
+ nativeHasFeature(finalFeature, finalVersion);
+ return booleanResult ? Boolean.TRUE : Boolean.FALSE;
+ }
+ public String toString() {
+ return "DOMImplementation.hasFeature";
+ }
+ });
+ return bool.booleanValue();
+
}
native boolean nativeHasFeature(String feature, String version);
protected void finalize() {
- nativeFinalize();
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeFinalize();
+ return null;
+ }
+ public String toString() {
+ return "DOMImplementation.finalize";
+ }
+ });
}
protected native void nativeFinalize();
private boolean XPCOM_equals(Object o) {
- return nativeXPCOM_equals(o);
+ final Object finalO = o;
+ Boolean bool = (Boolean)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ boolean booleanResult = nativeXPCOM_equals(finalO);
+ return booleanResult ? Boolean.TRUE : Boolean.FALSE;
+ }
+ public String toString() {
+ return "DOMImplementation.XPCOM_equals";
+ }
+ });
+ return bool.booleanValue();
+
}
native boolean nativeXPCOM_equals(Object o);
private int XPCOM_hashCode() {
- return nativeXPCOM_hashCode();
+ Integer result = (Integer)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ int intResult = nativeXPCOM_hashCode();
+ return Integer.valueOf(intResult);
+ }
+ public String toString() {
+ return "DOMImplementation.XPCOM_hashCode";
+ }
+ });
+ return result.intValue();
+
}
private native int nativeXPCOM_hashCode();
//since DOM2
public DocumentType createDocumentType(String qualifiedName, String publicID, String systemID) {
- return nativeCreateDocumentType(qualifiedName, publicID, systemID);
+ final String finalQualifiedName = qualifiedName;
+ final String finalPublicID = publicID;
+ final String finalSystemID = systemID;
+ DocumentType result = (DocumentType)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+
+ return nativeCreateDocumentType(finalQualifiedName, finalPublicID, finalSystemID);
+ }
+ public String toString() {
+ return "DOMImplementation.createDocumentType";
+ }
+ });
+ return result;
+
}
native DocumentType nativeCreateDocumentType(String qualifiedName, String publicID, String systemID);
public Document createDocument(String namespaceURI, String qualifiedName, DocumentType doctype) {
- return nativeCreateDocument(namespaceURI, qualifiedName, doctype);
+ final String finalNamespaceURI = namespaceURI;
+ final String finalQualifiedName = qualifiedName;
+ final DocumentType finalDoctype = doctype;
+ Document result = (Document)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeCreateDocument(finalNamespaceURI, finalQualifiedName, finalDoctype);
+ }
+ public String toString() {
+ return "DOMImplementation.createDocument";
+ }
+ });
+ return result;
+
}
native Document nativeCreateDocument(String namespaceURI, String qualifiedName, DocumentType doctype);
diff --git a/mozilla/java/dom/classes/org/mozilla/dom/DocumentImpl.java b/mozilla/java/dom/classes/org/mozilla/dom/DocumentImpl.java
index 78780fec4b6..cf5c87db4cb 100644
--- a/mozilla/java/dom/classes/org/mozilla/dom/DocumentImpl.java
+++ b/mozilla/java/dom/classes/org/mozilla/dom/DocumentImpl.java
@@ -39,90 +39,277 @@ import org.w3c.dom.events.DocumentEvent;
import org.w3c.dom.events.Event;
import org.w3c.dom.DOMException;
+import org.mozilla.util.ReturnRunnable;
+
public class DocumentImpl extends NodeImpl implements Document, DocumentEvent {
// instantiated from JNI only
private DocumentImpl() {}
public Attr createAttribute(String name) {
- return nativeCreateAttribute(name);
+ final String finalName = name;
+ Attr result = (Attr)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeCreateAttribute(finalName);
+ }
+ public String toString() {
+ return "Document.createAttribute";
+ }
+ });
+ return result;
+
}
native Attr nativeCreateAttribute(String name);
public CDATASection createCDATASection(String data) {
- return nativeCreateCDATASection(data);
+ final String finalData = data;
+ CDATASection result = (CDATASection)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeCreateCDATASection(finalData);
+ }
+ public String toString() {
+ return "Document.createCDATASection";
+ }
+ });
+ return result;
+
}
native CDATASection nativeCreateCDATASection(String data);
public Comment createComment(String data) {
- return nativeCreateComment(data);
+ final String finalData = data;
+ Comment result = (Comment)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeCreateComment(finalData);
+ }
+ public String toString() {
+ return "Document.createComment";
+ }
+ });
+ return result;
+
}
native Comment nativeCreateComment(String data);
public DocumentFragment createDocumentFragment() {
- return nativeCreateDocumentFragment();
+ DocumentFragment result = (DocumentFragment)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeCreateDocumentFragment();
+ }
+ public String toString() {
+ return "Document.createDocumentFragment";
+ }
+ });
+ return result;
}
native DocumentFragment nativeCreateDocumentFragment();
public Element createElement(String tagName) {
- return nativeCreateElement(tagName);
+ final String finalTagName = tagName;
+ Element result = (Element)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeCreateElement(finalTagName);
+ }
+ public String toString() {
+ return "Document.createElement";
+ }
+ });
+ return result;
+
}
native Element nativeCreateElement(String tagName);
public EntityReference createEntityReference(String name) {
- return nativeCreateEntityReference(name);
+ final String finalName = name;
+ EntityReference result = (EntityReference)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeCreateEntityReference(finalName);
+ }
+ public String toString() {
+ return "Document.createEntityReference";
+ }
+ });
+ return result;
+
}
native EntityReference nativeCreateEntityReference(String name);
public ProcessingInstruction createProcessingInstruction(String target, String data) {
- return nativeCreateProcessingInstruction(target, data);
+ final String finalTarget = target;
+ final String finalData = data;
+ ProcessingInstruction result = (ProcessingInstruction)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeCreateProcessingInstruction(finalTarget, finalData);
+ }
+ public String toString() {
+ return "Document.createProcessingInstruction";
+ }
+ });
+ return result;
+
}
native ProcessingInstruction nativeCreateProcessingInstruction(String target, String data);
+
public Text createTextNode(String data) {
- return nativeCreateTextNode(data);
+ final String finalData = data;
+ Text result = (Text)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeCreateTextNode(finalData);
+ }
+ public String toString() {
+ return "Document.createTextNode";
+ }
+ });
+ return result;
+
}
native Text nativeCreateTextNode(String data);
public DocumentType getDoctype() {
- return nativeGetDoctype();
+ DocumentType result = (DocumentType)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetDoctype();
+ }
+ public String toString() {
+ return "Document";
+ }
+ });
+ return result;
}
native DocumentType nativeGetDoctype();
public Element getDocumentElement() {
- return nativeGetDocumentElement();
+ Element result = (Element)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetDocumentElement();
+ }
+ public String toString() {
+ return "Document";
+ }
+ });
+ return result;
}
native Element nativeGetDocumentElement();
public NodeList getElementsByTagName(String tagName) {
- return nativeGetElementsByTagName(tagName);
+ final String finalTagName = tagName;
+ NodeList result = (NodeList)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetElementsByTagName(finalTagName);
+ }
+ public String toString() {
+ return "Document.getElementsByTagName";
+ }
+ });
+ return result;
+
}
native NodeList nativeGetElementsByTagName(String tagName);
public DOMImplementation getImplementation() {
- return nativeGetImplementation();
+ DOMImplementation result = (DOMImplementation)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetImplementation();
+ }
+ public String toString() {
+ return "Document";
+ }
+ });
+ return result;
}
native DOMImplementation nativeGetImplementation();
public Event createEvent(String type) {
- return nativeCreateEvent(type);
+ final String finalType = type;
+ Event result = (Event)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeCreateEvent(finalType);
+ }
+ public String toString() {
+ return "Document.createEvent";
+ }
+ });
+ return result;
+
}
native Event nativeCreateEvent(String type);
public NodeList getElementsByTagNameNS(String namespaceURI, String localName) {
- return nativeGetElementsByTagNameNS(namespaceURI, localName);
+ final String finalNamespaceURI = namespaceURI;
+ final String finalLocalName = localName;
+ NodeList result = (NodeList)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetElementsByTagNameNS(finalNamespaceURI, finalLocalName);
+ }
+ public String toString() {
+ return "Document.getElementsByTagNameNS";
+ }
+ });
+ return result;
+
}
native NodeList nativeGetElementsByTagNameNS(String namespaceURI, String localName);
+
public Element getElementById(String elementId) {
- return nativeGetElementById(elementId);
+ final String finalElementId = elementId;
+ Element result = (Element)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetElementById(finalElementId);
+ }
+ public String toString() {
+ return "Document.getElementById";
+ }
+ });
+ return result;
+
}
native Element nativeGetElementById(String elementId);
public String getDocumentURI() {
- return nativeGetDocumentURI();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetDocumentURI();
+ }
+ public String toString() {
+ return "Document.getDocumentURI";
+ }
+ });
+ return result;
}
native String nativeGetDocumentURI();
-
public Node importNode(Node importedNode, boolean deep) throws DOMException {
throw new UnsupportedOperationException();
}
diff --git a/mozilla/java/dom/classes/org/mozilla/dom/DocumentTypeImpl.java b/mozilla/java/dom/classes/org/mozilla/dom/DocumentTypeImpl.java
index e3a358952a0..02670503984 100644
--- a/mozilla/java/dom/classes/org/mozilla/dom/DocumentTypeImpl.java
+++ b/mozilla/java/dom/classes/org/mozilla/dom/DocumentTypeImpl.java
@@ -23,6 +23,8 @@ package org.mozilla.dom;
import org.w3c.dom.DocumentType;
import org.w3c.dom.NamedNodeMap;
+import org.mozilla.util.ReturnRunnable;
+
public class DocumentTypeImpl extends NodeImpl implements DocumentType {
@@ -30,34 +32,100 @@ public class DocumentTypeImpl extends NodeImpl implements DocumentType {
private DocumentTypeImpl() {}
public String getName() {
- return nativeGetName();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetName();
+ }
+ public String toString() {
+ return "DocumentType.getName";
+ }
+ });
+ return result;
+
}
native String nativeGetName();
public NamedNodeMap getEntities() {
- return nativeGetEntities();
+ NamedNodeMap result = (NamedNodeMap)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetEntities();
+ }
+ public String toString() {
+ return "DocumentType.getEntities";
+ }
+ });
+ return result;
+
}
native NamedNodeMap nativeGetEntities();
public NamedNodeMap getNotations() {
- return nativeGetNotations();
+ NamedNodeMap result = (NamedNodeMap)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetNotations();
+ }
+ public String toString() {
+ return "DocumentType.getNotations";
+ }
+ });
+ return result;
+
}
native NamedNodeMap nativeGetNotations();
//since DOM level 2
public String getPublicId() {
- return nativeGetPublicId();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetPublicId();
+ }
+ public String toString() {
+ return "DocumentType.getPublicId";
+ }
+ });
+ return result;
+
}
native String nativeGetPublicId();
public String getSystemId() {
- return nativeGetSystemId();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetSystemId();
+ }
+ public String toString() {
+ return "DocumentType.getSystemId";
+ }
+ });
+ return result;
+
}
native String nativeGetSystemId();
public String getInternalSubset() {
- return nativeGetInternalSubset();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetInternalSubset();
+ }
+ public String toString() {
+ return "DocumentType.getInternalSubset";
+ }
+ });
+ return result;
+
}
native String nativeGetInternalSubset();
diff --git a/mozilla/java/dom/classes/org/mozilla/dom/ElementImpl.java b/mozilla/java/dom/classes/org/mozilla/dom/ElementImpl.java
index 41d5004743f..447de9e971e 100644
--- a/mozilla/java/dom/classes/org/mozilla/dom/ElementImpl.java
+++ b/mozilla/java/dom/classes/org/mozilla/dom/ElementImpl.java
@@ -27,95 +27,307 @@ import org.w3c.dom.NodeList;
import org.w3c.dom.DOMException;
import org.w3c.dom.TypeInfo;
+import org.mozilla.util.ReturnRunnable;
+
+
public class ElementImpl extends NodeImpl implements Element {
// instantiated from JNI or Document.createElement()
private ElementImpl() {}
public String getAttribute(String name) {
- return nativeGetAttribute(name);
+ final String finalName = name;
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetAttribute(finalName);
+ }
+ public String toString() {
+ return "Element.getAttribute";
+ }
+ });
+ return result;
+
}
native String nativeGetAttribute(String name);
public Attr getAttributeNode(String name) {
- return nativeGetAttributeNode(name);
+ final String finalName = name;
+ Attr result = (Attr)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetAttributeNode(finalName);
+ }
+ public String toString() {
+ return "Element.getAttributeNode";
+ }
+ });
+ return result;
+
}
native Attr nativeGetAttributeNode(String name);
public NodeList getElementsByTagName(String name) {
- return nativeGetElementsByTagName(name);
+ final String finalName = name;
+ NodeList result = (NodeList)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetElementsByTagName(finalName);
+ }
+ public String toString() {
+ return "Element.getElementsByTagName";
+ }
+ });
+ return result;
+
}
native NodeList nativeGetElementsByTagName(String name);
public String getTagName() {
- return nativeGetTagName();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetTagName();
+ }
+ public String toString() {
+ return "Element.getTagName";
+ }
+ });
+ return result;
+
}
native String nativeGetTagName();
public void normalize() {
- nativeNormalize();
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeNormalize();
+ return null;
+ }
+ public String toString() {
+ return "Element.normalize";
+ }
+ });
+
}
native void nativeNormalize();
public void removeAttribute(String name) {
- nativeRemoveAttribute(name);
+ final String finalName = name;
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeRemoveAttribute(finalName);
+ return null;
+ }
+ public String toString() {
+ return "Element.removeAttribute";
+ }
+ });
+
+
}
native void nativeRemoveAttribute(String name);
public Attr removeAttributeNode(Attr oldAttr) {
- return nativeRemoveAttributeNode(oldAttr);
+ final Attr finalOldAttr = oldAttr;
+ Attr result = (Attr)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeRemoveAttributeNode(finalOldAttr);
+ }
+ public String toString() {
+ return "Element.removeAttributeNode";
+ }
+ });
+ return result;
+
}
native Attr nativeRemoveAttributeNode(Attr oldAttr);
public void setAttribute(String name, String value) {
- nativeSetAttribute(name, value);
+ final String finalName = name;
+ final String finalValue = value;
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeSetAttribute(finalName, finalValue);
+ return null;
+ }
+ public String toString() {
+ return "Element.setAttribute";
+ }
+ });
+
}
native void nativeSetAttribute(String name, String value);
public Attr setAttributeNode(Attr newAttr) {
- return nativeSetAttributeNode(newAttr);
+ final Attr finalNewAttr = newAttr;
+ Attr result = (Attr)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeSetAttributeNode(finalNewAttr);
+ }
+ public String toString() {
+ return "Element.setAttributeNode";
+ }
+ });
+ return result;
+
}
native Attr nativeSetAttributeNode(Attr newAttr);
//since DOM2
public String getAttributeNS(String namespaceURI, String localName) {
- return nativeGetAttributeNS(namespaceURI, localName);
+ final String finalNamespaceURI = namespaceURI;
+ final String finalLocalName = localName;
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetAttributeNS(finalNamespaceURI, finalLocalName);
+ }
+ public String toString() {
+ return "Element.getAttributeNS";
+ }
+ });
+ return result;
+
}
native String nativeGetAttributeNS(String namespaceURI, String localName);
public void setAttributeNS(String namespaceURI, String qualifiedName, String value) {
- nativeSetAttributeNS(namespaceURI, qualifiedName, value);
+ final String finalNamespaceURI = namespaceURI;
+ final String finalQualifiedName = qualifiedName;
+ final String finalValue = value;
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeSetAttributeNS(finalNamespaceURI, finalQualifiedName, finalValue);
+ return null;
+ }
+ public String toString() {
+ return "Element.setAttributeNS";
+ }
+ });
+
}
native void nativeSetAttributeNS(String namespaceURI, String qualifiedName, String value);
public void removeAttributeNS(String namespacURI, String localName) {
- nativeRemoveAttributeNS(namespacURI, localName);
+ final String finalNamespacURI = namespacURI;
+ final String finalLocalName = localName;
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeRemoveAttributeNS(finalNamespacURI, finalLocalName);
+ return null;
+ }
+ public String toString() {
+ return "Element.removeAttributeNS";
+ }
+ });
+
}
native void nativeRemoveAttributeNS(String namespacURI, String localName);
public Attr getAttributeNodeNS(String namespaceURI, String localName) {
- return nativeGetAttributeNodeNS(namespaceURI, localName);
+ final String finalNamespaceURI = namespaceURI;
+ final String finalLocalName = localName;
+ Attr result = (Attr)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetAttributeNodeNS(finalNamespaceURI, finalLocalName);
+ }
+ public String toString() {
+ return "Element.getAttributeNodeNS";
+ }
+ });
+ return result;
+
}
native Attr nativeGetAttributeNodeNS(String namespaceURI, String localName);
public Attr setAttributeNodeNS(Attr newAttr) {
- return nativeSetAttributeNodeNS(newAttr);
+ final Attr finalNewAttr = newAttr;
+ Attr result = (Attr)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeSetAttributeNodeNS(finalNewAttr);
+ }
+ public String toString() {
+ return "Element.setAttributeNodeNS";
+ }
+ });
+ return result;
+
}
native Attr nativeSetAttributeNodeNS(Attr newAttr);
public NodeList getElementsByTagNameNS(String namespaceURI, String localName) {
- return nativeGetElementsByTagNameNS(namespaceURI, localName);
+ final String finalNamespaceURI = namespaceURI;
+ final String finalLocalName = localName;
+ NodeList result = (NodeList)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetElementsByTagNameNS(finalNamespaceURI, finalLocalName);
+ }
+ public String toString() {
+ return "Element.getElementsByTagNameNS";
+ }
+ });
+ return result;
+
}
native NodeList nativeGetElementsByTagNameNS(String namespaceURI, String localName);
public boolean hasAttribute(String name) {
- return nativeHasAttribute(name);
+ final String finalName = name;
+ Boolean result = (Boolean)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ boolean booleanResult = nativeHasAttribute(finalName);
+ return booleanResult ? Boolean.TRUE : Boolean.FALSE;
+ }
+ public String toString() {
+ return "Element.hasAttribute";
+ }
+ });
+ return result;
+
}
native boolean nativeHasAttribute(String name);
public boolean hasAttributeNS(String namespaceURI, String localName) {
- return nativeHasAttributeNS(namespaceURI, localName);
+ final String finalNamespaceURI = namespaceURI;
+ final String finalLocalName = localName;
+ Boolean result = (Boolean)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ boolean booleanResult =
+ nativeHasAttributeNS(finalNamespaceURI, finalLocalName);
+ return booleanResult ? Boolean.TRUE : Boolean.FALSE;
+ }
+ public String toString() {
+ return "Element.hasAttributeNS";
+ }
+ });
+ return result;
+
}
native boolean nativeHasAttributeNS(String namespaceURI, String localName);
diff --git a/mozilla/java/dom/classes/org/mozilla/dom/EntityImpl.java b/mozilla/java/dom/classes/org/mozilla/dom/EntityImpl.java
index 892e95bf9d7..73ea25d5cb0 100644
--- a/mozilla/java/dom/classes/org/mozilla/dom/EntityImpl.java
+++ b/mozilla/java/dom/classes/org/mozilla/dom/EntityImpl.java
@@ -23,23 +23,58 @@ package org.mozilla.dom;
import org.w3c.dom.Entity;
+import org.mozilla.util.ReturnRunnable;
+
public class EntityImpl extends NodeImpl implements Entity {
// instantiated from JNI only
private EntityImpl() {}
public String getPublicId() {
- return nativeGetPublicId();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetPublicId();
+ }
+ public String toString() {
+ return "Entity.getPublicId";
+ }
+ });
+ return result;
+
}
native String nativeGetPublicId();
public String getSystemId() {
- return nativeGetSystemId();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetSystemId();
+ }
+ public String toString() {
+ return "Entity.getSystemId";
+ }
+ });
+ return result;
+
}
native String nativeGetSystemId();
public String getNotationName() {
- return nativeGetNotationName();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetNotationName();
+ }
+ public String toString() {
+ return "Entity.getNotationName";
+ }
+ });
+ return result;
+
}
native String nativeGetNotationName();
diff --git a/mozilla/java/dom/classes/org/mozilla/dom/NamedNodeMapImpl.java b/mozilla/java/dom/classes/org/mozilla/dom/NamedNodeMapImpl.java
index 8348c62e387..9f13013488e 100644
--- a/mozilla/java/dom/classes/org/mozilla/dom/NamedNodeMapImpl.java
+++ b/mozilla/java/dom/classes/org/mozilla/dom/NamedNodeMapImpl.java
@@ -25,6 +25,8 @@ import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.DOMException;
+import org.mozilla.util.ReturnRunnable;
+
public class NamedNodeMapImpl implements NamedNodeMap {
private long p_nsIDOMNamedNodeMap = 0;
@@ -32,32 +34,90 @@ public class NamedNodeMapImpl implements NamedNodeMap {
private NamedNodeMapImpl() {}
public int getLength() {
- return nativeGetLength();
+ Integer result = (Integer)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ int intResult = nativeGetLength();
+ return Integer.valueOf(intResult);
+ }
+ public String toString() {
+ return "NamedNodeMap.getLength";
+ }
+ });
+ return result.intValue();
+
}
native int nativeGetLength();
public Node getNamedItem(String name) {
- return nativeGetNamedItem(name);
+ final String finalName = name;
+ Node result = (Node)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetNamedItem(finalName);
+ }
+ public String toString() {
+ return "NamedNodeMap.getNamedItem";
+ }
+ });
+ return result;
+
}
native Node nativeGetNamedItem(String name);
public Node item(int index) {
- return nativeItem(index);
+ final int finalIndex = index;
+ Node result = (Node)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeItem(finalIndex);
+ }
+ public String toString() {
+ return "NamedNodeMap.item";
+ }
+ });
+ return result;
+
}
native Node nativeItem(int index);
public Node removeNamedItem(String name) {
- return nativeRemoveNamedItem(name);
+ final String finalName = name;
+ Node result = (Node)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeRemoveNamedItem(finalName);
+ }
+ public String toString() {
+ return "NamedNodeMap.removeNamedItem";
+ }
+ });
+ return result;
+
}
native Node nativeRemoveNamedItem(String name);
public Node setNamedItem(Node arg) {
- return nativeSetNamedItem(arg);
+ final Node finalArg = arg;
+ Node result = (Node)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeSetNamedItem(finalArg);
+ }
+ public String toString() {
+ return "NamedNodeMap.setNamedItem";
+ }
+ });
+ return result;
+
}
native Node nativeSetNamedItem(Node arg);
-
-
public Node getNamedItemNS(String namespaceURI, String localName) {
throw new UnsupportedOperationException();
}
diff --git a/mozilla/java/dom/classes/org/mozilla/dom/NodeImpl.java b/mozilla/java/dom/classes/org/mozilla/dom/NodeImpl.java
index 1dae37df2a8..8888e67d18b 100644
--- a/mozilla/java/dom/classes/org/mozilla/dom/NodeImpl.java
+++ b/mozilla/java/dom/classes/org/mozilla/dom/NodeImpl.java
@@ -33,6 +33,8 @@ import org.w3c.dom.events.EventListener;
import java.util.Vector;
import java.util.Hashtable;
+import org.mozilla.util.ReturnRunnable;
+
class NodeEventListener {
EventListener listener = null;
String type = null;
@@ -118,200 +120,566 @@ public class NodeImpl implements Node, EventTarget {
}
public boolean isSupported(String feature, String version) {
- return nativeIsSupported(feature, version);
+ final String finalFeature = feature;
+ final String finalVersion = version;
+ Boolean result = (Boolean)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ boolean booleanResult = nativeIsSupported(finalFeature, finalVersion);
+ return booleanResult ? Boolean.TRUE : Boolean.FALSE;
+ }
+ public String toString() {
+ return "Node.isSupported";
+ }
+ });
+ return result.booleanValue();
+
}
native boolean nativeIsSupported(String feature, String version);
+
public boolean hasAttributes() {
- return nativeHasAttributes();
+ Boolean result = (Boolean)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ boolean booleanResult = nativeHasAttributes();
+ return booleanResult ? Boolean.TRUE : Boolean.FALSE;
+ }
+ public String toString() {
+ return "Node.hasAttributes";
+ }
+ });
+ return result.booleanValue();
+
}
native boolean nativeHasAttributes();
public Node appendChild(Node newChild) throws DOMException {
- return nativeAppendChild(newChild);
+ final Node finalNewChild = newChild;
+ Node result = (Node)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeAppendChild(finalNewChild);
+ }
+ public String toString() {
+ return "Node.appendChild";
+ }
+ });
+ return result;
+
}
native Node nativeAppendChild(Node newChild) throws DOMException;
public Node cloneNode(boolean deep) {
- return nativeCloneNode(deep);
+ final boolean finalDeep = deep;
+ Node result = (Node)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeCloneNode(finalDeep);
+ }
+ public String toString() {
+ return "Node.cloneNode";
+ }
+ });
+ return result;
+
}
native Node nativeCloneNode(boolean deep);
public NamedNodeMap getAttributes() {
- return nativeGetAttributes();
+ NamedNodeMap result = (NamedNodeMap)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetAttributes();
+ }
+ public String toString() {
+ return "Node.getAttributes";
+ }
+ });
+ return result;
+
}
native NamedNodeMap nativeGetAttributes();
public NodeList getChildNodes() {
- return nativeGetChildNodes();
+ NodeList result = (NodeList)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetChildNodes();
+ }
+ public String toString() {
+ return "Node.getChildNodes";
+ }
+ });
+ return result;
+
}
native NodeList nativeGetChildNodes();
public Node getFirstChild() {
- return nativeGetFirstChild();
+ Node result = (Node)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetFirstChild();
+ }
+ public String toString() {
+ return "Node.getFirstChild";
+ }
+ });
+ return result;
+
}
native Node nativeGetFirstChild();
public Node getLastChild() {
- return nativeGetLastChild();
+ Node result = (Node)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetLastChild();
+ }
+ public String toString() {
+ return "Node.getLastChild";
+ }
+ });
+ return result;
+
}
native Node nativeGetLastChild();
public Node getNextSibling() {
- return nativeGetNextSibling();
+ Node result = (Node)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetNextSibling();
+ }
+ public String toString() {
+ return "Node.getNextSibling";
+ }
+ });
+ return result;
+
}
native Node nativeGetNextSibling();
public String getNodeName() {
- return nativeGetNodeName();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetNodeName();
+ }
+ public String toString() {
+ return "Node.getNodeName";
+ }
+ });
+ return result;
+
}
native String nativeGetNodeName();
public short getNodeType() {
- return nativeGetNodeType();
+ Short result = (Short)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ short shortResult = nativeGetNodeType();
+ return Short.valueOf(shortResult);
+ }
+ public String toString() {
+ return "Node.getNodeType";
+ }
+ });
+ return result.shortValue();
+
}
native short nativeGetNodeType();
public String getNodeValue() {
- return nativeGetNodeValue();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetNodeValue();
+ }
+ public String toString() {
+ return "Node.getNodeValue";
+ }
+ });
+ return result;
+
}
native String nativeGetNodeValue();
public Document getOwnerDocument() {
- return nativeGetOwnerDocument();
+ Document result = (Document)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetOwnerDocument();
+ }
+ public String toString() {
+ return "Node.getOwnerDocument";
+ }
+ });
+ return result;
+
}
native Document nativeGetOwnerDocument();
public Node getParentNode() {
- return nativeGetParentNode();
+ Node result = (Node)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetParentNode();
+ }
+ public String toString() {
+ return "Node.getParentNode";
+ }
+ });
+ return result;
+
}
native Node nativeGetParentNode();
public Node getPreviousSibling() {
- return nativeGetPreviousSibling();
+ Node result = (Node)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetPreviousSibling();
+ }
+ public String toString() {
+ return "Node.getPreviousSibling";
+ }
+ });
+ return result;
+
}
native Node nativeGetPreviousSibling();
public boolean hasChildNodes() {
- return nativeHasChildNodes();
+ Boolean result = (Boolean)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ boolean booleanResult = nativeHasChildNodes();
+ return booleanResult ? Boolean.TRUE : Boolean.FALSE;
+ }
+ public String toString() {
+ return "Node.hasChildNodes";
+ }
+ });
+ return result.booleanValue();
+
}
native boolean nativeHasChildNodes();
public Node insertBefore(Node newChild, Node refChild) throws DOMException {
- return nativeInsertBefore(newChild, refChild);
+ final Node finalNewChild = newChild;
+ final Node finalRefChild = refChild;
+ Node result = (Node)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeInsertBefore(finalNewChild, finalRefChild);
+ }
+ public String toString() {
+ return "Node.insertBefore";
+ }
+ });
+ return result;
+
}
native Node nativeInsertBefore(Node newChild, Node refChild) throws DOMException;
+
public Node removeChild(Node oldChild) throws DOMException {
- return nativeRemoveChild(oldChild);
+ final Node finalOldChild = oldChild;
+ Node result = (Node)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeRemoveChild(finalOldChild);
+ }
+ public String toString() {
+ return "Node.removeChild";
+ }
+ });
+ return result;
+
}
native Node nativeRemoveChild(Node oldChild) throws DOMException;
public Node replaceChild(Node newChild, Node oldChild) throws DOMException {
- return nativeReplaceChild(newChild, oldChild);
+ final Node finalNewChild = newChild;
+ final Node finalOldChild = oldChild;
+ Node result = (Node)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeReplaceChild(finalNewChild, finalOldChild);
+ }
+ public String toString() {
+ return "Node.replaceChild";
+ }
+ });
+ return result;
+
}
native Node nativeReplaceChild(Node newChild, Node oldChild) throws DOMException;
+
public void setNodeValue(String nodeValue) {
- nativeSetNodeValue(nodeValue);
+ final String finalNodeValue = nodeValue;
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeSetNodeValue(finalNodeValue);
+ return null;
+ }
+ public String toString() {
+ return "Node.setNodeValue";
+ }
+ });
+
+
}
native void nativeSetNodeValue(String nodeValue);
public String getTextContent() throws DOMException {
- return nativeGetTextContent();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetTextContent();
+ }
+ public String toString() {
+ return "Node.getTextContent";
+ }
+ });
+ return result;
+
}
native String nativeGetTextContent() throws DOMException;
protected void finalize() {
- nativeFinalize();
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeFinalize();
+ return null;
+ }
+ public String toString() {
+ return "Node.finalize";
+ }
+ });
+
}
protected native void nativeFinalize();
private boolean XPCOM_equals(Object o) {
- return nativeXPCOM_equals(o);
+ final Object finalO = o;
+ Boolean bool = (Boolean)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ boolean booleanResult = nativeXPCOM_equals(finalO);
+ return booleanResult ? Boolean.TRUE : Boolean.FALSE;
+ }
+ public String toString() {
+ return "Node.XPCOM_equals";
+ }
+ });
+ return bool.booleanValue();
+
}
native boolean nativeXPCOM_equals(Object o);
private int XPCOM_hashCode() {
- return nativeXPCOM_hashCode();
+ Integer result = (Integer)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ int intResult = nativeXPCOM_hashCode();
+ return Integer.valueOf(intResult);
+ }
+ public String toString() {
+ return "Node.XPCOM_hashCode";
+ }
+ });
+ return result.intValue();
+
}
private native int nativeXPCOM_hashCode();
//since DOM level 2
public boolean supports(String feature, String version) {
- return nativeSupports(feature, version);
+ final String finalFeature = feature;
+ final String finalVersion = version;
+ Boolean result = (Boolean)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ boolean booleanResult =
+ nativeSupports(finalFeature, finalVersion);
+ return booleanResult ? Boolean.TRUE : Boolean.FALSE;
+ }
+ public String toString() {
+ return "Node.supports";
+ }
+ });
+ return result.booleanValue();
+
}
native boolean nativeSupports(String feature, String version);
+
public String getNamespaceURI() {
- return nativeGetNamespaceURI();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetNamespaceURI();
+ }
+ public String toString() {
+ return "Node.getNamespaceURI";
+ }
+ });
+ return result;
+
}
native String nativeGetNamespaceURI();
public String getPrefix() {
- return nativeGetPrefix();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetPrefix();
+ }
+ public String toString() {
+ return "Node.getPrefix";
+ }
+ });
+ return result;
+
}
native String nativeGetPrefix();
public void setPrefix(String prefix) {
- nativeSetPrefix(prefix);
+ final String finalPrefix = prefix;
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeSetPrefix(finalPrefix);
+ return null;
+ }
+ public String toString() {
+ return "Node.setPrefix";
+ }
+ });
}
native void nativeSetPrefix(String prefix);
public String getLocalName() {
- return nativeGetLocalName();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetLocalName();
+ }
+ public String toString() {
+ return "Node.getLocalName";
+ }
+ });
+ return result;
+
}
native String nativeGetLocalName();
- public void addEventListener(String type,
- EventListener listener,
- boolean useCapture) {
+ public void addEventListener(String type, EventListener listener, boolean useCapture) {
+ final String finalType = type;
+ final EventListener finalListener = listener;
+ final boolean finalUseCapture = useCapture;
- long nativeListener = addNativeEventListener(type, listener, useCapture);
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ long nativeListener =
+ addNativeEventListener(finalType, finalListener,
+ finalUseCapture);
+ Long lnode = new Long(p_nsIDOMNode);
+
+ Vector listeners;
+
+ //in conjunction with internal synchronization of Hashtable and Vector
+ // this should be enough for safe concurrent access
+ synchronized (javaDOMlisteners) {
+ listeners = (Vector) javaDOMlisteners.get(lnode);
+
+ if (listeners == null) {
+ listeners = new Vector();
+ javaDOMlisteners.put(lnode, listeners);
+ }
+ }
+
+ if (nativeListener != 0) {
+
+ NodeEventListener l = new NodeEventListener(finalType,
+ finalListener,
+ finalUseCapture,
+ nativeListener);
+ listeners.add(l);
+ }
+ return null;
+ }
+ public String toString() {
+ return "Node.addEventListener";
+ }
+ });
- Long lnode = new Long(p_nsIDOMNode);
-
- Vector listeners;
-
- //in conjunction with internal synchronization of Hashtable and Vector
- // this should be enough for safe concurrent access
- synchronized (javaDOMlisteners) {
- listeners = (Vector) javaDOMlisteners.get(lnode);
-
- if (listeners == null) {
- listeners = new Vector();
- javaDOMlisteners.put(lnode, listeners);
- }
- }
-
- if (nativeListener != 0) {
-
- NodeEventListener l = new NodeEventListener(type,
- listener,
- useCapture,
- nativeListener);
- listeners.add(l);
- }
}
- public void removeEventListener(String type,
- EventListener listener,
- boolean useCapture) {
+ public void removeEventListener(String type, EventListener listener, boolean useCapture) {
+ final String finalType = type;
+ final EventListener finalListener = listener;
+ final boolean finalUseCapture = useCapture;
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ Vector listeners = (Vector) javaDOMlisteners.get(new Long(p_nsIDOMNode));
+
+ if (listeners == null)
+ return null;
+
+ NodeEventListener l = new NodeEventListener(finalType,
+ finalListener,
+ finalUseCapture, 0);
- Vector listeners = (Vector) javaDOMlisteners.get(new Long(p_nsIDOMNode));
+ int idx = listeners.indexOf(l);
+
+ //if trying to remove non-existing listener then return
+ if (idx == -1)
+ return null;
- if (listeners == null)
- return;
+ l = (NodeEventListener) listeners.remove(idx);
+
+ removeNativeEventListener(finalType, l.nativeListener,
+ finalUseCapture);
+ return null;
+ }
+ public String toString() {
+ return "Node.removeEventListener";
+ }
+ });
- NodeEventListener l = new NodeEventListener(type,
- listener, useCapture, 0);
-
- int idx = listeners.indexOf(l);
-
- //if trying to remove non-existing listener then return
- if (idx == -1)
- return;
-
- l = (NodeEventListener) listeners.remove(idx);
-
- removeNativeEventListener(type, l.nativeListener, useCapture);
}
public boolean dispatchEvent(Event evt) throws DOMException {
@@ -319,12 +687,45 @@ public class NodeImpl implements Node, EventTarget {
}
private long addNativeEventListener(String type, EventListener listener, boolean useCapture) {
- return nativeAddNativeEventListener(type, listener, useCapture);
+ final String finalType = type;
+ final EventListener finalListener = listener;
+ final boolean finalUseCapture = useCapture;
+ Long result = (Long)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ long longResult =
+ nativeAddNativeEventListener(finalType,
+ finalListener,
+ finalUseCapture);
+ return Long.valueOf(longResult);
+ }
+ public String toString() {
+ return "Node.addNativeEventListener";
+ }
+ });
+ return result.longValue();
+
}
private native long nativeAddNativeEventListener(String type, EventListener listener, boolean useCapture);
private void removeNativeEventListener(String type, long nativeListener, boolean useCapture) {
- nativeRemoveNativeEventListener(type, nativeListener, useCapture);
+ final String finalType = type;
+ final long finalNativeListener = nativeListener;
+ final boolean finalUseCapture = useCapture;
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeRemoveNativeEventListener(finalType,
+ finalNativeListener,
+ finalUseCapture);
+ return null;
+ }
+ public String toString() {
+ return "Node.removeNativeEventListener";
+ }
+ });
+
}
private native void nativeRemoveNativeEventListener(String type, long nativeListener, boolean useCapture);
diff --git a/mozilla/java/dom/classes/org/mozilla/dom/NodeListImpl.java b/mozilla/java/dom/classes/org/mozilla/dom/NodeListImpl.java
index 3dc62226649..157c4b60564 100644
--- a/mozilla/java/dom/classes/org/mozilla/dom/NodeListImpl.java
+++ b/mozilla/java/dom/classes/org/mozilla/dom/NodeListImpl.java
@@ -24,6 +24,9 @@ package org.mozilla.dom;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
+import org.mozilla.util.ReturnRunnable;
+
+
public class NodeListImpl implements NodeList {
private long p_nsIDOMNodeList = 0;
@@ -43,27 +46,73 @@ public class NodeListImpl implements NodeList {
}
public int getLength() {
- return nativeGetLength();
+ Integer result = (Integer)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ int intResult = nativeGetLength();
+ return Integer.valueOf(intResult);
+ }
+ public String toString() {
+ return "NodeList.getLength";
+ }
+ });
+ return result;
+
}
native int nativeGetLength();
public Node item(int index) {
- return nativeItem(index);
+ final int finalIndex = index;
+ Node result = (Node)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeItem(finalIndex);
+ }
+ public String toString() {
+ return "NodeList.item";
+ }
+ });
+ return result;
+
}
native Node nativeItem(int index);
- protected void finalize() {
- nativeFinalize();
- }
protected native void nativeFinalize();
private boolean XPCOM_equals(Object o) {
- return nativeXPCOM_equals(o);
+ final Object finalO = o;
+ Boolean bool = (Boolean)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ boolean booleanResult = nativeXPCOM_equals(finalO);
+ return booleanResult ? Boolean.TRUE : Boolean.FALSE;
+ }
+ public String toString() {
+ return "NodeList.XPCOM_equals";
+ }
+ });
+ return bool.booleanValue();
+
}
native boolean nativeXPCOM_equals(Object o);
private int XPCOM_hashCode() {
- return nativeXPCOM_hashCode();
+ Integer result = (Integer)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ int intResult = nativeXPCOM_hashCode();
+ return Integer.valueOf(intResult);
+ }
+ public String toString() {
+ return "NodeList.XPCOM_hashCode";
+ }
+ });
+ return result.intValue();
+
}
private native int nativeXPCOM_hashCode();
}
diff --git a/mozilla/java/dom/classes/org/mozilla/dom/NotationImpl.java b/mozilla/java/dom/classes/org/mozilla/dom/NotationImpl.java
index d90f67be88a..f90bea5a3bd 100644
--- a/mozilla/java/dom/classes/org/mozilla/dom/NotationImpl.java
+++ b/mozilla/java/dom/classes/org/mozilla/dom/NotationImpl.java
@@ -23,18 +23,43 @@ package org.mozilla.dom;
import org.w3c.dom.Notation;
+import org.mozilla.util.ReturnRunnable;
+
+
public class NotationImpl extends NodeImpl implements Notation {
// instantiated from JNI only
private NotationImpl() {}
public String getPublicId() {
- return nativeGetPublicId();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetPublicId();
+ }
+ public String toString() {
+ return "Notation.getPublicId";
+ }
+ });
+ return result;
+
}
native String nativeGetPublicId();
public String getSystemId() {
- return nativeGetSystemId();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetSystemId();
+ }
+ public String toString() {
+ return "Notation.getSystemId";
+ }
+ });
+ return result;
+
}
native String nativeGetSystemId();
diff --git a/mozilla/java/dom/classes/org/mozilla/dom/ProcessingInstructionImpl.java b/mozilla/java/dom/classes/org/mozilla/dom/ProcessingInstructionImpl.java
index 62b43515d9a..784184d6a9a 100644
--- a/mozilla/java/dom/classes/org/mozilla/dom/ProcessingInstructionImpl.java
+++ b/mozilla/java/dom/classes/org/mozilla/dom/ProcessingInstructionImpl.java
@@ -23,23 +23,58 @@ package org.mozilla.dom;
import org.w3c.dom.ProcessingInstruction;
+import org.mozilla.util.ReturnRunnable;
+
public class ProcessingInstructionImpl extends NodeImpl implements ProcessingInstruction {
// instantiated from JNI or Document.createProcessingInstruction()
private ProcessingInstructionImpl() {}
public String getData() {
- return nativeGetData();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetData();
+ }
+ public String toString() {
+ return "ProcessingInstruction.getData";
+ }
+ });
+ return result;
+
}
native String nativeGetData();
public String getTarget() {
- return nativeGetTarget();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetTarget();
+ }
+ public String toString() {
+ return "ProcessingInstruction.getTarget";
+ }
+ });
+ return result;
+
}
native String nativeGetTarget();
public void setData(String data) {
- nativeSetData(data);
+ final String finalData = data;
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeSetData(finalData);
+ return null;
+ }
+ public String toString() {
+ return "ProcessingInstruction.setData";
+ }
+ });
+
}
native void nativeSetData(String data);
diff --git a/mozilla/java/dom/classes/org/mozilla/dom/events/EventImpl.java b/mozilla/java/dom/classes/org/mozilla/dom/events/EventImpl.java
index 9d53c507243..fd905f30fa2 100644
--- a/mozilla/java/dom/classes/org/mozilla/dom/events/EventImpl.java
+++ b/mozilla/java/dom/classes/org/mozilla/dom/events/EventImpl.java
@@ -24,6 +24,9 @@ package org.mozilla.dom.events;
import org.w3c.dom.Node;
import org.w3c.dom.events.Event;
import org.w3c.dom.events.EventTarget;
+import org.mozilla.util.ReturnRunnable;
+import org.mozilla.dom.DOMAccessor;
+
/**
* The Event interface is used to provide contextual information
@@ -55,7 +58,18 @@ public class EventImpl implements Event {
* property.
*/
public String getType() {
- return nativeGetType();
+ String result = (String)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetType();
+ }
+ public String toString() {
+ return "Event.getType";
+ }
+ });
+ return result;
+
}
native String nativeGetType();
@@ -65,7 +79,18 @@ public class EventImpl implements Event {
* to which the event was originally dispatched.
*/
public EventTarget getTarget() {
- return nativeGetTarget();
+ EventTarget result = (EventTarget)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetTarget();
+ }
+ public String toString() {
+ return "Event.getTarget";
+ }
+ });
+ return result;
+
}
native EventTarget nativeGetTarget();
@@ -76,7 +101,18 @@ public class EventImpl implements Event {
* is particularly useful during capturing and bubbling.
*/
public EventTarget getCurrentTarget() {
- return nativeGetCurrentTarget();
+ EventTarget result = (EventTarget)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetCurrentTarget();
+ }
+ public String toString() {
+ return "Event.getCurrentTarget";
+ }
+ });
+ return result;
+
}
native EventTarget nativeGetCurrentTarget();
@@ -86,7 +122,19 @@ public class EventImpl implements Event {
* is currently being evaluated.
*/
public short getEventPhase() {
- return nativeGetEventPhase();
+ Short result = (Short)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ short shortValue = nativeGetEventPhase();
+ return Short.valueOf(shortValue);
+ }
+ public String toString() {
+ return "Event.getEventPhase";
+ }
+ });
+ return result.shortValue();
+
}
native short nativeGetEventPhase();
diff --git a/mozilla/java/dom/classes/org/mozilla/dom/events/MouseEventImpl.java b/mozilla/java/dom/classes/org/mozilla/dom/events/MouseEventImpl.java
index 9042636fc0f..54c6ba9ace0 100644
--- a/mozilla/java/dom/classes/org/mozilla/dom/events/MouseEventImpl.java
+++ b/mozilla/java/dom/classes/org/mozilla/dom/events/MouseEventImpl.java
@@ -26,6 +26,9 @@ import org.w3c.dom.views.AbstractView;
import org.w3c.dom.events.MouseEvent;
import org.w3c.dom.events.EventTarget;
+import org.mozilla.util.ReturnRunnable;
+import org.mozilla.dom.DOMAccessor;
+
/**
* The MouseEvent interface provides specific contextual
* information associated with Mouse events.
@@ -59,7 +62,19 @@ public class MouseEventImpl extends UIEventImpl implements MouseEvent {
* event occurred in relative to the origin of the screen coordinate system.
*/
public int getScreenX() {
- return nativeGetScreenX();
+ Integer result = (Integer)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ int intResult = nativeGetScreenX();
+ return Integer.valueOf(intResult);
+ }
+ public String toString() {
+ return "MouseEvent.getScreenX";
+ }
+ });
+ return result.intValue();
+
}
native int nativeGetScreenX();
@@ -69,7 +84,19 @@ public class MouseEventImpl extends UIEventImpl implements MouseEvent {
* occurred relative to the origin of the screen coordinate system.
*/
public int getScreenY() {
- return nativeGetScreenY();
+ Integer result = (Integer)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ int intResult = nativeGetScreenY();
+ return Integer.valueOf(intResult);
+ }
+ public String toString() {
+ return "MouseEvent.getScreenY";
+ }
+ });
+ return result.intValue();
+
}
native int nativeGetScreenY();
@@ -79,7 +106,19 @@ public class MouseEventImpl extends UIEventImpl implements MouseEvent {
* event occurred relative to the DOM implementation's client area.
*/
public int getClientX() {
- return nativeGetClientX();
+ Integer result = (Integer)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ int intResult = nativeGetClientX();
+ return Integer.valueOf(intResult);
+ }
+ public String toString() {
+ return "MouseEvent.getClientX";
+ }
+ });
+ return result.intValue();
+
}
native int nativeGetClientX();
@@ -89,7 +128,19 @@ public class MouseEventImpl extends UIEventImpl implements MouseEvent {
* occurred relative to the DOM implementation's client area.
*/
public int getClientY() {
- return nativeGetClientY();
+ Integer result = (Integer)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ int intResult = nativeGetClientY();
+ return Integer.valueOf(intResult);
+ }
+ public String toString() {
+ return "MouseEvent.getClientY";
+ }
+ });
+ return result.intValue();
+
}
native int nativeGetClientY();
@@ -99,7 +150,19 @@ public class MouseEventImpl extends UIEventImpl implements MouseEvent {
* during the firing of the event.
*/
public boolean getCtrlKey() {
- return nativeGetCtrlKey();
+ Boolean result = (Boolean)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ boolean booleanResult = nativeGetCtrlKey();
+ return booleanResult ? Boolean.TRUE : Boolean.FALSE;
+ }
+ public String toString() {
+ return "MouseEvent.getCtrlKey";
+ }
+ });
+ return result.booleanValue();
+
}
native boolean nativeGetCtrlKey();
@@ -109,7 +172,19 @@ public class MouseEventImpl extends UIEventImpl implements MouseEvent {
* during the firing of the event.
*/
public boolean getShiftKey() {
- return nativeGetShiftKey();
+ Boolean result = (Boolean)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ boolean booleanResult = nativeGetShiftKey();
+ return booleanResult ? Boolean.TRUE : Boolean.FALSE;
+ }
+ public String toString() {
+ return "MouseEvent.getShiftKey";
+ }
+ });
+ return result.booleanValue();
+
}
native boolean nativeGetShiftKey();
@@ -120,7 +195,19 @@ public class MouseEventImpl extends UIEventImpl implements MouseEvent {
* alternative key name.
*/
public boolean getAltKey() {
- return nativeGetAltKey();
+ Boolean result = (Boolean)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ boolean booleanResult = nativeGetAltKey();
+ return booleanResult ? Boolean.TRUE : Boolean.FALSE;
+ }
+ public String toString() {
+ return "MouseEvent.getAltKey";
+ }
+ });
+ return result.booleanValue();
+
}
native boolean nativeGetAltKey();
@@ -131,7 +218,19 @@ public class MouseEventImpl extends UIEventImpl implements MouseEvent {
* an alternative key name.
*/
public boolean getMetaKey() {
- return nativeGetMetaKey();
+ Boolean result = (Boolean)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ boolean booleanResult = nativeGetMetaKey();
+ return booleanResult ? Boolean.TRUE : Boolean.FALSE;
+ }
+ public String toString() {
+ return "MouseEvent.getMetaKey";
+ }
+ });
+ return result.booleanValue();
+
}
native boolean nativeGetMetaKey();
@@ -142,7 +241,19 @@ public class MouseEventImpl extends UIEventImpl implements MouseEvent {
* changed state.
*/
public short getButton() {
- return nativeGetButton();
+ Short result = (Short)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ short shortResult = nativeGetButton();
+ return Short.valueOf(shortResult);
+ }
+ public String toString() {
+ return "MouseEvent.getButton";
+ }
+ });
+ return result.shortValue();
+
}
native short nativeGetButton();
@@ -152,7 +263,18 @@ public class MouseEventImpl extends UIEventImpl implements MouseEvent {
* a UI event.
*/
public EventTarget getRelatedTarget() {
- return nativeGetRelatedTarget();
+ EventTarget result = (EventTarget)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetRelatedTarget();
+ }
+ public String toString() {
+ return "MouseEvent.getRelatedTarget";
+ }
+ });
+ return result;
+
}
native EventTarget nativeGetRelatedTarget();
@@ -196,10 +318,46 @@ public class MouseEventImpl extends UIEventImpl implements MouseEvent {
boolean metaKeyArg,
short buttonArg,
EventTarget relatedTargetArg) {
- nativeInitMouseEvent(typeArg, canBubbleArg, cancelableArg, viewArg,
- detailArg, screenXArg, screenYArg, clientXArg,
- clientYArg, ctrlKeyArg, altKeyArg, shiftKeyArg,
- metaKeyArg, buttonArg, relatedTargetArg);
+ final String finalTypeArg = typeArg;
+ final boolean finalCanBubbleArg = canBubbleArg;
+ final boolean finalCancelableArg = cancelableArg;
+ final AbstractView finalViewArg = viewArg;
+ final int finalDetailArg = detailArg;
+ final int finalScreenXArg = screenXArg;
+ final int finalScreenYArg = screenYArg;
+ final int finalClientXArg = clientXArg;
+ final int finalClientYArg = clientYArg;
+ final boolean finalCtrlKeyArg = ctrlKeyArg;
+ final boolean finalAltKeyArg = altKeyArg;
+ final boolean finalShiftKeyArg = shiftKeyArg;
+ final boolean finalMetaKeyArg = metaKeyArg;
+ final short finalButtonArg = buttonArg;
+ final EventTarget finalRelatedTargetArg = relatedTargetArg;
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeInitMouseEvent(finalTypeArg,
+ finalCanBubbleArg,
+ finalCancelableArg,
+ finalViewArg,
+ finalDetailArg,
+ finalScreenXArg,
+ finalScreenYArg,
+ finalClientXArg,
+ finalClientYArg,
+ finalCtrlKeyArg,
+ finalAltKeyArg,
+ finalShiftKeyArg,
+ finalMetaKeyArg,
+ finalButtonArg,
+ finalRelatedTargetArg);
+ return null;
+ }
+ public String toString() {
+ return "MouseEvent.initMouseEvent";
+ }
+ });
+
}
native void nativeInitMouseEvent(String typeArg,
boolean canBubbleArg,
diff --git a/mozilla/java/dom/classes/org/mozilla/dom/events/UIEventImpl.java b/mozilla/java/dom/classes/org/mozilla/dom/events/UIEventImpl.java
index c19efcbadf1..37931351a77 100644
--- a/mozilla/java/dom/classes/org/mozilla/dom/events/UIEventImpl.java
+++ b/mozilla/java/dom/classes/org/mozilla/dom/events/UIEventImpl.java
@@ -25,6 +25,10 @@ import org.w3c.dom.events.UIEvent;
import org.w3c.dom.views.AbstractView;
import org.mozilla.dom.events.EventImpl;
+import org.mozilla.util.ReturnRunnable;
+import org.mozilla.dom.DOMAccessor;
+
+
/**
* The UIEvent interface provides specific contextual
* information associated with User Interface events.
@@ -48,7 +52,18 @@ public class UIEventImpl extends EventImpl implements UIEvent {
* from which the event was generated.
*/
public AbstractView getView() {
- return nativeGetView();
+ AbstractView result = (AbstractView)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ return nativeGetView();
+ }
+ public String toString() {
+ return "UIEvent.getView";
+ }
+ });
+ return result;
+
}
public native AbstractView nativeGetView();
@@ -58,7 +73,19 @@ public class UIEventImpl extends EventImpl implements UIEvent {
* on the type of event.
*/
public int getDetail() {
- return nativeGetDetail();
+ Integer result = (Integer)
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ int intResult = nativeGetDetail();
+ return Integer.valueOf(intResult);
+ }
+ public String toString() {
+ return "UIEvent.getDetail";
+ }
+ });
+ return result.intValue();
+
}
public native int nativeGetDetail();
@@ -78,8 +105,26 @@ public class UIEventImpl extends EventImpl implements UIEvent {
boolean cancelableArg,
AbstractView viewArg,
int detailArg) {
- nativeInitUIEvent(typeArg, canBubbleArg, cancelableArg, viewArg,
- detailArg);
+ final String finalTypeArg = typeArg;
+ final boolean finalCanBubbleArg = canBubbleArg;
+ final boolean finalCancelableArg = cancelableArg;
+ final AbstractView finalViewArg = viewArg;
+ final int finalDetailArg = detailArg;
+ DOMAccessor.getRunner().
+ pushBlockingReturnRunnable(new ReturnRunnable() {
+ public Object run() {
+ nativeInitUIEvent(finalTypeArg,
+ finalCanBubbleArg,
+ finalCancelableArg,
+ finalViewArg,
+ finalDetailArg);
+ return null;
+ }
+ public String toString() {
+ return "UIEvent.initUIEvent";
+ }
+ });
+
}
native void nativeInitUIEvent(String typeArg,
boolean canBubbleArg,
diff --git a/mozilla/java/dom/jni/org_mozilla_dom_DocumentImpl.cpp b/mozilla/java/dom/jni/org_mozilla_dom_DocumentImpl.cpp
index a2de3f82b89..d12bc2f4314 100644
--- a/mozilla/java/dom/jni/org_mozilla_dom_DocumentImpl.cpp
+++ b/mozilla/java/dom/jni/org_mozilla_dom_DocumentImpl.cpp
@@ -753,7 +753,8 @@ JNIEXPORT jobject JNICALL Java_org_mozilla_dom_DocumentImpl_nativeGetElementById
if (NS_FAILED(rv) || !element) {
JavaDOMGlobals::ThrowException(env,
- "Document.getElementById: failed", rv);
+ "Document.getElementById: failed", rv,
+ JavaDOMGlobals::EXCEPTION_DOM);
return NULL;
}
diff --git a/mozilla/java/logging.properties b/mozilla/java/logging.properties
index 9289c5a18af..f363ef3f51f 100644
--- a/mozilla/java/logging.properties
+++ b/mozilla/java/logging.properties
@@ -1,8 +1,7 @@
handlers= java.util.logging.FileHandler
java.util.logging.FileHandler.pattern = %h/moz-java-log.xml
-java.util.logging.FileHandler.limit = 50000
-java.util.logging.FileHandler.append = true
+java.util.logging.FileHandler.append = false
java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter
org.mozilla.webclient.level=INFO
diff --git a/mozilla/java/webclient/build-tests.xml b/mozilla/java/webclient/build-tests.xml
index 384d638024e..bb842649574 100644
--- a/mozilla/java/webclient/build-tests.xml
+++ b/mozilla/java/webclient/build-tests.xml
@@ -82,6 +82,9 @@
This is a singleton class. All native events pass thru this class - * by virtue of the {@link #pushRunnable} or {@link pushBlockingWCRunnable} + * by virtue of the {@link #pushRunnable} or {@link pushBlockingreturnRunnable} * methods.
*/ @@ -65,7 +67,7 @@ public class NativeEventThread extends Thread implements RunnableRunner { private WrapperFactory wrapperFactory; private int nativeWrapperFactory; - private Queue