Bug 50373

Summary: [Qt] Sub-Frame content is not updated when scrolling in certain circumstances
Product: WebKit Reporter: Thomas Thrainer <thomas.thrainer>
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Major CC: benjamin, commit-queue, diegohcg, kenneth, luiz, tonikitoo, webkit.review.bot
Priority: P2 Keywords: Qt, QtTriaged
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Linux   
Bug Depends on:    
Bug Blocks: 45423    
Attachments:
Description Flags
Patch wich fixes the problem, but very inefficiently
none
New patch which invalidates the backing store more often and more efficiently
none
New patch, this time avoiding to invalidate the backing store too often.
kling: review-
Version with changelog and rebased. none

Description Thomas Thrainer 2010-12-01 22:50:54 PST
Created attachment 75355 [details]
Patch wich fixes the problem, but very inefficiently

Steps to reproduce:
 * Start QtTestBrowser
 * Enable QGraphicsWebView
 * Enable Accelerated Compositing (not sure if that's needed)
 * Enable Resizes to Contents Mode (not sure if that's needed)
 * Enable Tiled Backing Store (needed)
 * go to images.google.com
 * Search for asdf
 * Click on one of the result images, make sure that the browser window is quite small
 * Google will display an iFrame in the lower part of the screen
 * If you try to scroll the iFrame content, only the scroll bar is updated, but not the content of the frame

I attach a patch which fixes the bug, but which obviously is very inefficient.
Comment 1 Thomas Thrainer 2010-12-08 08:47:16 PST
The previous patch did not work in all cases, so I'll attach the new one. It's also more efficient.
Comment 2 Thomas Thrainer 2010-12-08 08:48:10 PST
Created attachment 75911 [details]
New patch which invalidates the backing store more often and more efficiently
Comment 3 Thomas Thrainer 2010-12-08 08:51:28 PST
BTW, I'm using QtWebkit 2.1 week 47 (plus a patch from week 48).
Comment 4 Thomas Thrainer 2010-12-08 09:54:44 PST
Created attachment 75916 [details]
New patch, this time avoiding to invalidate the backing store too often.

The previous patch was somewhat premature and did invalidate the backing store way too often.
Fixed in this version.

BTW: I do know that I instead should enable frame flattening in order to work around this bug, but as frame flattening has its own problems (#50391), I need this to work too.
Comment 5 Benjamin Poulain 2011-01-14 08:06:38 PST
Please follow this to report bugs on QtWebKit: http://trac.webkit.org/wiki/QtWebKitBugs
Otherwise bugs are not seen by us.


Please follow http://trac.webkit.org/wiki/QtWebKitContrib to contribute patches.
If you do not use the review flag, the reviewer will not see you patches.
Comment 6 WebKit Review Bot 2011-01-16 23:40:48 PST
Attachment 75916 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files']" exit_code: 1

Total errors found: 0 in 0 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 7 Andreas Kling 2011-01-17 13:24:40 PST
Comment on attachment 75916 [details]
New patch, this time avoiding to invalidate the backing store too often.

Needs a ChangeLog entry.

Please see http://trac.webkit.org/wiki/QtWebKitContrib for more information on how to contribute patches to QtWebKit.
Comment 8 Diego Gonzalez 2011-02-24 05:09:26 PST
Still reproducible with r79447
Comment 9 Alexis Menard (darktears) 2011-04-11 10:37:02 PDT
Created attachment 89025 [details]
Version with changelog and rebased.
Comment 10 Kenneth Rohde Christiansen 2011-04-11 10:38:40 PDT
Doesn't it happen for div's with overflow as well?
Comment 11 WebKit Commit Bot 2011-04-11 12:11:10 PDT
The commit-queue encountered the following flaky tests while processing attachment 89025 [details]:

animations/play-state-suspend.html bug 50959 (author: cmarrin@apple.com)
The commit-queue is continuing to process your patch.
Comment 12 WebKit Commit Bot 2011-04-11 12:14:54 PDT
Comment on attachment 89025 [details]
Version with changelog and rebased.

Clearing flags on attachment: 89025

Committed r83473: <http://trac.webkit.org/changeset/83473>
Comment 13 WebKit Commit Bot 2011-04-11 12:14:59 PDT
All reviewed patches have been landed.  Closing bug.
Comment 14 Antonio Gomes 2011-04-11 12:22:28 PDT
No mention to Thomas Thrainer work? =/ in your changelog
Comment 15 Antonio Gomes 2011-04-11 12:22:51 PDT
(In reply to comment #10)
> Doesn't it happen for div's with overflow as well?

afaik, div scrolling goes through invalidateContentsAndWindow codepath.