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

Reply via email to