Bug 199152 - [iOS] Scrolling on an enlarged Facebook video gets locked on the main frame
Summary: [iOS] Scrolling on an enlarged Facebook video gets locked on the main frame
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Scrolling (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2019-06-24 06:47 PDT by Antti Koivisto
Modified: 2022-02-09 10:13 PST (History)
9 users (show)

See Also:


Attachments
patch (11.41 KB, patch)
2019-06-24 07:08 PDT, Antti Koivisto
no flags Details | Formatted Diff | Diff
patch (11.39 KB, patch)
2019-06-24 07:19 PDT, Antti Koivisto
no flags Details | Formatted Diff | Diff
patch (11.39 KB, patch)
2019-06-24 07:24 PDT, Antti Koivisto
ews-watchlist: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from ews124 for ios-simulator-wk2 (2.65 MB, application/zip)
2019-06-24 09:26 PDT, EWS Watchlist
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Antti Koivisto 2019-06-24 06:47:34 PDT
1. Navigate to https://www.facebook.com/
2. Tap the enlarge button on a video
3. Attempt to scroll
Comment 1 Antti Koivisto 2019-06-24 06:47:50 PDT
<rdar://problem/51376074>
Comment 2 Antti Koivisto 2019-06-24 07:08:08 PDT
Created attachment 372755 [details]
patch
Comment 3 Antti Koivisto 2019-06-24 07:19:30 PDT
Created attachment 372757 [details]
patch
Comment 4 Antti Koivisto 2019-06-24 07:24:59 PDT
Created attachment 372758 [details]
patch
Comment 5 Simon Fraser (smfr) 2019-06-24 08:30:22 PDT
Comment on attachment 372758 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=372758&action=review

> Source/WebKit/ChangeLog:11
> +        Scrollable content on the page consists is in overflow scrollers, the main frame is not scrollable. However we still enable
> +        vertical rubberbanding in the main frame.
> +

Is the main frame not overflow:hidden in this case (which should disable scrolling)?

> Source/WebKit/ChangeLog:14
> +        other scrollers don't receive swipes, further attempts just keep the main view in in rubberbanding state. This
> +        makes scrolling feel glitchy (rubberbanding is only observable in the scrollbar since no content moves).

This is really a UIKit bug (44777596).

> Source/WebKit/ChangeLog:17
> +        This patch disables rubberbanding in non-scrollable main frame if it contains a scrollable element that covers at least
> +        50% of the view.

That seems pretty likely to break legitimate cases. Also, you don't seem to be only disabling bouncing when the main frame is not scrollable.
Comment 6 EWS Watchlist 2019-06-24 09:26:44 PDT
Comment on attachment 372758 [details]
patch

Attachment 372758 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: https://webkit-queues.webkit.org/results/12562733

New failing tests:
fast/scrolling/ios/reconcile-layer-position-recursive.html
Comment 7 EWS Watchlist 2019-06-24 09:26:47 PDT
Created attachment 372767 [details]
Archive of layout-test-results from ews124 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews124  Port: ios-simulator-wk2  Platform: Mac OS X 10.14.5
Comment 8 Antti Koivisto 2019-06-24 11:05:15 PDT
> Is the main frame not overflow:hidden in this case (which should disable
> scrolling)?

No.

> This is really a UIKit bug (44777596).

Could well be. This [atch would fix the issue from our side in many cases though.
 
> That seems pretty likely to break legitimate cases. 

What sort of cases? It is pretty limited. 

> Also, you don't seem to be only disabling bouncing when the main frame is not scrollable.

'alwaysBounceVertical = NO' is the default behaviour where the scrollview only rubber bands if it has scrollable content.