diff options
author | Markus Hatvan <markus_hatvan@aon.at> | 2021-09-14 11:03:28 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-14 11:03:28 +0200 |
commit | 087113d8a1214ba4c7df03bfe66747d8d944280c (patch) | |
tree | 4d853a03057138dfa845cd6a7d91ccf63565a1a6 /src/electron/webview-ime-focus.js | |
parent | chore: codebase improvements (#1930) (diff) | |
download | ferdium-app-087113d8a1214ba4c7df03bfe66747d8d944280c.tar.gz ferdium-app-087113d8a1214ba4c7df03bfe66747d8d944280c.tar.zst ferdium-app-087113d8a1214ba4c7df03bfe66747d8d944280c.zip |
chore: convert JS to TS (#1934)
Diffstat (limited to 'src/electron/webview-ime-focus.js')
-rw-r--r-- | src/electron/webview-ime-focus.js | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/src/electron/webview-ime-focus.js b/src/electron/webview-ime-focus.js deleted file mode 100644 index e187ee0b4..000000000 --- a/src/electron/webview-ime-focus.js +++ /dev/null | |||
@@ -1,41 +0,0 @@ | |||
1 | import { webContents } from '@electron/remote'; | ||
2 | import { releaseDocumentFocus } from './webview-ime-focus-helpers'; | ||
3 | |||
4 | function giveWebviewDocumentFocus(element) { | ||
5 | releaseDocumentFocus(); | ||
6 | |||
7 | window.requestAnimationFrame(() => { | ||
8 | element.send('claim-document-focus'); | ||
9 | }); | ||
10 | } | ||
11 | |||
12 | function elementIsUnfocusedWebview(element) { | ||
13 | return element.tagName === 'WEBVIEW' && !webContents.fromId(element.getWebContentsId()).isFocused(); | ||
14 | } | ||
15 | |||
16 | function webviewDidAutofocus(element) { | ||
17 | function didKeyDown() { | ||
18 | element.removeEventListener('keydown', didKeyDown, true); | ||
19 | giveWebviewDocumentFocus(element); | ||
20 | } | ||
21 | |||
22 | element.addEventListener('keydown', didKeyDown, true); | ||
23 | } | ||
24 | |||
25 | function handleAutofocus(element) { | ||
26 | element.addEventListener('ipc-message', (event) => { | ||
27 | if (event.channel === 'autofocus') { | ||
28 | element.focus(); | ||
29 | webviewDidAutofocus(element); | ||
30 | } | ||
31 | }); | ||
32 | } | ||
33 | |||
34 | function didMouseDown(event) { | ||
35 | if (elementIsUnfocusedWebview(event.target)) { | ||
36 | giveWebviewDocumentFocus(event.target); | ||
37 | } | ||
38 | } | ||
39 | |||
40 | document.addEventListener('mousedown', didMouseDown, true); | ||
41 | document.querySelectorAll('webview').forEach(handleAutofocus); | ||