Commit graph

66 commits

Author SHA1 Message Date
Marc Durdin
6734d824a5 fix(web): stop repeated CSS injection 2022-03-02 06:37:51 +11:00
Marc Durdin
9da4ffa77a fix(web): font size was not consistently set
Fixes #5779.
Fixes #5731 (I believe mitigation is sufficient to close this issue).

A variety of interrelated font and font size display issues resolved:
1. KVK font was not applied early enough for size calculations, which
   meant that we were calculating font scaling per key based on a
   default font when transforming from the KVK data for desktop devices
   (defaultLayout.ts)
2. Font scaling for non-default layers was calculated when elements were
   not visible and had no size information, giving incorrect values. To
   resolve this, font scaling is now calculated when a layer is made
   visible, which had performance impacts; resolved by reducing
   unnecessary `layer.refreshLayout()` calls; see performance point 1
   below (oskView.ts:layerChangeHandler())
3. `getViewportScale()` would return an incorrect scaled value when
   emulating touch devices on a desktop browser (kmwutils.ts)
4. After switching keyboards, the device-specific scaling factor was not
   maintained (oskView.ts:refreshLayout())

Related performance improvements:
1. Multiple calls to `layer.refreshLayout()` in `refreshLayout()` have
   been eliminated, and only the currently visible layer is now
   refreshed. This dramatically reduces the number of calls to
   `getIdealFontSize()` which was the primary concern of #5731.
   (visualKeyboards.ts)
2. Unnecessary use of `innerHTML` replaced with `innerText`
   (oskBaseKey.ts)

