From f26a27dfe5838c6a8514ee4af45d3be1e453c8ef Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Tue, 19 Jul 2022 09:27:10 +0200 Subject: [PATCH] fix(material/slider): add cancelable checks to touchmove and touchend events Adds checks to ensure that `touchmove` and `touchend` events are cancelable before we call `preventDefault` on them. Fixes #25272. --- src/material/slider/slider.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/material/slider/slider.ts b/src/material/slider/slider.ts index 019043801915..0647aceda20b 100644 --- a/src/material/slider/slider.ts +++ b/src/material/slider/slider.ts @@ -704,7 +704,9 @@ export class MatSlider if (pointerPosition) { // Prevent the slide from selecting anything else. - event.preventDefault(); + if (event.cancelable) { + event.preventDefault(); + } const oldValue = this.value; this._lastPointerEvent = event; this._updateValueFromPosition(pointerPosition); @@ -727,7 +729,9 @@ export class MatSlider // seems like in most cases `touches` is empty for `touchend` events. findMatchingTouch(event.changedTouches, this._touchId) ) { - event.preventDefault(); + if (event.cancelable) { + event.preventDefault(); + } this._removeGlobalEvents(); this._isSliding = null; this._touchId = undefined;