Bug 153856

Summary: Scroll gesture in text field in position:fixed element sometimes scrolls <body> instead of scrollable ancestor on iOS
Product: WebKit Reporter: Chris Rebert <webkit>
Component: FormsAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: corsar89, dbates, m.goleb+bugzilla, naikalongus, samtsai, simon.fraser, webkit-bug-importer, wenson_hsieh
Priority: P2 Keywords: HasReduction, InRadar
Version: WebKit Nightly Build   
Hardware: iPhone / iPad   
OS: iOS 10   
Bug Depends on:    
Bug Blocks: 159753    
Attachments:
Description Flags
Testcase demonstrating the problem
none
GIF video demonstrating the bug none

Description Chris Rebert 2016-02-04 01:22:53 PST
Created attachment 270642 [details]
Testcase demonstrating the problem

Steps to reproduce:
1. Open the attached testcase in iOS Safari.
2. Tap the "Launch demo modal" button.
3. Tap into the 2nd text field.
4. Type some text.
5. Tap the Done button.
6. Perform a scroll-down gesture (i.e. flick your finger upward), but start the scroll gesture within the bounds of the 2nd text field.

Actual result:
The <body> scrolls downward.

Expected result:
The yellow <div> (which is a descendant of a position:fixed <div>) should scroll downward.
The <body> shouldn't scroll at all, because it's styled as overflow:hidden.

Original Bootstrap bug: https://github.com/twbs/bootstrap/issues/14839#issuecomment-60940738

This is similar to bug 153852, but that bug usually occurs only when the position:fixed element has already been scrolled to its top or bottom,
whereas this bug doesn't have that requirement and seems to be related to text fields specifically.
Comment 1 Chris Rebert 2016-02-04 01:23:46 PST
Created attachment 270643 [details]
GIF video demonstrating the bug
Comment 2 Radar WebKit Bug Importer 2016-02-05 02:23:52 PST
<rdar://problem/24522873>