RESOLVED FIXED 187673
Correctly adjust scroll offsets when a page is zoomed
https://bugs.webkit.org/show_bug.cgi?id=187673
Summary Correctly adjust scroll offsets when a page is zoomed
Megan Gardner
Reported 2018-07-13 17:03:48 PDT
Correctly adjust scroll offsets when a page is zoomed
Attachments
Patch (4.48 KB, patch)
2018-07-13 17:07 PDT, Megan Gardner
no flags
Patch (6.30 KB, patch)
2018-07-16 16:07 PDT, Megan Gardner
no flags
Patch for landing (6.00 KB, patch)
2018-07-16 18:43 PDT, Megan Gardner
no flags
Megan Gardner
Comment 1 2018-07-13 17:07:41 PDT
Wenson Hsieh
Comment 2 2018-07-13 17:30:43 PDT
Comment on attachment 345005 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=345005&action=review > Source/WebCore/page/ios/EventHandlerIOS.mm:595 > + float insetScreenLeftEdge = screenLeftEdge + edgeDistanceThreashold.width; Nit - edgeDistanceThreashold => edgeDistanceThreshold
Megan Gardner
Comment 3 2018-07-14 00:45:47 PDT
Wenson Hsieh
Comment 4 2018-07-14 20:55:05 PDT
Comment on attachment 345005 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=345005&action=review > Source/WebCore/page/ios/EventHandlerIOS.mm:591 > + CGSize edgeDistanceThreashold = CGRect(screenRect).size; These three lines can just be `CGSize edgeDistanceThreshold = screenRect.size() / 10;`. Not new to this patch, but I think screenPoint and screenRect are confusing names — it wasn't obvious to me that these are actually in content coordinates (when first reading this, I had assumed that these were in screen coordinates). Should these be `positionInContentCoordinates` and `unobscuredContentRect` instead? However, as Tim pointed out in https://bugs.webkit.org/show_bug.cgi?id=182815, it seems a bit weird that this threshold would be so different depending on screen size (i.e. it would be much easier to get to the autoscroll margins on the largest iPad Pro, and more difficult on the smallest iPhone)...I think a fixed distance around the edges avoids this problem, but since screenPoint and screenRect are in content coordinates, we need to adjust for the scale here.
Megan Gardner
Comment 5 2018-07-16 16:07:16 PDT
Wenson Hsieh
Comment 6 2018-07-16 18:12:26 PDT
Comment on attachment 345127 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=345127&action=review This looks reasonable to me, with a few minor nits. > Source/WebCore/ChangeLog:11 > + Instead of just setting the offset arbitrarily to 100, use the screen rect We should update the ChangeLog to reflect the new changes. > Source/WebCore/page/ios/EventHandlerIOS.mm:593 > + CGSize edgeDistanceThreshold = CGRect(unobscuredContentRect).size; Can we just CGSizeMake(EDGE_DISTANCE_THRESHOLD / zoomFactor, EDGE_DISTANCE_THRESHOLD / zoomFactor)?
Megan Gardner
Comment 7 2018-07-16 18:43:23 PDT
Created attachment 345135 [details] Patch for landing
WebKit Commit Bot
Comment 8 2018-07-16 19:39:23 PDT
The commit-queue encountered the following flaky tests while processing attachment 345135 [details]: The commit-queue is continuing to process your patch.
WebKit Commit Bot
Comment 9 2018-07-16 19:39:24 PDT
The commit-queue encountered the following flaky tests while processing attachment 345135 [details]: The commit-queue is continuing to process your patch.
WebKit Commit Bot
Comment 10 2018-07-16 20:38:30 PDT
The commit-queue encountered the following flaky tests while processing attachment 345135 [details]: The commit-queue is continuing to process your patch.
WebKit Commit Bot
Comment 11 2018-07-16 20:38:31 PDT
The commit-queue encountered the following flaky tests while processing attachment 345135 [details]: The commit-queue is continuing to process your patch.
WebKit Commit Bot
Comment 12 2018-07-16 21:44:29 PDT
Comment on attachment 345135 [details] Patch for landing Clearing flags on attachment: 345135 Committed r233883: <https://trac.webkit.org/changeset/233883>
WebKit Commit Bot
Comment 13 2018-07-16 21:44:31 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.