[Extra zoom mode] Remove effective font size constraints when determining focus zoom...
authorwenson_hsieh@apple.com <wenson_hsieh@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 4 Apr 2018 16:12:10 +0000 (16:12 +0000)
committerwenson_hsieh@apple.com <wenson_hsieh@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 4 Apr 2018 16:12:10 +0000 (16:12 +0000)
https://bugs.webkit.org/show_bug.cgi?id=184287
<rdar://problem/39063886>

Reviewed by Timothy Hatcher.

As it turns out, form controls on some important websites can be very wide, with a small font size, which
renders the approach taken in <https://trac.webkit.org/r230171> moot, since we'll just end up zooming to a scale
that is too large anyways. To mitigate this for now, remove the minimum font scaling threshold while we think of
more clever ways to account for this scenario.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _zoomToFocusRect:selectionRect:insideFixed:fontSize:minimumScale:maximumScale:allowScaling:forceScroll:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230257 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit/ChangeLog
Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm

index ed8d3c2..0bf4b80 100644 (file)
@@ -1,3 +1,19 @@
+2018-04-04  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        [Extra zoom mode] Remove effective font size constraints when determining focus zoom scale
+        https://bugs.webkit.org/show_bug.cgi?id=184287
+        <rdar://problem/39063886>
+
+        Reviewed by Timothy Hatcher.
+
+        As it turns out, form controls on some important websites can be very wide, with a small font size, which
+        renders the approach taken in <https://trac.webkit.org/r230171> moot, since we'll just end up zooming to a scale
+        that is too large anyways. To mitigate this for now, remove the minimum font scaling threshold while we think of
+        more clever ways to account for this scenario.
+
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _zoomToFocusRect:selectionRect:insideFixed:fontSize:minimumScale:maximumScale:allowScaling:forceScroll:]):
+
 2018-04-04  Fujii Hironori  <Hironori.Fujii@sony.com>
 
         [Win] WebFrameLoaderClient: 'getpid': identifier not found
index 8038365..1ccc085 100644 (file)
@@ -2154,7 +2154,6 @@ static WebCore::FloatPoint constrainContentOffset(WebCore::FloatPoint contentOff
     double scale = currentScale;
     if (allowScaling) {
 #if ENABLE(EXTRA_ZOOM_MODE)
-        const double minimumLegibleFontSize = 11;
         const CGFloat minimumMarginForZoomingToEntireFocusRectInWebViewCoordinates = 10;
         const CGFloat maximumMarginForZoomingToEntireFocusRectInWebViewCoordinates = 35;
 
@@ -2163,8 +2162,7 @@ static WebCore::FloatPoint constrainContentOffset(WebCore::FloatPoint contentOff
 
         double clampedMaximumTargetScale = clampTo<double>(std::min(visibleSize.width / CGRectGetWidth(minimumTargetRectInDocumentCoordinates), visibleSize.height / CGRectGetHeight(minimumTargetRectInDocumentCoordinates)), minimumScale, maximumScale);
         double clampedMinimumTargetScale = clampTo<double>(std::min(visibleSize.width / CGRectGetWidth(maximumTargetRectInDocumentCoordinates), visibleSize.height / CGRectGetHeight(maximumTargetRectInDocumentCoordinates)), minimumScale, maximumScale);
-        double targetScaleIgnoringFontSizeConstraints = clampTo<double>(currentScale, clampedMinimumTargetScale, clampedMaximumTargetScale);
-        scale = std::max<double>(minimumLegibleFontSize / fontSize, targetScaleIgnoringFontSizeConstraints);
+        scale = clampTo<double>(currentScale, clampedMinimumTargetScale, clampedMaximumTargetScale);
 #else
         const double webViewStandardFontSize = 16;
         scale = clampTo<double>(webViewStandardFontSize / fontSize, minimumScale, maximumScale);