~ubuntu-branches/ubuntu/precise/xulrunner-1.9/precise

« back to all changes in this revision

Viewing changes to mozilla/layout/xul/base/src/nsXULTooltipListener.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Alexander Sack
  • Date: 2009-03-05 17:19:38 UTC
  • mfrom: (1.1.17 upstream)
  • Revision ID: james.westby@ubuntu.com-20090305171938-em56xsox7j2mfqdq
Tags: 1.9.0.7+nobinonly-0ubuntu1
* security/stability v1.9.0.7 (FIREFOX_3_0_7_RELEASE)
  - USN-728-1
* bump required soft-depends on nspr to >= 4.7.3
  - update debian/rules

Show diffs side-by-side

added added

removed removed

Lines of Context:
269
269
{
270
270
  nsAutoString type;
271
271
  aEvent->GetType(type);
272
 
  if (type.EqualsLiteral("DOMMouseScroll"))
 
272
  if (type.EqualsLiteral("DOMMouseScroll") || type.EqualsLiteral("dragstart"))
273
273
    HideTooltip();
274
274
  return NS_OK;
275
275
}
308
308
    return NS_ERROR_NULL_POINTER;
309
309
 
310
310
  nsCOMPtr<nsIDOMEventTarget> evtTarget(do_QueryInterface(aNode));
311
 
  evtTarget->AddEventListener(NS_LITERAL_STRING("mouseout"), (nsIDOMMouseListener*)this, PR_FALSE);
312
 
  evtTarget->AddEventListener(NS_LITERAL_STRING("mousemove"), (nsIDOMMouseListener*)this, PR_FALSE);
 
311
  evtTarget->AddEventListener(NS_LITERAL_STRING("mouseout"), static_cast<nsIDOMMouseListener*>(this), PR_FALSE);
 
312
  evtTarget->AddEventListener(NS_LITERAL_STRING("mousemove"), static_cast<nsIDOMMouseListener*>(this), PR_FALSE);
 
313
  evtTarget->AddEventListener(NS_LITERAL_STRING("dragstart"), static_cast<nsIDOMMouseListener*>(this), PR_FALSE);
313
314
  
314
315
  return NS_OK;
315
316
}
321
322
    return NS_ERROR_NULL_POINTER;
322
323
 
323
324
  nsCOMPtr<nsIDOMEventTarget> evtTarget(do_QueryInterface(aNode));
324
 
  evtTarget->RemoveEventListener(NS_LITERAL_STRING("mouseout"), (nsIDOMMouseListener*)this, PR_FALSE);
325
 
  evtTarget->RemoveEventListener(NS_LITERAL_STRING("mousemove"), (nsIDOMMouseListener*)this, PR_FALSE);
 
325
  evtTarget->RemoveEventListener(NS_LITERAL_STRING("mouseout"), static_cast<nsIDOMMouseListener*>(this), PR_FALSE);
 
326
  evtTarget->RemoveEventListener(NS_LITERAL_STRING("mousemove"), static_cast<nsIDOMMouseListener*>(this), PR_FALSE);
 
327
  evtTarget->RemoveEventListener(NS_LITERAL_STRING("dragstart"), static_cast<nsIDOMMouseListener*>(this), PR_FALSE);
326
328
 
327
329
  return NS_OK;
328
330
}
430
432
      // be sure DestroyPopup is called even if someone else closes the tooltip
431
433
      nsCOMPtr<nsIDOMEventTarget> evtTarget(do_QueryInterface(currentTooltip));
432
434
      evtTarget->AddEventListener(NS_LITERAL_STRING("popuphiding"), 
433
 
                                  (nsIDOMMouseListener*)this, PR_FALSE);
 
435
                                  static_cast<nsIDOMMouseListener*>(this), PR_FALSE);
434
436
 
435
437
      // listen for mousedown, mouseup, keydown, and DOMMouseScroll events at document level
436
438
      nsIDocument* doc = sourceNode->GetDocument();
437
439
      if (doc) {
438
440
        evtTarget = do_QueryInterface(doc);
439
441
        evtTarget->AddEventListener(NS_LITERAL_STRING("DOMMouseScroll"), 
440
 
                                    (nsIDOMMouseListener*)this, PR_TRUE);
 
442
                                    static_cast<nsIDOMMouseListener*>(this), PR_TRUE);
441
443
        evtTarget->AddEventListener(NS_LITERAL_STRING("mousedown"), 
442
 
                                    (nsIDOMMouseListener*)this, PR_TRUE);
 
444
                                    static_cast<nsIDOMMouseListener*>(this), PR_TRUE);
443
445
        evtTarget->AddEventListener(NS_LITERAL_STRING("mouseup"), 
444
 
                                    (nsIDOMMouseListener*)this, PR_TRUE);                                    
 
446
                                    static_cast<nsIDOMMouseListener*>(this), PR_TRUE);                                    
445
447
        evtTarget->AddEventListener(NS_LITERAL_STRING("keydown"), 
446
 
                                    (nsIDOMMouseListener*)this, PR_TRUE);
 
448
                                    static_cast<nsIDOMMouseListener*>(this), PR_TRUE);
447
449
      }
448
450
      mSourceNode = nsnull;
449
451
    }
686
688
 
687
689
      // remove the mousedown and keydown listener from document
688
690
      nsCOMPtr<nsIDOMEventTarget> evtTarget(do_QueryInterface(doc));
689
 
      evtTarget->RemoveEventListener(NS_LITERAL_STRING("DOMMouseScroll"), (nsIDOMMouseListener*)this, PR_TRUE);
690
 
      evtTarget->RemoveEventListener(NS_LITERAL_STRING("mousedown"), (nsIDOMMouseListener*)this, PR_TRUE);
691
 
      evtTarget->RemoveEventListener(NS_LITERAL_STRING("mouseup"), (nsIDOMMouseListener*)this, PR_TRUE);
692
 
      evtTarget->RemoveEventListener(NS_LITERAL_STRING("keydown"), (nsIDOMMouseListener*)this, PR_TRUE);
 
691
      evtTarget->RemoveEventListener(NS_LITERAL_STRING("DOMMouseScroll"), static_cast<nsIDOMMouseListener*>(this), PR_TRUE);
 
692
      evtTarget->RemoveEventListener(NS_LITERAL_STRING("mousedown"), static_cast<nsIDOMMouseListener*>(this), PR_TRUE);
 
693
      evtTarget->RemoveEventListener(NS_LITERAL_STRING("mouseup"), static_cast<nsIDOMMouseListener*>(this), PR_TRUE);
 
694
      evtTarget->RemoveEventListener(NS_LITERAL_STRING("keydown"), static_cast<nsIDOMMouseListener*>(this), PR_TRUE);
693
695
    }
694
696
 
695
697
    // remove the popuphidden listener from tooltip
699
701
    // being called recursively (bug 120863)
700
702
    mCurrentTooltip = nsnull;
701
703
 
702
 
    evtTarget->RemoveEventListener(NS_LITERAL_STRING("popuphiding"), (nsIDOMMouseListener*)this, PR_FALSE);
 
704
    evtTarget->RemoveEventListener(NS_LITERAL_STRING("popuphiding"), static_cast<nsIDOMMouseListener*>(this), PR_FALSE);
703
705
  }
704
706
  
705
707
  // kill any ongoing timers