commit | d437eddbe6892328354402305ee1116c9cd8f2ef | [log] [tgz] |
---|---|---|
author | David Bokan <bokan@chromium.org> | Fri Feb 09 21:12:07 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Fri Feb 09 21:12:07 2018 |
tree | 2dc4bc06923ff92972c4d31c070cb282972b3ab7 | |
parent | acbcd628511535fda748c64c3a8f280078ca5256 [diff] |
Fix double-tap zoom with root-layer-scrolls This requires fixing a few coordinate conversions. Prior to RLS, contents, document and absolute coordinates are equivalent and they are not affected by the scroll offset. When RLS is turned on, the LayoutView PaintLayerScrollableArea (which is the Frame's "contents") is the same size as the frame so contents coordinates are equivalent to absolute. This CL disambiguates whether each call wants to use absolute coordinates or document coordinates. For hit testing, we muse use absolute since that's what hit testing code expects. The call to PixelSnappedBoundingBox also returns a rect in absolute coordinates so I cleaned it up and fixed the conversion to root frame. The scroll offset/target position are expected by CC in document coordinates so I changed those call sites. Existing tests didn't catch this because they all perform the double tap when the page isn't scrolled - in that case, document, absolute, frame, content are all the same. I've added a test that performs a zoom in and zoom out at a non-0 scroll offset. Bug: 808552 Change-Id: Iea512e69ac5af349ad66e866314e9f9ebb2571a7 Reviewed-on: https://chromium-review.googlesource.com/907343 Reviewed-by: Steve Kobes <skobes@chromium.org> Commit-Queue: David Bokan <bokan@chromium.org> Cr-Commit-Position: refs/heads/master@{#535827}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .