mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-18 06:45:33 +00:00
part of fix for Bug 33733
added ShouldRollupOnMouseWheelEvent methos to ask if the rollup want to rollup on MouseWheel events
This commit is contained in:
parent
e38c1eeb76
commit
f2f98584c5
@ -180,8 +180,10 @@ public:
|
||||
//nsIRollupListener
|
||||
// NS_DECL_NSIROLLUPLISTENER
|
||||
NS_IMETHOD Rollup();
|
||||
NS_IMETHOD ShouldRollupOnMouseWheelEvent(nsIWidget *aWidget, PRBool *aShouldRollup)
|
||||
{ *aShouldRollup = PR_FALSE; return NS_OK;}
|
||||
NS_IMETHOD ShouldRollupOnMouseWheelEvent(PRBool *aShouldRollup) { *aShouldRollup = PR_FALSE; return NS_OK;}
|
||||
|
||||
//NS_IMETHOD ShouldRollupOnMouseWheelEvent(nsIWidget *aWidget, PRBool *aShouldRollup)
|
||||
//{ *aShouldRollup = PR_FALSE; return NS_OK;}
|
||||
|
||||
NS_IMETHOD SetFrameConstructor(nsCSSFrameConstructor *aConstructor)
|
||||
{ mFrameConstructor = aConstructor; return NS_OK;} // not owner - do not addref!
|
||||
|
@ -180,8 +180,10 @@ public:
|
||||
//nsIRollupListener
|
||||
// NS_DECL_NSIROLLUPLISTENER
|
||||
NS_IMETHOD Rollup();
|
||||
NS_IMETHOD ShouldRollupOnMouseWheelEvent(nsIWidget *aWidget, PRBool *aShouldRollup)
|
||||
{ *aShouldRollup = PR_FALSE; return NS_OK;}
|
||||
NS_IMETHOD ShouldRollupOnMouseWheelEvent(PRBool *aShouldRollup) { *aShouldRollup = PR_FALSE; return NS_OK;}
|
||||
|
||||
//NS_IMETHOD ShouldRollupOnMouseWheelEvent(nsIWidget *aWidget, PRBool *aShouldRollup)
|
||||
//{ *aShouldRollup = PR_FALSE; return NS_OK;}
|
||||
|
||||
NS_IMETHOD SetFrameConstructor(nsCSSFrameConstructor *aConstructor)
|
||||
{ mFrameConstructor = aConstructor; return NS_OK;} // not owner - do not addref!
|
||||
|
@ -49,7 +49,6 @@ nsMenuDismissalListener::~nsMenuDismissalListener()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
nsresult
|
||||
nsMenuDismissalListener::MouseDown(nsIDOMEvent* aMouseEvent)
|
||||
@ -97,6 +96,13 @@ nsMenuDismissalListener::Rollup()
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
NS_IMETHODIMP nsMenuDismissalListener::ShouldRollupOnMouseWheelEvent(PRBool *aShouldRollup)
|
||||
{
|
||||
*aShouldRollup = PR_FALSE;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
// uggggh.
|
||||
static NS_DEFINE_IID(kIFrameIID, NS_IFRAME_IID);
|
||||
|
@ -24,6 +24,8 @@
|
||||
|
||||
#include "nsISupports.idl"
|
||||
|
||||
interface nsIWidget;
|
||||
|
||||
[uuid(23C2BA03-6C76-11d3-96ED-0060B0FB9956)]
|
||||
interface nsIRollupListener : nsISupports
|
||||
{
|
||||
@ -32,4 +34,11 @@ interface nsIRollupListener : nsISupports
|
||||
* @result NS_Ok if no errors
|
||||
*/
|
||||
void Rollup();
|
||||
|
||||
/**
|
||||
* Asks the RoolupListener if it should rollup on mousevents
|
||||
* @result NS_Ok if no errors
|
||||
*/
|
||||
void ShouldRollupOnMouseWheelEvent(out PRBool aShould);
|
||||
|
||||
};
|
||||
|
@ -710,9 +710,25 @@ nsWindow :: DealWithPopups ( UINT inMsg, LRESULT* outResult )
|
||||
// which make it difficult to find a message which will
|
||||
// reliably be generated when the mouse wheel changes position
|
||||
if ((inMsg == WM_MOUSEWHEEL) || (inMsg == uMSH_MOUSEWHEEL)) {
|
||||
|
||||
// XXX Turn on ifdef or remove the "else" part of this ifdef when
|
||||
// Bug 33733 is fixed
|
||||
#if 0
|
||||
PRBool doRollup;
|
||||
gRollupListener->ShouldRollupOnMouseWheelEvent(&doRollup);
|
||||
if (!doRollup) {
|
||||
*outResult = FALSE;
|
||||
return FALSE;
|
||||
} else {
|
||||
gRollupListener->Rollup();
|
||||
*outResult = TRUE;
|
||||
return TRUE;
|
||||
}
|
||||
#else
|
||||
gRollupListener->Rollup();
|
||||
*outResult = TRUE;
|
||||
return TRUE;
|
||||
#endif
|
||||
}
|
||||
|
||||
if (inMsg == WM_ACTIVATE || inMsg == WM_NCLBUTTONDOWN || inMsg == WM_LBUTTONDOWN ||
|
||||
|
Loading…
x
Reference in New Issue
Block a user