Keep the visual viewport transform out of Element client rects and IntersectionObserver geometry. Pinch zoom should change the visual viewport, but not the layout viewport coordinates exposed through DOM geometry APIs. Thread an opt-out through rectangle mapping so paint and hit testing still use the full visual transform while web-observable geometry can stay in layout viewport coordinates. This matches the Blink and WebKit page scale model and keeps responsive script from treating pinch zoom like a relayout. Add coverage for getBoundingClientRect() under pinch zoom and visual viewport IntersectionObserver geometry.
11 lines
437 B
Text
11 lines
437 B
Text
visualViewport: 533.333x400.000 scale=1.500
|
|
visualViewport offset: 33.328,33.328
|
|
top-left target origin: 0.000,0.000
|
|
top-left target size: 100.000x100.000
|
|
top-left rootBounds origin: 0.000,0.000
|
|
top-left rootBounds size: 800.000x600.000
|
|
top-left intersectionRect origin: 0.000,0.000
|
|
top-left intersectionRect size: 100.000x100.000
|
|
top-left intersectionRatio: 1.000
|
|
right target isIntersecting: PASS
|
|
right target intersectionRatio: 1.000
|