Bug 269927 Tooltip appears after closing tab (even after switching windows) (and doesn't go away easily)

patch by martijn.martijn@gmail.com r=bryner sr=bz a=bsmedberg
This commit is contained in:
timeless%mozdev.org 2005-07-20 07:15:38 +00:00
Родитель df323010c4
Коммит 76391b1dcf
2 изменённых файлов: 13 добавлений и 2 удалений

Просмотреть файл

@ -109,6 +109,14 @@ nsXULTooltipListener::MouseDown(nsIDOMEvent* aMouseEvent)
return NS_OK;
}
NS_IMETHODIMP
nsXULTooltipListener::MouseUp(nsIDOMEvent* aMouseEvent)
{
HideTooltip();
return NS_OK;
}
NS_IMETHODIMP
nsXULTooltipListener::MouseOut(nsIDOMEvent* aMouseEvent)
{
@ -416,7 +424,7 @@ nsXULTooltipListener::ShowTooltip()
evtTarget->AddEventListener(NS_LITERAL_STRING("popuphiding"),
(nsIDOMMouseListener*)this, PR_FALSE);
// listen for mousedown,keydown, and DOMMouseScroll events at document level
// listen for mousedown, mouseup, keydown, and DOMMouseScroll events at document level
nsIDocument* doc = mSourceNode->GetDocument();
if (doc) {
evtTarget = do_QueryInterface(doc);
@ -424,6 +432,8 @@ nsXULTooltipListener::ShowTooltip()
(nsIDOMMouseListener*)this, PR_TRUE);
evtTarget->AddEventListener(NS_LITERAL_STRING("mousedown"),
(nsIDOMMouseListener*)this, PR_TRUE);
evtTarget->AddEventListener(NS_LITERAL_STRING("mouseup"),
(nsIDOMMouseListener*)this, PR_TRUE);
evtTarget->AddEventListener(NS_LITERAL_STRING("keydown"),
(nsIDOMMouseListener*)this, PR_TRUE);
}
@ -646,6 +656,7 @@ nsXULTooltipListener::DestroyTooltip()
nsCOMPtr<nsIDOMEventTarget> evtTarget(do_QueryInterface(doc));
evtTarget->RemoveEventListener(NS_LITERAL_STRING("DOMMouseScroll"), (nsIDOMMouseListener*)this, PR_TRUE);
evtTarget->RemoveEventListener(NS_LITERAL_STRING("mousedown"), (nsIDOMMouseListener*)this, PR_TRUE);
evtTarget->RemoveEventListener(NS_LITERAL_STRING("mouseup"), (nsIDOMMouseListener*)this, PR_TRUE);
evtTarget->RemoveEventListener(NS_LITERAL_STRING("keydown"), (nsIDOMMouseListener*)this, PR_TRUE);
}

Просмотреть файл

@ -69,7 +69,7 @@ public:
// nsIDOMMouseListener
NS_IMETHOD MouseDown(nsIDOMEvent* aMouseEvent);
NS_IMETHOD MouseUp(nsIDOMEvent* aMouseEvent) { return NS_OK; };
NS_IMETHOD MouseUp(nsIDOMEvent* aMouseEvent);
NS_IMETHOD MouseClick(nsIDOMEvent* aMouseEvent) { return NS_OK; };
NS_IMETHOD MouseDblClick(nsIDOMEvent* aMouseEvent) { return NS_OK; };
NS_IMETHOD MouseOver(nsIDOMEvent* aMouseEvent) { return NS_OK; };