mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 664058: Remove AddEventListenerByIID/RemoveEventListenerByIID from nsFileControlFrame. r=smaug
This commit is contained in:
parent
118b05fb6e
commit
12fc18f115
@ -54,7 +54,6 @@
|
||||
#include "nsIDOMElement.h"
|
||||
#include "nsIDOMDocument.h"
|
||||
#include "nsIDocument.h"
|
||||
#include "nsIDOMMouseListener.h"
|
||||
#include "nsIPresShell.h"
|
||||
#include "nsXPCOM.h"
|
||||
#include "nsISupportsPrimitives.h"
|
||||
@ -391,7 +390,7 @@ PRBool ShouldProcessMouseClick(nsIDOMEvent* aMouseEvent)
|
||||
// only allow the left button
|
||||
nsCOMPtr<nsIDOMMouseEvent> mouseEvent = do_QueryInterface(aMouseEvent);
|
||||
nsCOMPtr<nsIDOMNSUIEvent> uiEvent = do_QueryInterface(aMouseEvent);
|
||||
NS_ENSURE_STATE(uiEvent);
|
||||
NS_ENSURE_TRUE(mouseEvent && uiEvent, PR_FALSE);
|
||||
PRBool defaultPrevented = PR_FALSE;
|
||||
uiEvent->GetPreventDefault(&defaultPrevented);
|
||||
if (defaultPrevented) {
|
||||
@ -415,7 +414,7 @@ PRBool ShouldProcessMouseClick(nsIDOMEvent* aMouseEvent)
|
||||
* This is called when our capture button is clicked
|
||||
*/
|
||||
NS_IMETHODIMP
|
||||
nsFileControlFrame::CaptureMouseListener::MouseClick(nsIDOMEvent* aMouseEvent)
|
||||
nsFileControlFrame::CaptureMouseListener::HandleEvent(nsIDOMEvent* aMouseEvent)
|
||||
{
|
||||
nsresult rv;
|
||||
|
||||
@ -502,30 +501,26 @@ nsFileControlFrame::CaptureMouseListener::MouseClick(nsIDOMEvent* aMouseEvent)
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
/**
|
||||
* This is called when our browse button is clicked
|
||||
*/
|
||||
NS_IMETHODIMP
|
||||
nsFileControlFrame::BrowseMouseListener::MouseClick(nsIDOMEvent* aMouseEvent)
|
||||
{
|
||||
NS_ASSERTION(mFrame, "We should have been unregistered");
|
||||
if (!ShouldProcessMouseClick(aMouseEvent))
|
||||
return NS_OK;
|
||||
|
||||
nsHTMLInputElement* input =
|
||||
nsHTMLInputElement::FromContent(mFrame->GetContent());
|
||||
return input ? input->FireAsyncClickHandler() : NS_OK;
|
||||
}
|
||||
|
||||
/**
|
||||
* This is called when we receive any registered events on the control.
|
||||
* We've only registered for drop, dragover and click events, and click events
|
||||
* already call MouseClick() for us. Here, we handle file drops.
|
||||
* We've only registered for drop, dragover and click events.
|
||||
*/
|
||||
NS_IMETHODIMP
|
||||
nsFileControlFrame::BrowseMouseListener::HandleEvent(nsIDOMEvent* aEvent)
|
||||
{
|
||||
NS_ASSERTION(mFrame, "We should have been unregistered");
|
||||
|
||||
nsAutoString eventType;
|
||||
aEvent->GetType(eventType);
|
||||
if (eventType.EqualsLiteral("click")) {
|
||||
if (!ShouldProcessMouseClick(aEvent))
|
||||
return NS_OK;
|
||||
|
||||
nsHTMLInputElement* input =
|
||||
nsHTMLInputElement::FromContent(mFrame->GetContent());
|
||||
return input ? input->FireAsyncClickHandler() : NS_OK;
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIDOMNSUIEvent> uiEvent = do_QueryInterface(aEvent);
|
||||
NS_ENSURE_STATE(uiEvent);
|
||||
PRBool defaultPrevented = PR_FALSE;
|
||||
@ -539,8 +534,6 @@ nsFileControlFrame::BrowseMouseListener::HandleEvent(nsIDOMEvent* aEvent)
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsAutoString eventType;
|
||||
aEvent->GetType(eventType);
|
||||
if (eventType.EqualsLiteral("dragover")) {
|
||||
// Prevent default if we can accept this drag data
|
||||
aEvent->PreventDefault();
|
||||
@ -838,6 +831,5 @@ nsFileControlFrame::ParseAcceptAttribute(AcceptAttrCallback aCallback,
|
||||
////////////////////////////////////////////////////////////
|
||||
// Mouse listener implementation
|
||||
|
||||
NS_IMPL_ISUPPORTS2(nsFileControlFrame::MouseListener,
|
||||
nsIDOMMouseListener,
|
||||
NS_IMPL_ISUPPORTS1(nsFileControlFrame::MouseListener,
|
||||
nsIDOMEventListener)
|
||||
|
@ -40,7 +40,7 @@
|
||||
|
||||
#include "nsBlockFrame.h"
|
||||
#include "nsIFormControlFrame.h"
|
||||
#include "nsIDOMMouseListener.h"
|
||||
#include "nsIDOMEventListener.h"
|
||||
#include "nsIAnonymousContentCreator.h"
|
||||
#include "nsICapturePicker.h"
|
||||
#include "nsCOMPtr.h"
|
||||
@ -112,7 +112,7 @@ protected:
|
||||
|
||||
class MouseListener;
|
||||
friend class MouseListener;
|
||||
class MouseListener : public nsIDOMMouseListener {
|
||||
class MouseListener : public nsIDOMEventListener {
|
||||
public:
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
@ -123,16 +123,6 @@ protected:
|
||||
void ForgetFrame() {
|
||||
mFrame = nsnull;
|
||||
}
|
||||
|
||||
// We just want to capture the click events on our browse button
|
||||
// and textfield.
|
||||
NS_IMETHOD MouseDown(nsIDOMEvent* aMouseEvent) { return NS_OK; }
|
||||
NS_IMETHOD MouseUp(nsIDOMEvent* aMouseEvent) { return NS_OK; }
|
||||
NS_IMETHOD MouseClick(nsIDOMEvent* aMouseEvent) = 0;
|
||||
NS_IMETHOD MouseDblClick(nsIDOMEvent* aMouseEvent) { return NS_OK; }
|
||||
NS_IMETHOD MouseOver(nsIDOMEvent* aMouseEvent) { return NS_OK; }
|
||||
NS_IMETHOD MouseOut(nsIDOMEvent* aMouseEvent) { return NS_OK; }
|
||||
NS_IMETHOD HandleEvent(nsIDOMEvent* aEvent) { return NS_OK; }
|
||||
|
||||
protected:
|
||||
nsFileControlFrame* mFrame;
|
||||
@ -163,17 +153,16 @@ protected:
|
||||
public:
|
||||
CaptureMouseListener(nsFileControlFrame* aFrame) : MouseListener(aFrame),
|
||||
mMode(0) {};
|
||||
NS_IMETHOD MouseClick(nsIDOMEvent* aMouseEvent);
|
||||
NS_DECL_NSIDOMEVENTLISTENER
|
||||
PRUint32 mMode;
|
||||
};
|
||||
|
||||
class BrowseMouseListener: public MouseListener {
|
||||
public:
|
||||
BrowseMouseListener(nsFileControlFrame* aFrame) : MouseListener(aFrame) {};
|
||||
NS_IMETHOD MouseClick(nsIDOMEvent* aMouseEvent);
|
||||
NS_IMETHOD HandleEvent(nsIDOMEvent* aEvent);
|
||||
NS_DECL_NSIDOMEVENTLISTENER
|
||||
|
||||
static PRBool IsValidDropData(nsIDOMDragEvent* aEvent);
|
||||
static PRBool IsValidDropData(nsIDOMDragEvent* aEvent);
|
||||
};
|
||||
|
||||
virtual PRBool IsFrameOfType(PRUint32 aFlags) const
|
||||
|
Loading…
Reference in New Issue
Block a user