⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 246029 in webkit


Ignore:
Timestamp:
Jun 2, 2019, 10:29:47 PM (7 years ago)
Author:
bshafiei@apple.com
Message:

Cherry-pick r245989. rdar://problem/51283532

iOS: Main frame should be scrollable when pinch zoomed or software keyboard is up
https://bugs.webkit.org/show_bug.cgi?id=198244

Reviewed by Simon Fraser.

Source/WebKit:

This is a follow up to r245006. Even when overflow: hidden is specified on the document body,
we still need to make it scrollable when the page is pinch zoomed or there is a content inset
e.g. for software keyboard. Otherwise, the user won't be able to get to the content that is
outside the visual viewport when pinch zoomed or the parts of the page that is not outside
the visual viewport due to the scrolling caused by the software keyboard being brought up.

  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _didCommitLayerTree:]):

LayoutTests:

Added regression tests.

  • fast/scrolling/ios/body-overflow-hidden-height-100-percent-keyboard-expected.txt: Added.
  • fast/scrolling/ios/body-overflow-hidden-height-100-percent-keyboard.html: Added.
  • fast/scrolling/ios/body-overflow-hidden-height-100-percent-zoomed-1-expected.txt: Added.
  • fast/scrolling/ios/body-overflow-hidden-height-100-percent-zoomed-1.html: Added.
  • fast/scrolling/ios/body-overflow-hidden-height-100-percent-zoomed-2-expected.txt: Added.
  • fast/scrolling/ios/body-overflow-hidden-height-100-percent-zoomed-2.html: Added.

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

Location:
branches/safari-608.1.27-branch
Files:
6 added
3 edited

Legend:

