summaryrefslogtreecommitdiff
path: root/dom/interfaces
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2020-04-14 21:24:51 -0400
committerMatt A. Tobin <email@mattatobin.com>2020-04-14 21:25:54 -0400
commit5352b69a9286223272c0ed072900b4c78ba2ed7c (patch)
tree07b5c3969b8be3992d9442b58cf925869576e34e /dom/interfaces
parent6f6d1f6ff788b6fac2a137ecbd41762f9976f42d (diff)
downloaduxp-5352b69a9286223272c0ed072900b4c78ba2ed7c.tar.gz
Bug 1305458 - Changing -moz-appearence on hover breaks change event
* Rename nsIDOMEventTarget::PreHandleEvent to nsIDOMEventTarget::GetEventTargetParent * Add nsIDOMEventTarget::PreHandleEvent * Add EventTargetChainItem::GetFirstEventTarget * Call EventTargetChainItem::PreHandleEvent even it sets mCanHandle=false * Move form control frame focus/blur from nsGenericHTMLFormElement::GetEventTargetParent to PreHandleEvent * Move fire change event from HTMLTextAreaElement::GetEventTargetParent to PreHandleEvent * Refine nsXULElement::GetEventTargetParent * Move dispatch XUL command from nsXULElement::GetEventTargetParent to PreHandleEvent * Move fire events and set value from HTMLInputElement::GetEventTargetParent to PreHandleEvent * Add test case * Let HTMLInputElement delegate event handling to it's parent class * Refine EventTargetChain flags to reduce overheads * Refine event target chain creation * Refine assertion in EventTargetChainItem::Create Tag #1375
Diffstat (limited to 'dom/interfaces')
-rw-r--r--dom/interfaces/events/nsIDOMEventTarget.idl15
1 files changed, 14 insertions, 1 deletions
diff --git a/dom/interfaces/events/nsIDOMEventTarget.idl b/dom/interfaces/events/nsIDOMEventTarget.idl
index a7e3aae5a4..9e00c598c3 100644
--- a/dom/interfaces/events/nsIDOMEventTarget.idl
+++ b/dom/interfaces/events/nsIDOMEventTarget.idl
@@ -13,6 +13,7 @@
using mozilla::dom::Nullable;
namespace mozilla {
+class EventChainVisitor;
class EventChainPostVisitor;
class EventChainPreVisitor;
class EventListenerManager;
@@ -224,7 +225,19 @@ interface nsIDOMEventTarget : nsISupports
* @note Only EventDispatcher should call this method.
*/
[noscript, nostdcall]
- void PreHandleEvent(in EventChainPreVisitorRef aVisitor);
+ void GetEventTargetParent(in EventChainPreVisitorRef aVisitor);
+
+ /**
+ * Called before the capture phase of the event flow and after event target
+ * chain creation. This is used to handle those stuffs must be executed before
+ * dispatch event to DOM
+ */
+%{C++
+ virtual nsresult PreHandleEvent(mozilla::EventChainVisitor& aVisitor)
+ {
+ return NS_OK;
+ }
+%}
/**
* If EventChainPreVisitor.mWantsWillHandleEvent is set PR_TRUE,