Jacek Caban : mshtml: Added support for capturing event phase.

Alexandre Julliard julliard at winehq.org
Wed Oct 25 13:58:43 CDT 2017


Module: wine
Branch: master
Commit: 2bffe9af8d5e6360dc1e977535d41acf2e64c649
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=2bffe9af8d5e6360dc1e977535d41acf2e64c649

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Oct 25 18:13:54 2017 +0200

mshtml: Added support for capturing event phase.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mshtml/htmlevent.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c
index 778b692..a3359e0 100644
--- a/dlls/mshtml/htmlevent.c
+++ b/dlls/mshtml/htmlevent.c
@@ -1551,8 +1551,15 @@ void dispatch_event(EventTarget *event_target, DOMEvent *event)
     event->target = event_target;
     IDispatchEx_AddRef(&event_target->dispex.IDispatchEx_iface);
 
-    event->phase = DEP_AT_TARGET;
-    call_event_handlers(target_chain[0], event);
+    event->phase = DEP_CAPTURING_PHASE;
+    i = chain_cnt-1;
+    while(!event->stop_propagation && i)
+        call_event_handlers(target_chain[i--], event);
+
+    if(!event->stop_propagation) {
+        event->phase = DEP_AT_TARGET;
+        call_event_handlers(target_chain[0], event);
+    }
 
     if(event_flags & EVENT_BUBBLES) {
         event->phase = DEP_BUBBLING_PHASE;




More information about the wine-cvs mailing list