Microsoft finds a way to resolve Chromium’s Pinch-Zoom issue on Windows 10 devices

by Rahul
August 20, 2019

Now that Microsoft is now a team player in the development of Chromium, new features and fixes are expected to arrive more frequently in all the browsers which are based on the open-source Chromium. Smooth scrolling is one of the noteworthy contributions that Microsoft made to the Chromium-based browsers such as the new Microsoft Edge, Google Chrome, Opera, etc.

The company now wants to fix another weird issue in Chromium. Microsoft has started to work on a fix to the Chromium’s pinch-zoom issue. According to a bug post, users cannot prevent pinch-zoom gesture on Windows 10 devices(via WindowsLatest). The bug can be reproduced on Macs too. However, the Windows 10 devices such as the Surface Book and Surface Pro are prone to the issue.

“It’s hard to reproduce intentionally. During work, a bug occurs 5 times per day. Also, the error is not reproduced on every computer. I’m facing it on MacBook 2016 and MacBook Pro 2018 13 inch sans touch bar. According to my subjective feelings, it’s easier to reproduce on Surface Book Pro,” a Microsoft engineered explained.

As per the author of the bug post, users are affected by the bug only when they try any one of the following activities:

  • Place cursor over the “Real prevent default handler” scroller
  • Do a fast touchpad fling (note, the scroller won’t actually scroll).
  • Immediately perform a pinch-zoom gesture.

Now, according to a recent commit by Microsoft Edge developers, a fix for the pinch-zoom issue seems to be underway.

“In two different scenarios: either the transition from scroll->pinch, or from fling->pinch. In both cases, events were being queued in the TouchpadPinchEventQueue, then TouchpadPinchEventQueue::ProcessMouseWheelAck was receiving ACKs, which TPEQ assumed were the ACKs for the events that it had already queued.”

“While this is often true, it was not always the case. Sometimes, the event ACKs from the scroll or fling would arrive after the pinch events had been queued already, in which case the ACKs would be processed as if they were for pinch events when they weren’t.”

In another commit, Microsoft noted that “Now with this change, if we are transitioning from a scroll to a pinch, the momentum_phase of an event is set to Blocked, signaling that a momentum scroll will not happen. We then immediately dispatch the end event without waiting.”

You can expect the fix to arrive in the future Chromium updates.

Leave a Reply

Your email address will not be published. Required fields are marked

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}