Bug 178066 - Cordova: elements with tag position:fixed disappears (flickering) when a long content is scrolling and appears again when the scroll is finished.
Summary: Cordova: elements with tag position:fixed disappears (flickering) when a long...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: CSS (show other bugs)
Version: WebKit Local Build
Hardware: iPhone / iPad iOS 11
: P2 Major
Assignee: Simon Fraser (smfr)
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2017-10-08 01:27 PDT by oscarabilleira
Modified: 2017-12-05 15:44 PST (History)
5 users (show)

See Also:


Attachments
Patch (4.28 KB, patch)
2017-11-08 19:52 PST, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description oscarabilleira 2017-10-08 01:27:17 PDT
A-  Overview: 
Elements width position:fixed disappears (flickering) when a long content is scrolling and appears again when the scroll is stoped.

B - Steps to Reproduce: 

1) Create a simple html page into a cordova proyect (for example) 

2) Put a div on the top and another on the buttom width "position:fixed" atribute. Include also a long text to make posible scroll it.
I use for my test this simple estructure: http://www.oscarabilleira.com/test_ios/index.php, just copy the source code and create a html file in a cordova proyect for example.

3) When scrolls the text into the webkit the "fixed elements" disappears until the scroll is finished, only if there's a long content to scroll, like in the example. In other situations (randomly) the "flickering efect" can be shown even with a short content to scroll.


C- Expected Results: 
When scroll the content the elements with "position:fixed" tag must be shown all the time even when the content is scrolled.


D- Build Date & Hardware: 
After update to iOS 11 and actually with iOS 11.0.2 
Tested iphone 7, iphone 7 plus and ipad air 2.
Doesn't Occur using iOS 10.x.x or earlier.


E- Additional Information: 
The same like in this old bug 
https://bugs.webkit.org/show_bug.cgi?id=137851
Comment 1 Simon Fraser (smfr) 2017-10-09 13:07:55 PDT
Does this happen with the WKWebView version of Cordova (http://blog.ionic.io/cordova-ios-performance-improvements-drop-in-speed-with-wkwebview/)?
Comment 2 oscarabilleira 2017-10-09 14:06:03 PDT
I have tested and using WKWebView works fine
Comment 3 Radar WebKit Bug Importer 2017-10-09 16:27:36 PDT
<rdar://problem/34898141>
Comment 4 Simon Fraser (smfr) 2017-11-08 18:43:22 PST
rdar://problem/34808762
Comment 5 Simon Fraser (smfr) 2017-11-08 18:55:33 PST
I can reproduce. Investigating.
Comment 6 Simon Fraser (smfr) 2017-11-08 18:57:52 PST
Ah, we only call GraphicsLayer::setIsViewportConstrained() in the WKWebView code path, for coordinated scrolling.
Comment 7 Simon Fraser (smfr) 2017-11-08 19:52:11 PST
Created attachment 326420 [details]
Patch
Comment 8 WebKit Commit Bot 2017-11-08 21:27:26 PST
Comment on attachment 326420 [details]
Patch

Clearing flags on attachment: 326420

Committed r224617: <https://trac.webkit.org/changeset/224617>
Comment 9 WebKit Commit Bot 2017-11-08 21:27:27 PST
All reviewed patches have been landed.  Closing bug.
Comment 10 Darryl Pogue 2017-12-05 15:38:57 PST
This has been merged, but I'm guessing it missed the cut-off date for inclusion in iOS 11.2 because the issue still exists there
Comment 11 Simon Fraser (smfr) 2017-12-05 15:44:42 PST
Correct.