Trying to figure out why DOM events don't work from java webclient.
I'm trying to add a dom listener on a hyperlink dom element. The
listener add goes fine, but I never see the event, even though
listeners
added by another part of the system do see it.
What is the cardinality of nsEventListenerManager? Is it a singleton?
1. From java, we add a dom listener with this:
Java_org_mozilla_dom_NodeImpl_addNativeEventListener()
which comes to a call to:
nsVoidArray* listeners = GetListenersByType(aType, aKey, PR_TRUE);
With this call stack:
nsEventListenerManager::AddEventListener() line 644
nsEventListenerManager::AddEventListenerByType() line 987
nsEventListenerManager::AddEventListener() line 1768
nsDOMEventRTTearoff::AddEventListener() line 648 + 35 bytes
Java_org_mozilla_dom_NodeImpl_addNativeEventListener() line 1090 + 24
bytes
nsEventListenerManager.this is 0xcbc54a8
aType is eEventArrayType_Mouse, which is 0.
2. Calling into GetListenersByType(), I find that a new listener must
be
created, in the else clause at the bottom of the method. This seems
odd.
3. Eventually, when a mouseover event fires, I find that the
nsEventListenerManager instance for which there is an entry in the
listeners list at index 0 is not the same instances to which I added
the listener in step 1. Here, nsEventListenerManager.this is
0xca27748.
Any help would be greatly appreciated.
_______________________________________________
mozilla-embedding mailing list
[email protected]
http://mail.mozilla.org/listinfo/mozilla-embedding