Changeset 219829 in webkit
- Timestamp:
- Jul 24, 2017 11:07:31 AM (7 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r219825 r219829 1 2017-07-24 Simon Fraser <simon.fraser@apple.com> 2 3 Revert "client" coordinates to be in scrolling coordinates 4 https://bugs.webkit.org/show_bug.cgi?id=174734 5 rdar://problem/33336930 6 7 Reviewed by Tim Horton. 8 9 Rebaseline. 10 11 * fast/events/ios/no-touch-events-when-stopping-momentum-scroll-in-mainframe-expected.txt: 12 * fast/visual-viewport/client-coordinates-relative-to-layout-viewport-expected.txt: 13 * fast/visual-viewport/client-rects-relative-to-layout-viewport-expected.txt: 14 * fast/visual-viewport/zoomed-fixed-expected.txt: 15 * fast/visual-viewport/zoomed-fixed-header-and-footer-expected.txt: 16 * fast/zooming/client-rect-in-fixed-zoomed-expected.txt: 17 * platform/ios-wk2/fast/visual-viewport/client-rects-relative-to-layout-viewport-expected.txt: 18 * platform/ios-wk2/imported/w3c/web-platform-tests/cssom-view/elementFromPoint-expected.txt: Added. 19 * platform/ios/fast/visual-viewport/zoomed-fixed-expected.txt: 20 * platform/ios/fast/visual-viewport/zoomed-fixed-header-and-footer-expected.txt: 21 1 22 2017-07-24 Matt Lewis <jlewis3@apple.com> 2 23 -
trunk/LayoutTests/fast/events/ios/no-touch-events-when-stopping-momentum-scroll-in-mainframe-expected.txt
r219310 r219829 1 1 PASS document.body.scrollTop became different from 0 2 2 PASS document.getElementById('touches').textContent is "1" 3 PASS document.getElementById('touches').textContent is "1" 4 PASS document.getElementById('touches').textContent is "2" 3 FAIL document.getElementById('touches').textContent should be 1. Was 2. 4 FAIL document.getElementById('touches').textContent should be 2. Was 3. 5 5 PASS successfullyParsed is true 6 6 … … 8 8 To manually test, swipe down to scroll in the document. The touch count should update to 1. Tap anywhere to stop scrolling while decelerating. The touch count should remain at 1. Then tap again in the document. The touch count should be 2. 9 9 10 The touch count is: 210 The touch count is: 3 -
trunk/LayoutTests/fast/visual-viewport/client-coordinates-relative-to-layout-viewport-expected.txt
r216824 r219829 7 7 RenderText {#text} at (0,0) size 79x18 8 8 text run at (0,0) width 79: "Got click at " 9 RenderInline {SPAN} at (0,0) size 1 23x1810 RenderText {#text} at (78,0) size 1 23x1811 text run at (78,0) width 1 23: "clicked at 292, 240"12 layer at ( 278,226) size 28x2813 RenderBlock (positioned) {DIV} at ( 278,226) size 28x28 [bgcolor=#FF0000]9 RenderInline {SPAN} at (0,0) size 104x18 10 RenderText {#text} at (78,0) size 104x18 11 text run at (78,0) width 104: "clicked at 52, -6" 12 layer at (38,-20) size 28x28 backgroundClip at (0,0) size 2008x3024 clip at (0,0) size 2008x3024 13 RenderBlock (positioned) {DIV} at (38,-20) size 28x28 [bgcolor=#FF0000] 14 14 layer at (280,228) size 25x25 15 15 RenderBlock (positioned) {DIV} at (279,227) size 26x26 [bgcolor=#008000] 16 16 layer at (281,229) size 22x22 17 17 RenderBlock (positioned) {DIV} at (281,229) size 22x22 [bgcolor=#FFA500] 18 layer at ( 284,232) size 16x1619 RenderBlock (positioned) {DIV} at ( 284,232) size 16x16 [bgcolor=#0000FF]18 layer at (44,-14) size 16x16 backgroundClip at (0,0) size 2008x3024 clip at (0,0) size 2008x3024 19 RenderBlock (positioned) {DIV} at (44,-14) size 16x16 [bgcolor=#0000FF] 20 20 caret: position 12 of child 0 {#text} of child 9 {P} of body 21 21 scrolled to 120,123 -
trunk/LayoutTests/fast/visual-viewport/client-rects-relative-to-layout-viewport-expected.txt
r216817 r219829 14 14 layoutViewport: 83.5, 233.5 - 785 x 585 15 15 visualViewportRect: 476, 526 - 392.5 x 292.5 16 fixed client bounds: 12, 10- 30 x 2017 fixed client rect: 12, 10- 30 x 2018 absolute client bounds: 36.5, -133.5- 50 x 2519 absolute client rect: 36.5, -133.5- 50 x 2516 fixed client bounds: -856.5, -808.5 - 30 x 20 17 fixed client rect: -856.5, -808.5 - 30 x 20 18 absolute client bounds: -832, -952 - 50 x 25 19 absolute client rect: -832, -952 - 50 x 25 20 20 21 21 Scrolled to 100, 776 22 22 layoutViewport: 83.5, 483.5 - 785 x 585 23 23 visualViewportRect: 100, 776 - 392.5 x 292.5 24 fixed client bounds: 12, 10- 30 x 2025 fixed client rect: 12, 10- 30 x 2026 absolute client bounds: 36.5, -383.5- 50 x 2527 absolute client rect: 36.5, -383.5- 50 x 2524 fixed client bounds: -104.5, -1058.5 - 30 x 20 25 fixed client rect: -104.5, -1058.5 - 30 x 20 26 absolute client bounds: -80, -1452 - 50 x 25 27 absolute client rect: -80, -1452 - 50 x 25 28 28 29 29 Scrolled to 50, 300 30 30 layoutViewport: 50, 300 - 785 x 585 31 31 visualViewportRect: 50, 300 - 392.5 x 292.5 32 fixed client bounds: 12, 10 - 30 x 2033 fixed client rect: 12, 10 - 30 x 2034 absolute client bounds: 70, -200 - 50 x 2535 absolute client rect: 70, -200 - 50 x 2532 fixed client bounds: -38, -290 - 30 x 20 33 fixed client rect: -38, -290 - 30 x 20 34 absolute client bounds: 20, -500 - 50 x 25 35 absolute client rect: 20, -500 - 50 x 25 36 36 PASS successfullyParsed is true 37 37 -
trunk/LayoutTests/fast/visual-viewport/zoomed-fixed-expected.txt
r216803 r219829 19 19 JSON.stringify(internals.visualViewportRect()) is {"x":475,"y":525,"width":392.5,"height":292.5,"top":525,"right":867.5,"bottom":817.5,"left":475} 20 20 client rect of top: 21 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":0,"width":785,"height":100,"top":0,"right":785,"bottom":100,"left":0}21 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-867.5,"y":-817.5,"width":785,"height":100,"top":-817.5,"right":-82.5,"bottom":-717.5,"left":-867.5} 22 22 client rect of bottom: 23 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":485,"width":785,"height":100,"top":485,"right":785,"bottom":585,"left":0}23 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-867.5,"y":-332.5,"width":785,"height":100,"top":-332.5,"right":-82.5,"bottom":-232.5,"left":-867.5} 24 24 client rect of left: 25 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":0,"width":100,"height":585,"top":0,"right":100,"bottom":585,"left":0}25 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-867.5,"y":-817.5,"width":100,"height":585,"top":-817.5,"right":-767.5,"bottom":-232.5,"left":-867.5} 26 26 client rect of right: 27 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 685,"y":0,"width":100,"height":585,"top":0,"right":785,"bottom":585,"left":685}27 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-182.5,"y":-817.5,"width":100,"height":585,"top":-817.5,"right":-82.5,"bottom":-232.5,"left":-182.5} 28 28 29 29 Scrolled to 100, 776 … … 31 31 JSON.stringify(internals.visualViewportRect()) is {"x":100,"y":776,"width":392.5,"height":292.5,"top":776,"right":492.5,"bottom":1068.5,"left":100} 32 32 client rect of top: 33 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":0,"width":785,"height":100,"top":0,"right":785,"bottom":100,"left":0}33 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-117.5,"y":-1068.5,"width":785,"height":100,"top":-1068.5,"right":667.5,"bottom":-968.5,"left":-117.5} 34 34 client rect of bottom: 35 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":485,"width":785,"height":100,"top":485,"right":785,"bottom":585,"left":0}35 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-117.5,"y":-583.5,"width":785,"height":100,"top":-583.5,"right":667.5,"bottom":-483.5,"left":-117.5} 36 36 client rect of left: 37 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":0,"width":100,"height":585,"top":0,"right":100,"bottom":585,"left":0}37 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-117.5,"y":-1068.5,"width":100,"height":585,"top":-1068.5,"right":-17.5,"bottom":-483.5,"left":-117.5} 38 38 client rect of right: 39 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 685,"y":0,"width":100,"height":585,"top":0,"right":785,"bottom":585,"left":685}39 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":567.5,"y":-1068.5,"width":100,"height":585,"top":-1068.5,"right":667.5,"bottom":-483.5,"left":567.5} 40 40 41 41 Scrolled to 50, 300 … … 43 43 JSON.stringify(internals.visualViewportRect()) is {"x":50,"y":300,"width":392.5,"height":292.5,"top":300,"right":442.5,"bottom":592.5,"left":50} 44 44 client rect of top: 45 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":0,"width":785,"height":100,"top":0,"right":785,"bottom":100,"left":0}45 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-50,"y":-300,"width":785,"height":100,"top":-300,"right":735,"bottom":-200,"left":-50} 46 46 client rect of bottom: 47 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":485,"width":785,"height":100,"top":485,"right":785,"bottom":585,"left":0}47 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-50,"y":185,"width":785,"height":100,"top":185,"right":735,"bottom":285,"left":-50} 48 48 client rect of left: 49 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":0,"width":100,"height":585,"top":0,"right":100,"bottom":585,"left":0}49 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-50,"y":-300,"width":100,"height":585,"top":-300,"right":50,"bottom":285,"left":-50} 50 50 client rect of right: 51 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":6 85,"y":0,"width":100,"height":585,"top":0,"right":785,"bottom":585,"left":685}51 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":635,"y":-300,"width":100,"height":585,"top":-300,"right":735,"bottom":285,"left":635} 52 52 PASS successfullyParsed is true 53 53 -
trunk/LayoutTests/fast/visual-viewport/zoomed-fixed-header-and-footer-expected.txt
r216803 r219829 19 19 JSON.stringify(internals.visualViewportRect()) is {"x":475,"y":503.5,"width":392.5,"height":292.5,"top":503.5,"right":867.5,"bottom":796,"left":475} 20 20 client rect of top: 21 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":0,"width":785,"height":100,"top":0,"right":785,"bottom":100,"left":0}21 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-867.5,"y":-839,"width":785,"height":100,"top":-839,"right":-82.5,"bottom":-739,"left":-867.5} 22 22 client rect of bottom: 23 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":485,"width":785,"height":100,"top":485,"right":785,"bottom":585,"left":0}23 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-867.5,"y":-354,"width":785,"height":100,"top":-354,"right":-82.5,"bottom":-254,"left":-867.5} 24 24 client rect of left: 25 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":0,"width":100,"height":585,"top":0,"right":100,"bottom":585,"left":0}25 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-867.5,"y":-839,"width":100,"height":585,"top":-839,"right":-767.5,"bottom":-254,"left":-867.5} 26 26 client rect of right: 27 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 685,"y":0,"width":100,"height":585,"top":0,"right":785,"bottom":585,"left":685}27 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-182.5,"y":-839,"width":100,"height":585,"top":-839,"right":-82.5,"bottom":-254,"left":-182.5} 28 28 29 29 Scrolled to 100, 776 … … 31 31 JSON.stringify(internals.visualViewportRect()) is {"x":100,"y":754.5,"width":392.5,"height":292.5,"top":754.5,"right":492.5,"bottom":1047,"left":100} 32 32 client rect of top: 33 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":0,"width":785,"height":100,"top":0,"right":785,"bottom":100,"left":0}33 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-117.5,"y":-1090,"width":785,"height":100,"top":-1090,"right":667.5,"bottom":-990,"left":-117.5} 34 34 client rect of bottom: 35 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":485,"width":785,"height":100,"top":485,"right":785,"bottom":585,"left":0}35 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-117.5,"y":-605,"width":785,"height":100,"top":-605,"right":667.5,"bottom":-505,"left":-117.5} 36 36 client rect of left: 37 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":0,"width":100,"height":585,"top":0,"right":100,"bottom":585,"left":0}37 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-117.5,"y":-1090,"width":100,"height":585,"top":-1090,"right":-17.5,"bottom":-505,"left":-117.5} 38 38 client rect of right: 39 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 685,"y":0,"width":100,"height":585,"top":0,"right":785,"bottom":585,"left":685}39 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":567.5,"y":-1090,"width":100,"height":585,"top":-1090,"right":667.5,"bottom":-505,"left":567.5} 40 40 41 41 Scrolled to 50, 300 … … 43 43 JSON.stringify(internals.visualViewportRect()) is {"x":50,"y":278.5,"width":392.5,"height":292.5,"top":278.5,"right":442.5,"bottom":571,"left":50} 44 44 client rect of top: 45 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":0,"width":785,"height":100,"top":0,"right":785,"bottom":100,"left":0}45 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-50,"y":-321.5,"width":785,"height":100,"top":-321.5,"right":735,"bottom":-221.5,"left":-50} 46 46 client rect of bottom: 47 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":485,"width":785,"height":100,"top":485,"right":785,"bottom":585,"left":0}47 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-50,"y":163.5,"width":785,"height":100,"top":163.5,"right":735,"bottom":263.5,"left":-50} 48 48 client rect of left: 49 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":0,"width":100,"height":585,"top":0,"right":100,"bottom":585,"left":0}49 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-50,"y":-321.5,"width":100,"height":585,"top":-321.5,"right":50,"bottom":263.5,"left":-50} 50 50 client rect of right: 51 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":6 85,"y":0,"width":100,"height":585,"top":0,"right":785,"bottom":585,"left":685}51 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":635,"y":-321.5,"width":100,"height":585,"top":-321.5,"right":735,"bottom":263.5,"left":635} 52 52 PASS successfullyParsed is true 53 53 -
trunk/LayoutTests/fast/zooming/client-rect-in-fixed-zoomed-expected.txt
r216803 r219829 5 5 6 6 PASS internals.pageScaleFactor() is 2 7 PASS JSON.stringify(clientRect) is JSON.stringify({x: 22, y: 32, width: 20, height: 10, top: 32, right: 42, bottom:42, left: 22}) 7 FAIL JSON.stringify(clientRect) should be {"x":22,"y":32,"width":20,"height":10,"top":32,"right":42,"bottom":42,"left":22}. Was {"x":22,"y":-248,"width":20,"height":10,"top":-248,"right":42,"bottom":-238,"left":22}. 8 8 PASS successfullyParsed is true 9 9 -
trunk/LayoutTests/platform/ios-wk2/fast/visual-viewport/client-rects-relative-to-layout-viewport-expected.txt
r219668 r219829 14 14 layoutViewport: 76, 226 - 800 x 600 15 15 visualViewportRect: 476, 526 - 400 x 300 16 fixed client bounds: 12, 10 - 30 x 2017 fixed client rect: 12, 10 - 30 x 2018 absolute client bounds: 44, -126 - 50 x 2519 absolute client rect: 44, -126 - 50 x 2516 fixed client bounds: -388, -290 - 30 x 20 17 fixed client rect: -388, -290 - 30 x 20 18 absolute client bounds: -356, -426 - 50 x 25 19 absolute client rect: -356, -426 - 50 x 25 20 20 21 21 Scrolled to 100, 776 22 22 layoutViewport: 76, 476 - 800 x 600 23 23 visualViewportRect: 100, 776 - 400 x 300 24 fixed client bounds: 12, 10 - 30 x 2025 fixed client rect: 12, 10 - 30 x 2026 absolute client bounds: 44, -376 - 50 x 2527 absolute client rect: 44, -376 - 50 x 2524 fixed client bounds: -12, -290 - 30 x 20 25 fixed client rect: -12, -290 - 30 x 20 26 absolute client bounds: 20, -676 - 50 x 25 27 absolute client rect: 20, -676 - 50 x 25 28 28 29 29 Scrolled to 50, 300 -
trunk/LayoutTests/platform/ios/fast/visual-viewport/zoomed-fixed-expected.txt
r219668 r219829 19 19 JSON.stringify(internals.visualViewportRect()) is {"x":475,"y":525,"width":400,"height":300,"top":525,"right":875,"bottom":825,"left":475} 20 20 client rect of top: 21 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":0,"width":800,"height":100,"top":0,"right":800,"bottom":100,"left":0}21 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-400,"y":-300,"width":800,"height":100,"top":-300,"right":400,"bottom":-200,"left":-400} 22 22 client rect of bottom: 23 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":500,"width":800,"height":100,"top":500,"right":800,"bottom":600,"left":0}23 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-400,"y":200,"width":800,"height":100,"top":200,"right":400,"bottom":300,"left":-400} 24 24 client rect of left: 25 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":0,"width":100,"height":600,"top":0,"right":100,"bottom":600,"left":0}25 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-400,"y":-300,"width":100,"height":600,"top":-300,"right":-300,"bottom":300,"left":-400} 26 26 client rect of right: 27 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 700,"y":0,"width":100,"height":600,"top":0,"right":800,"bottom":600,"left":700}27 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":300,"y":-300,"width":100,"height":600,"top":-300,"right":400,"bottom":300,"left":300} 28 28 29 29 Scrolled to 100, 776 … … 31 31 JSON.stringify(internals.visualViewportRect()) is {"x":100,"y":776,"width":400,"height":300,"top":776,"right":500,"bottom":1076,"left":100} 32 32 client rect of top: 33 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":0,"width":800,"height":100,"top":0,"right":800,"bottom":100,"left":0}33 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-25,"y":-300,"width":800,"height":100,"top":-300,"right":775,"bottom":-200,"left":-25} 34 34 client rect of bottom: 35 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":500,"width":800,"height":100,"top":500,"right":800,"bottom":600,"left":0}35 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-25,"y":200,"width":800,"height":100,"top":200,"right":775,"bottom":300,"left":-25} 36 36 client rect of left: 37 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":0,"width":100,"height":600,"top":0,"right":100,"bottom":600,"left":0}37 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-25,"y":-300,"width":100,"height":600,"top":-300,"right":75,"bottom":300,"left":-25} 38 38 client rect of right: 39 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 700,"y":0,"width":100,"height":600,"top":0,"right":800,"bottom":600,"left":700}39 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":675,"y":-300,"width":100,"height":600,"top":-300,"right":775,"bottom":300,"left":675} 40 40 41 41 Scrolled to 50, 300 -
trunk/LayoutTests/platform/ios/fast/visual-viewport/zoomed-fixed-header-and-footer-expected.txt
r219668 r219829 19 19 JSON.stringify(internals.visualViewportRect()) is {"x":475,"y":482,"width":400,"height":300,"top":482,"right":875,"bottom":782,"left":475} 20 20 client rect of top: 21 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":0,"width":800,"height":100,"top":0,"right":800,"bottom":100,"left":0}21 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-400,"y":-343,"width":800,"height":100,"top":-343,"right":400,"bottom":-243,"left":-400} 22 22 client rect of bottom: 23 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":500,"width":800,"height":100,"top":500,"right":800,"bottom":600,"left":0}23 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-400,"y":157,"width":800,"height":100,"top":157,"right":400,"bottom":257,"left":-400} 24 24 client rect of left: 25 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":0,"width":100,"height":600,"top":0,"right":100,"bottom":600,"left":0}25 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-400,"y":-343,"width":100,"height":600,"top":-343,"right":-300,"bottom":257,"left":-400} 26 26 client rect of right: 27 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 700,"y":0,"width":100,"height":600,"top":0,"right":800,"bottom":600,"left":700}27 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":300,"y":-343,"width":100,"height":600,"top":-343,"right":400,"bottom":257,"left":300} 28 28 29 29 Scrolled to 100, 776 … … 31 31 JSON.stringify(internals.visualViewportRect()) is {"x":100,"y":733,"width":400,"height":300,"top":733,"right":500,"bottom":1033,"left":100} 32 32 client rect of top: 33 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":0,"width":800,"height":100,"top":0,"right":800,"bottom":100,"left":0}33 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-25,"y":-343,"width":800,"height":100,"top":-343,"right":775,"bottom":-243,"left":-25} 34 34 client rect of bottom: 35 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":500,"width":800,"height":100,"top":500,"right":800,"bottom":600,"left":0}35 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-25,"y":157,"width":800,"height":100,"top":157,"right":775,"bottom":257,"left":-25} 36 36 client rect of left: 37 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 0,"y":0,"width":100,"height":600,"top":0,"right":100,"bottom":600,"left":0}37 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":-25,"y":-343,"width":100,"height":600,"top":-343,"right":75,"bottom":257,"left":-25} 38 38 client rect of right: 39 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x": 700,"y":0,"width":100,"height":600,"top":0,"right":800,"bottom":600,"left":700}39 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":675,"y":-343,"width":100,"height":600,"top":-343,"right":775,"bottom":257,"left":675} 40 40 41 41 Scrolled to 50, 300 … … 43 43 JSON.stringify(internals.visualViewportRect()) is {"x":50,"y":257,"width":400,"height":300,"top":257,"right":450,"bottom":557,"left":50} 44 44 client rect of top: 45 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":0,"y": 0,"width":800,"height":100,"top":0,"right":800,"bottom":100,"left":0}45 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":0,"y":-43,"width":800,"height":100,"top":-43,"right":800,"bottom":57,"left":0} 46 46 client rect of bottom: 47 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":0,"y": 500,"width":800,"height":100,"top":500,"right":800,"bottom":600,"left":0}47 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":0,"y":457,"width":800,"height":100,"top":457,"right":800,"bottom":557,"left":0} 48 48 client rect of left: 49 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":0,"y": 0,"width":100,"height":600,"top":0,"right":100,"bottom":600,"left":0}49 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":0,"y":-43,"width":100,"height":600,"top":-43,"right":100,"bottom":557,"left":0} 50 50 client rect of right: 51 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":700,"y": 0,"width":100,"height":600,"top":0,"right":800,"bottom":600,"left":700}51 JSON.stringify(fixedElement.getBoundingClientRect()) is {"x":700,"y":-43,"width":100,"height":600,"top":-43,"right":800,"bottom":557,"left":700} 52 52 PASS successfullyParsed is true 53 53 -
trunk/Source/WebCore/ChangeLog
r219819 r219829 1 2017-07-24 Simon Fraser <simon.fraser@apple.com> 2 3 Change "client" coordinates back to match scrolling coordinates 4 https://bugs.webkit.org/show_bug.cgi?id=174734 5 rdar://problem/33336930 6 7 Reviewed by Tim Horton. 8 9 Baidu.com (which uses jQuery), and various iOS apps make the assumption that getBoundingClientRect() returns a rectangle 10 that can be used to set or compare with the scroll position. With visual viewports, that assumption is no longer valid 11 when the page is zoomed, or when the keyboard has caused the visual viewport to detach from the layout viewport. 12 13 At this point the compatibility cost of shipping layout viewport-based client rects seems higher than the gain, so revert 14 to the shipping behavior. This reverts r216803, and will re-introduce bugs that occurred on zoomed pages on macOS, 15 many of which are noted in webkit.org/b/170981. 16 17 * page/FrameView.cpp: 18 (WebCore::FrameView::documentToClientOffset): 19 1 20 2017-07-24 Zan Dobersek <zdobersek@igalia.com> 2 21 -
trunk/Source/WebCore/page/FrameView.cpp
r219668 r219829 4932 4932 FloatSize FrameView::documentToClientOffset() const 4933 4933 { 4934 FloatSize clientOrigin = frame().settings().visualViewportEnabled() ? -toFloatSize(layoutViewportRect().location()) :-toFloatSize(visibleContentRect().location());4934 FloatSize clientOrigin = -toFloatSize(visibleContentRect().location()); 4935 4935 4936 4936 // Layout and visual viewports are affected by page zoom, so we need to factor that out.
Note: See TracChangeset
for help on using the changeset viewer.