Minor Keyman Developer performance improvement:
1. The web debugger no longer recalculates the OSK twice (test.js)
2021-11-15 10:08:18 +11:00
Darcy Wong
026bf9db2e
Merge pull request #5302 from keymanapp/feat/web/alert-option
feat(web): Add option useAlerts to control alerts()
2021-06-25 14:29:54 +07:00
Darcy Wong
c8f7a4cdf4 fix(web): Use util.internalAlert() wrapper 2021-06-24 13:02:49 +07:00
Darcy Wong
36acc16927 fix(web): Check useAlerts on internal calls 2021-06-24 11:42:02 +07:00
Darcy Wong
221f50ac0d
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-06-19 07:24:55 +07:00
Darcy Wong
9bbd8035e0 fix(web): Start addressing review comments 2021-06-18 15:26:54 +07:00
Darcy Wong
d1b76684a2
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-06-18 14:51:37 +07:00
Darcy Wong
b2636603d8 feat(web): Add option useAlerts to control alerts() 2021-06-17 13:03:56 +07:00
jahorton
b7796b2457 refactor(web): reduces VisualKeyboard reliance on keyman.util 2021-06-10 12:14:11 +07:00
jahorton
827af364e2 refactor(web): getTextMetrics, key-class refs to com.keyman 2021-06-10 10:32:41 +07:00
jahorton
8340365015 fix(web): getComputedStyle for fontSize backup 2021-01-21 10:36:00 +07:00
jahorton
5c709f9468 chore(web/engine): post-rebase cleanup 2020-04-24 14:35:52 +07:00
jahorton
1eed004296 change(web): package rename + patchup 2020-04-24 13:53:39 +07:00
jahorton
373196dded change(web/engine): splits off the core/web/keyboard-processor module 2020-04-24 13:45:04 +07:00
jahorton
11c1ed5bf2 refactor(web/engine): embedded adjustments, defaultOutput split 2020-04-03 10:08:03 +07:00
Marc Durdin
cf99fcb9bd fix(web): support otf extension for truetype fonts 2020-03-06 10:58:47 +11:00
Joshua Horton
0e855dbfcf
Merge pull request #2033 from keymanapp/web-1818-fontsize-spec
[Web] Adds handling for pt and unitless font size specs
2019-09-04 08:25:50 +07:00
jahorton
84a3028e3d callEvent error logging 2019-09-03 11:56:42 +07:00
jahorton
897f161850 Yay, typo. 2019-09-03 10:52:48 +07:00
jahorton
f63ff5f151 Adds handling for pt and unitless font size specs 2019-09-03 10:51:14 +07:00
Joshua A. Horton
72bdc8d2de Fixes #1638. 2019-03-07 09:31:34 +07:00
Joshua A. Horton
0026d5ae08 Extracts some dom-related util API into targetable module for tools. 2019-01-26 00:26:54 +07:00
Joshua A. Horton
e58aa60504 Initial reorganization of OSK code complete. Regressions exist, though. 2019-01-10 11:54:47 +07:00
Joshua A. Horton
86965b5740 Moves language-list code to its own, new module. 2019-01-04 13:18:22 +07:00
Joshua A. Horton
bf243eb0d9 Shunts layout-centric code and default layout stuff into its own class. 2019-01-04 10:11:31 +07:00
Joshua A. Horton
5957db8473 Addresses standard key scaling, but runs into code ordering issue. 2018-12-12 13:56:43 +07:00
Joshua A. Horton
e36ee0293f Updates old work from 10.0 beta. 2018-12-06 08:42:27 +07:00
Joshua A. Horton
f0812d96a7 Merge branch 'master' into web-248-iOS-landscape-display 2018-12-06 08:23:16 +07:00
Darcy Wong
481eda7d6f Update FileUtils to handle mixed-case file extensions 2018-11-21 14:27:18 +07:00
Joshua A. Horton
d952420efc Updates internal version of TypeScript to current. 2018-11-14 11:00:33 +07:00
Joshua A. Horton
c7d086d1de Addresses PR review. 2018-10-30 08:31:21 +07:00
Joshua A. Horton
42932856e9 Partial fix - no more duplicate languages under a region. 2018-10-24 14:49:39 +07:00
Joshua A. Horton
73df886272 Encapsulates fixed KMW rotation behavior with minor refactor. 2018-05-02 10:30:56 +07:00
Joshua A. Horton
66e35ed875 Fixes KMW landscape display in Firefox, Chrome on mobile devices. 2018-04-26 14:18:59 +07:00
Joshua A. Horton
80087aa92d Adds tracking to facilitate event handling termination during shutdown. 2018-03-08 14:36:17 +07:00
Joshua A. Horton
2b6ce9bb18 Fixed a shutdown bug that was the source of IE troubles. 2018-03-08 14:02:30 +07:00
Joshua A. Horton
a3038f4cde Applies namespacing to the bulk of currently-refactored KMW code. 2018-03-05 09:51:20 +07:00
Marc Durdin
1cd0d2bb31 Recent change from escape/unescape to encodeURI/decodeURI should have been to encodeURIComponent/decodeURIComponent 2018-03-01 09:01:56 +07:00
Joshua A. Horton
ffa76e7468 Fixes for PR comments. 2018-02-15 08:31:34 +07:00
Joshua A. Horton
99db1cda7f Moved Device to new file for Recorder access, + objects for auto tests. 2018-02-13 21:21:43 +07:00
Joshua A. Horton
14408bc20a Fixes a few callback bind/scoping bugs found looking at the manual test pages. 2018-02-08 08:46:27 +07:00
Joshua A. Horton
ba76a734e0 Rewired most of the Util.instanceof calls to use TS-friendlier versions. 2018-02-02 12:40:22 +07:00
Joshua A. Horton
ed0e4fd106 As per PR review. 2018-02-02 09:53:41 +07:00
Joshua A. Horton
c6358e473d More legacy cruft removal. 2018-01-26 13:27:51 +07:00
Joshua A. Horton
ffe033db91 A minor patch for the merge - it missed a couple of 'instanceof's. 2018-01-26 12:50:40 +07:00
Joshua A. Horton
a051f876a7 Merge branch 'web-544-iframe-instanceof' into web-typescript-legacy-refactor 2018-01-26 12:46:02 +07:00
Joshua A. Horton
a7f65dc2fb Tweaks documentation and provides a quick spot-check for Event instanceof checks. 2018-01-26 10:59:22 +07:00
Joshua A. Horton
3dbef51e9a Fixes #544. 2018-01-26 10:50:17 +07:00
Joshua A. Horton
beadfc30ef Deals (partly?) with IE's .parentWindow property. 2018-01-26 08:32:41 +07:00