mTooltipTimer->Init(sTooltipCallback, this, 500);
mTooltipTimer->Init(sTooltipCallback, this, 500, NS_PRIORITY_HIGH);
XULPopupListenerImpl::MouseMove(nsIDOMEvent* aMouseEvent){  // make sure we're a tooltip. if not, bail.  if ( popupType != eXULPopupType_tooltip )    return NS_OK;    nsCOMPtr<nsIDOMMouseEvent> mouseEvent ( do_QueryInterface(aMouseEvent) );  if (!mouseEvent)    return NS_OK;  // stash the coordinates of the event so that we can still get back to it from within the   // timer scallback. Also stash the node that started this so we can put it into the  // document later on (if the timer ever fires).  mouseEvent->GetClientX(&mMouseClientX);  mouseEvent->GetClientY(&mMouseClientY);  //XXX recognize when a popup is already up and immediately show the  //XXX tooltip for the new item if the dom element is different than  //XXX the element for which we are currently displaying the tip.  //XXX  //XXX for now, just be stupid to get things working.  if (mPopupContent || mTooltipTimer)    return NS_OK;    NS_NewTimer ( getter_AddRefs(mTooltipTimer) );  if ( mTooltipTimer ) {    nsCOMPtr<nsIDOMNode> eventTarget;    aMouseEvent->GetTarget(getter_AddRefs(eventTarget));    mPossibleTooltipNode = eventTarget.get();    mTooltipTimer->Init(sTooltipCallback, this, 500);   // 500 ms delay  }  else    NS_WARNING ( "Could not create a timer for tooltip tracking" );      return NS_OK;  } // MouseMove