From f522412708841bd13f4007cd7453aa78b0e254dc Mon Sep 17 00:00:00 2001 From: Amartya Parijat Date: Mon, 30 Sep 2024 17:04:27 +0200 Subject: [PATCH] Trigger FocusIn event on Edge Browser focus This update ensures that the Edge browser triggers a FocusIn event for its listeners whenever the WebView gains focus. contributes to #212 --- .../win32/org/eclipse/swt/browser/Edge.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/Edge.java b/bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/Edge.java index 9e197ecd79..be0bb78a88 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/Edge.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/Edge.java @@ -1101,6 +1101,16 @@ int handleGotFocus(long pView, long pArg) { // calls in #browserFocusIn(Event). ignoreFocus = true; OS.SendMessage (browser.handle, OS.WM_SETFOCUS, 0, 0); + + Event newEvent = new Event(); + newEvent.widget = browser; + Point position = browser.getDisplay().getCursorLocation(); // To Points + position = browser.getDisplay().map(null, browser, position); + newEvent.x = position.x; + newEvent.y = position.y; + newEvent.type = SWT.FocusIn; + browser.notifyListeners(newEvent.type, newEvent); + ignoreFocus = false; return COM.S_OK; }