Unmodified
Added
Removed
  • branches/safari-608.1.27-branch/LayoutTests/ChangeLog

    r245985 r246029  
     12019-06-02  Babak Shafiei  <bshafiei@apple.com>
     2
     3        Cherry-pick r245989. rdar://problem/51283532
     4
     5    iOS: Main frame should be scrollable when pinch zoomed or software keyboard is up
     6    https://bugs.webkit.org/show_bug.cgi?id=198244
     7   
     8    Reviewed by Simon Fraser.
     9   
     10    Source/WebKit:
     11   
     12    This is a follow up to r245006. Even when overflow: hidden is specified on the document body,
     13    we still need to make it scrollable when the page is pinch zoomed or there is a content inset
     14    e.g. for software keyboard. Otherwise, the user won't be able to get to the content that is
     15    outside the visual viewport when pinch zoomed or the parts of the page that is not outside
     16    the visual viewport due to the scrolling caused by the software keyboard being brought up.
     17   
     18    * UIProcess/API/Cocoa/WKWebView.mm:
     19    (-[WKWebView _didCommitLayerTree:]):
     20   
     21    LayoutTests:
     22   
     23    Added regression tests.
     24   
     25    * fast/scrolling/ios/body-overflow-hidden-height-100-percent-keyboard-expected.txt: Added.
     26    * fast/scrolling/ios/body-overflow-hidden-height-100-percent-keyboard.html: Added.
     27    * fast/scrolling/ios/body-overflow-hidden-height-100-percent-zoomed-1-expected.txt: Added.
     28    * fast/scrolling/ios/body-overflow-hidden-height-100-percent-zoomed-1.html: Added.
     29    * fast/scrolling/ios/body-overflow-hidden-height-100-percent-zoomed-2-expected.txt: Added.
     30    * fast/scrolling/ios/body-overflow-hidden-height-100-percent-zoomed-2.html: Added.
     31   
     32   
     33    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245989 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     34
     35    2019-05-31  Ryosuke Niwa  <rniwa@webkit.org>
     36
     37            iOS: Main frame should be scrollable when pinch zoomed or software keyboard is up
     38            https://bugs.webkit.org/show_bug.cgi?id=198244
     39
     40            Reviewed by Simon Fraser.
     41
     42            Added regression tests.
     43
     44            * fast/scrolling/ios/body-overflow-hidden-height-100-percent-keyboard-expected.txt: Added.
     45            * fast/scrolling/ios/body-overflow-hidden-height-100-percent-keyboard.html: Added.
     46            * fast/scrolling/ios/body-overflow-hidden-height-100-percent-zoomed-1-expected.txt: Added.
     47            * fast/scrolling/ios/body-overflow-hidden-height-100-percent-zoomed-1.html: Added.
     48            * fast/scrolling/ios/body-overflow-hidden-height-100-percent-zoomed-2-expected.txt: Added.
     49            * fast/scrolling/ios/body-overflow-hidden-height-100-percent-zoomed-2.html: Added.
     50
    1512019-05-31  Kocsen Chung  <kocsen_chung@apple.com>
    252
  • branches/safari-608.1.27-branch/Source/WebKit/ChangeLog

    r245997 r246029  
     12019-06-02  Babak Shafiei  <bshafiei@apple.com>
     2
     3        Cherry-pick r245989. rdar://problem/51283532
     4
     5    iOS: Main frame should be scrollable when pinch zoomed or software keyboard is up
     6    https://bugs.webkit.org/show_bug.cgi?id=198244
     7   
     8    Reviewed by Simon Fraser.
     9   
     10    Source/WebKit:
     11   
     12    This is a follow up to r245006. Even when overflow: hidden is specified on the document body,
     13    we still need to make it scrollable when the page is pinch zoomed or there is a content inset
     14    e.g. for software keyboard. Otherwise, the user won't be able to get to the content that is
     15    outside the visual viewport when pinch zoomed or the parts of the page that is not outside
     16    the visual viewport due to the scrolling caused by the software keyboard being brought up.
     17   
     18    * UIProcess/API/Cocoa/WKWebView.mm:
     19    (-[WKWebView _didCommitLayerTree:]):
     20   
     21    LayoutTests:
     22   
     23    Added regression tests.
     24   
     25    * fast/scrolling/ios/body-overflow-hidden-height-100-percent-keyboard-expected.txt: Added.
     26    * fast/scrolling/ios/body-overflow-hidden-height-100-percent-keyboard.html: Added.
     27    * fast/scrolling/ios/body-overflow-hidden-height-100-percent-zoomed-1-expected.txt: Added.
     28    * fast/scrolling/ios/body-overflow-hidden-height-100-percent-zoomed-1.html: Added.
     29    * fast/scrolling/ios/body-overflow-hidden-height-100-percent-zoomed-2-expected.txt: Added.
     30    * fast/scrolling/ios/body-overflow-hidden-height-100-percent-zoomed-2.html: Added.
     31   
     32   
     33    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245989 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     34
     35    2019-05-31  Ryosuke Niwa  <rniwa@webkit.org>
     36
     37            iOS: Main frame should be scrollable when pinch zoomed or software keyboard is up
     38            https://bugs.webkit.org/show_bug.cgi?id=198244
     39
     40            Reviewed by Simon Fraser.
     41
     42            This is a follow up to r245006. Even when overflow: hidden is specified on the document body,
     43            we still need to make it scrollable when the page is pinch zoomed or there is a content inset
     44            e.g. for software keyboard. Otherwise, the user won't be able to get to the content that is
     45            outside the visual viewport when pinch zoomed or the parts of the page that is not outside
     46            the visual viewport due to the scrolling caused by the software keyboard being brought up.
     47
     48            * UIProcess/API/Cocoa/WKWebView.mm:
     49            (-[WKWebView _didCommitLayerTree:]):
     50
    1512019-05-31  Alan Coon  <alancoon@apple.com>
    252
  • branches/safari-608.1.27-branch/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm

    r245985 r246029  
    19891989    [_scrollView setZoomEnabled:layerTreeTransaction.allowsUserScaling()];
    19901990#if ENABLE(ASYNC_SCROLLING)
    1991     [_scrollView setScrollEnabled:_page->scrollingCoordinatorProxy()->hasScrollableMainFrame()];
     1991    bool hasDockedInputView = !CGRectIsEmpty(_inputViewBounds);
     1992    bool isZoomed = layerTreeTransaction.pageScaleFactor() > layerTreeTransaction.initialScaleFactor();
     1993    [_scrollView setScrollEnabled:_page->scrollingCoordinatorProxy()->hasScrollableMainFrame() || hasDockedInputView || isZoomed];
    19921994#endif
    19931995    if (!layerTreeTransaction.scaleWasSetByUIProcess() && ![_scrollView isZooming] && ![_scrollView isZoomBouncing] && ![_scrollView _isAnimatingZoom] && [_scrollView zoomScale] != layerTreeTransaction.pageScaleFactor()) {
Note: See TracChangeset for help on using the changeset viewer.