Skip to content

Commit 120b1b1

Browse files
committed
Fix mailto link handling
1 parent e33cc61 commit 120b1b1

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

src/main/kotlin/org/digma/intellij/plugin/ui/jcef/CommonRequestHandler.kt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,28 @@ import org.cef.handler.CefRequestHandlerAdapter
66
import org.cef.handler.CefResourceRequestHandler
77
import org.cef.misc.BoolRef
88
import org.cef.network.CefRequest
9+
import java.awt.Desktop
10+
import java.net.URI
911

1012
class CommonRequestHandler : CefRequestHandlerAdapter() {
13+
override fun onBeforeBrowse(browser: CefBrowser?, frame: CefFrame?, request: CefRequest?, user_gesture: Boolean, is_redirect: Boolean): Boolean {
14+
try {
15+
// Check if the URL starts with "mailto:"
16+
if (request != null) {
17+
if (request.url?.startsWith("mailto:") == true) {
18+
if (Desktop.isDesktopSupported()) {
19+
Desktop.getDesktop().mail(URI(request.url))
20+
// Returning true indicates that you've handled this URL
21+
return true
22+
}
23+
}
24+
}
25+
} catch (e: Exception) {
26+
e.printStackTrace()
27+
}
28+
// Returning false allows normal navigation to proceed
29+
return false
30+
}
1131

1232
override fun getResourceRequestHandler(
1333
browser: CefBrowser?,

src/main/kotlin/org/digma/intellij/plugin/ui/jcef/JCefComponent.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ private constructor(
5959
// our jcef apps use JCefComponent and that may cause issues.
6060
CefApp.addAppHandler(object : CefAppHandlerAdapter(arrayOf()) {
6161
override fun onRegisterCustomSchemes(registrar: CefSchemeRegistrar?) {
62-
registrar?.addCustomScheme("mailto", true, true, false, false, true, false, false)
62+
registrar?.addCustomScheme("mailto", false, false, false, false, true, false, false)
6363
}
6464
})
6565
}

0 commit comments

Comments
 (0)