Index: chrome/browser/resources/pdf/gesture_detector.js |
diff --git a/chrome/browser/resources/pdf/gesture_detector.js b/chrome/browser/resources/pdf/gesture_detector.js |
index b8b1a7b87547add04aa5ba592f8b5683a6cd0ab2..091707649d2072235ef1aae33be0f23886b12f09 100644 |
--- a/chrome/browser/resources/pdf/gesture_detector.js |
+++ b/chrome/browser/resources/pdf/gesture_detector.js |
@@ -26,6 +26,7 @@ class GestureDetector { |
'touchcancel', this.onTouch_.bind(this), { passive: true }); |
this.pinchStartEvent_ = null; |
+ this.lastTouchTouchesCount_ = 0; |
this.lastEvent_ = null; |
this.listeners_ = new Map([ |
@@ -47,6 +48,14 @@ class GestureDetector { |
} |
/** |
+ * Returns true if the last touch start was a two finger touch. |
+ * @return {boolean} True if the last touch start was a two finger touch. |
+ */ |
+ wasTwoFingerTouch() { |
+ return this.lastTouchTouchesCount_ == 2; |
+ } |
+ |
+ /** |
* Call the relevant listeners with the given |pinchEvent|. |
* @private |
* @param {!Object} pinchEvent The event to notify the listeners of. |
@@ -64,14 +73,16 @@ class GestureDetector { |
* @param {!TouchEvent} event Touch event on the element. |
*/ |
onTouchStart_(event) { |
- if (event.touches.length == 2) { |
- this.pinchStartEvent_ = event; |
- this.lastEvent_ = event; |
- this.notify_({ |
- type: 'pinchstart', |
- center: GestureDetector.center_(event) |
- }); |
- } |
+ this.lastTouchTouchesCount_ = event.touches.length; |
+ if (!this.wasTwoFingerTouch()) |
+ return; |
+ |
+ this.pinchStartEvent_ = event; |
+ this.lastEvent_ = event; |
+ this.notify_({ |
+ type: 'pinchstart', |
+ center: GestureDetector.center_(event) |
+ }); |
} |
/** |