Rotating when zoomed in with fingers down can result in a broken tab
authorsimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 15 Dec 2017 21:12:43 +0000 (21:12 +0000)
committersimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 15 Dec 2017 21:12:43 +0000 (21:12 +0000)
commit920576478fb1615018214dd88fe2df629cccf0b7
tree54bc8505d0c7340454ecf65e7204376bb725c8b6
parent3a3dd138d160f6a62736bd7298ed8367aea5304a
Rotating when zoomed in with fingers down can result in a broken tab
https://bugs.webkit.org/show_bug.cgi?id=180859
rdar://problem/34532817

Reviewed by Tim Horton.

If you zoom in fully, then, with two fingers down, rotate the iPhone and rotate back,
then the tab can get into a broken state where the WKContentView has a non-zero position
which may push it entirely off-screen. The tab never recovers.

This is caused by a bug in UIKit (rdar://problem/36065495) so work around it by always
re-setting the position of the content view after zooming. We initialize contentView.frame
from self.bounds, so setting the position (via "center") to the bounds origin should always be safe.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView scrollViewDidEndZooming:withView:atScale:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@225981 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebKit/ChangeLog
Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm