Marc Durdin
35c5a34126
Update web/source/osk/browser/keytip.ts
2021-11-17 09:14:21 +11:00
Marc Durdin
c9474ceae8
fix(web): remove canvas use for iOS compatibility
...
Fixes #5831 .
iOS 15 has a significant crashing bug whereby use of a canvas element
completely crashes the browser in some contexts. In particular, we have
observed this when using a WKWebView in a keyboard extension without
'Allow Full Access' switched on.
Keyman uses canvas element to draw a nice looking key preview (key tip)
on iPhones. This is a critical issue for Keyman for iPhone. Keyman for
iPad is not affected because the iPad version does not use key previews.
The resolution here is to remove use of the canvas drawing for key tips
and use a simplified pure HTML/CSS shape. I have not conditioned this
fix on platform; I have currently opted to apply this to all platforms.
This issue will be reported to Apple for resolution. The issue applies
so far to iOS 15.0, 15.1.
2021-11-16 16:51:34 +11:00
Marc Durdin
dbd9787a7a
Merge branch 'master' into fix/web/popup-positioning
2021-10-05 17:41:49 +11:00
jahorton
31ac1b7c1b
chore(web): replaces literals with constants
2021-09-23 09:27:09 +07:00
Marc Durdin
c760fb7464
fix(web): popup positioning
...
Fixes three issues:
* longpress positioning for inlined OSK views where not all elements
may be in the offset hierarchy; impacts particularly where an inlined
OSK may be within a flex-box.
* Tweaks position of keytip, to take into account the offsetTop of the
key element.
* Inverts test for display of longpress callout, matching Keyman 14.
2021-09-23 08:18:57 +10:00
jahorton
da8e83090a
fix(web): touch-based unit test issues
2021-09-20 15:46:59 +07:00
jahorton
632642b6c2
feat(web): functional touch-subkeys on desktop
2021-09-02 12:30:37 +07:00
jahorton
dfdf0c2e9b
fix(web): key preview positioning
2021-09-02 10:39:54 +07:00
jahorton
6b248075d6
feat(web): partially-functional inlined OSK!
2021-09-01 15:31:01 +07:00
jahorton
9611537e06
refactor(web): osk._Load
2021-08-23 10:01:07 +07:00
jahorton
e1da0014c3
refactor(web): start of OSKView abstraction
2021-08-23 10:01:06 +07:00
jahorton
a96d04cc4e
refactor(web): abstraction for OSK touch-event input
2021-07-30 08:15:15 +07:00
jahorton
84e2c368cf
fix(web): restores key tip, subkey popup positioning
2021-07-27 07:56:54 +07:00
jahorton
3f2897485b
refactor(web): drops 'widthpc', 'padpc'
2021-07-26 15:59:25 +07:00
jahorton
e90eb643f5
refactor(web): kmw-5rows class: key -> layer
2021-07-26 15:19:23 +07:00
jahorton
43d5181092
change(web): more consistent base-key longpress release
2021-07-06 14:27:37 +07:00
jahorton
fefffc80fd
fix(web): more consistent clear on base key highlights
2021-07-06 14:14:14 +07:00
jahorton
543812c0d7
fix(web): missing 'bind' for in-browser resolve
2021-07-02 09:25:29 +07:00
jahorton
b775618937
fix(web): embedded ios stuck base key highlights
2021-07-02 09:09:58 +07:00
jahorton
8d0364016f
fix(web): missed a '!' for in-browser base key reselection
2021-07-01 08:11:43 +07:00
jahorton
c6a5961421
feat(web): adds error log to SubkeyPopup.updateTouch
2021-06-30 12:16:15 +07:00
jahorton
cafe421e98
docs(web): gesture subclasses
2021-06-30 12:09:19 +07:00
jahorton
a8e82e5bea
chore(web): more changes from PR review
2021-06-30 11:09:32 +07:00
Joshua Horton
e0cf57d508
chore(web): Apply suggestions from code review
...
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-06-30 10:11:46 +07:00
jahorton
625b5fd8c8
fix(web): output base key if subkey touch returns to it (in-browser)
2021-06-24 12:54:10 +07:00
jahorton
60081b7c4a
refactor(web): initial mutual abstraction for pending longpresses
2021-06-24 12:34:43 +07:00
jahorton
d5e5635242
refactor(web): merged subkey highlighting control
2021-06-24 12:34:43 +07:00
jahorton
0d109b12b0
refactor(web): 'easy' part of abstracted RealizedGesture for subkeys
2021-06-24 12:34:43 +07:00
jahorton
3a98204919
fix(web): pending-longpress field management
2021-06-24 12:33:42 +07:00
jahorton
36536f89bc
refactor(web): browser subkey control flow abstraction prep
2021-06-24 12:33:42 +07:00
jahorton
d4d9808727
refactor(web): in-browser subkey tracking managed by SubkeyPopup
2021-06-24 12:12:08 +07:00
jahorton
8794f7d018
change(web): allows passive cancel for subkey promises
2021-06-17 09:37:34 +07:00
jahorton
e347c423bf
refactor(web): wraps in-browser subkey selection with Promise
2021-06-16 15:17:06 +07:00
jahorton
4c5500d026
refactor(web): osk key highlighting
2021-06-16 09:20:43 +07:00
jahorton
0566f435d9
refactor(web): osk key class defs -> separate files
2021-06-16 08:39:53 +07:00
jahorton
d68fb7bac3
refactor(web): browser-based subkey array init + display management
2021-06-15 12:14:28 +07:00
jahorton
b3d13c5b9e
fix(web): removes accidental comment-out op
2021-06-15 10:04:29 +07:00
jahorton
c8293504e1
refactor(web): non-embedded keytips: constrain param
2021-06-15 09:50:30 +07:00
jahorton
9508d70589
refactor(web): keytip abstraction, showKeyTip fusion
2021-06-15 09:35:45 +07:00
jahorton
0ee50e7d85
refactor(web): encapsulates embedded keytip
2021-06-15 09:20:40 +07:00