fix(web): fixes for non-focus-related unit-test breaks

This commit is contained in:
Joshua A. Horton 2022-09-22 15:44:56 +07:00
parent cf1088027b
commit dce7ef74b2
3 changed files with 7 additions and 5 deletions

View file

@ -405,7 +405,7 @@ namespace com.keyman.dom {
doChangeEvent(_target: HTMLElement) {
if(DOMEventHandlers.states.changed) {
let event = new Event('change', {"bubbles": true, "cancelable": false});
// Ensure that touch-aliased elements fire as if from the aliased element.
if(_target['base'] && _target['base']['kmw_ip']) {
_target = _target['base'];
@ -679,6 +679,10 @@ namespace com.keyman.dom {
elem = e.relatedTarget as HTMLElement;
}
if(elem['body']) {
elem = elem['body']; // Occurs in Firefox for design-mode iframes.
}
this.executeBlur(elem);
}.bind(this);
@ -772,7 +776,7 @@ namespace com.keyman.dom {
const x = touch.screenX;
const y = touch.screenY;
// Allow content of input elements to be dragged horizontally or vertically
if(typeof this.firstTouch == 'undefined' || this.firstTouch == null) {
this.firstTouch={x:x,y:y};

View file

@ -87,8 +87,6 @@
<div id='DynamicInputs'><h3>Inputs:</h3></div>
<div id='DynamicTextareas'><h3>Textareas:</h3></div>
<div id='DynamicIFrames'><h3>IFrames:</h3>
<p><em>Note:</em> The iframe section should not actually attach/enable for touch devices
and does not support <code>setKeyboardForControl</code>.</p>
</div>
<div id='DynamicDesignFrames'><h3>Design-mode IFrames:</h3>
<p><em>Note:</em> The iframe section should not actually attach/enable for touch devices

View file

@ -52,7 +52,7 @@ namespace KMWRecorder {
// To be safe, we replicate the MouseEvent similarly to the keystroke event.
var downEvent;
var upEvent;
if(target['base'] && target instanceof HTMLDivElement) {
if((window['keyman'] as any).util.device.touchable) {
downEvent = new Event(BrowserDriver.oskDownTouchType);
upEvent = new Event(BrowserDriver.oskUpTouchType);
downEvent['touches'] = [{"target": oskKeyElement}];