From 061ad918f115127217a93ceb79625f5dd8612bfd Mon Sep 17 00:00:00 2001 From: Hans Dijkema Date: Mon, 4 May 2026 15:05:30 +0200 Subject: [PATCH] event debugging --- racket-webview.rkt | 2 +- wv-window.rkt | 25 +++++++++++++++++++++---- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/racket-webview.rkt b/racket-webview.rkt index 9edcee8..1c5fe98 100644 --- a/racket-webview.rkt +++ b/racket-webview.rkt @@ -718,7 +718,7 @@ (wv-win-window-nr wv) sel evt (if no-prevent-default 'true 'false))) (r (webview-call-js wv j)) ) - (dbg-webview "called js: ~a" j) + ;(dbg-webview "called js: ~a" j) (map (λ (el) (list (string->symbol (car el)) (cadr el) (caddr el))) r)))) diff --git a/wv-window.rkt b/wv-window.rkt index d5c8837..d668259 100644 --- a/wv-window.rkt +++ b/wv-window.rkt @@ -170,10 +170,27 @@ ;; Events ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + (define last-event-time (current-milliseconds)) + (define last-event-kind #f) + (define last-js-event #f) + (define (event-handler wv evt) - (let ((event (hash-ref evt 'event 'unknown-event)) - ) - (dbg-webview "event-handler - evt = ~a" evt) + (let* ((event (hash-ref evt 'event 'unknown-event)) + (js-evt (if (eq? event 'js-evt) + (hash-ref (hash-ref evt 'js-evt) 'evt #f) + #f)) + ) + + (unless (and + (> (+ last-event-time 500) (current-milliseconds)) + (eq? last-event-kind event) + (or (eq? js-evt #f) + (eq? last-js-event js-evt))) + (dbg-webview "event-handler - evt = ~a" evt) + (set! last-event-kind event) + (set! last-js-event js-evt) + (set! last-event-time (current-milliseconds))) + (cond ((eq? event 'resize) (send this resized (hash-ref evt 'w) (hash-ref evt 'h))) @@ -359,7 +376,7 @@ (items (webview-bind! wv selector events npd)) (events* (if (symbol? events) (list events) events)) ) - (dbg-webview "No-prevent-default = ~a" npd) + ;(dbg-webview "No-prevent-default = ~a" npd) (map (λ (item) (let ((id (car item)) (type (string->symbol (string-downcase (caddr item))))