mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 868271 - Don't ignore touchend even if event is preventDefaulted. r=vingtetun
This commit is contained in:
parent
8357f84a81
commit
cab6163b26
@ -61,8 +61,17 @@ const ContentPanning = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
handleEvent: function cp_handleEvent(evt) {
|
handleEvent: function cp_handleEvent(evt) {
|
||||||
if (evt.defaultPrevented || evt.multipleActionsPrevented)
|
if (evt.defaultPrevented || evt.multipleActionsPrevented) {
|
||||||
|
// clean up panning state even if touchend/mouseup has been preventDefault.
|
||||||
|
if(evt.type === 'touchend' || evt.type === 'mouseup') {
|
||||||
|
if (this.dragging &&
|
||||||
|
(this.watchedEventsType === 'mouse' ||
|
||||||
|
this.findPrimaryPointer(evt.changedTouches))) {
|
||||||
|
this._finishPanning();
|
||||||
|
}
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
switch (evt.type) {
|
switch (evt.type) {
|
||||||
case 'mousedown':
|
case 'mousedown':
|
||||||
@ -206,15 +215,7 @@ const ContentPanning = {
|
|||||||
view.addEventListener('click', this, true, true);
|
view.addEventListener('click', this, true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
this._resetActive();
|
this._finishPanning();
|
||||||
this.dragging = false;
|
|
||||||
this.detectingScrolling = false;
|
|
||||||
delete this.primaryPointerId;
|
|
||||||
this._activationTimer.cancel();
|
|
||||||
|
|
||||||
if (this.panning) {
|
|
||||||
KineticPanning.start(this);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// True when there's an async pan-zoom controll watching the
|
// True when there's an async pan-zoom controll watching the
|
||||||
@ -582,6 +583,18 @@ const ContentPanning = {
|
|||||||
let ratioH = (aRect.height / vRect.height);
|
let ratioH = (aRect.height / vRect.height);
|
||||||
|
|
||||||
return (showing > 0.9 && (ratioW > 0.9 || ratioH > 0.9));
|
return (showing > 0.9 && (ratioW > 0.9 || ratioH > 0.9));
|
||||||
|
},
|
||||||
|
|
||||||
|
_finishPanning: function() {
|
||||||
|
this._resetActive();
|
||||||
|
this.dragging = false;
|
||||||
|
this.detectingScrolling = false;
|
||||||
|
delete this.primaryPointerId;
|
||||||
|
this._activationTimer.cancel();
|
||||||
|
|
||||||
|
if (this.panning) {
|
||||||
|
KineticPanning.start(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user