RESOLVED INVALID Bug 53796
[Qt] Fixed background does not work with Tiled Backing Store
https://bugs.webkit.org/show_bug.cgi?id=53796
Summary [Qt] Fixed background does not work with Tiled Backing Store
Roger Scott
Reported 2011-02-04 12:02:57 PST
STEPS TO REPRODUCE: 1.Start QtTestBrowser 2. Load http://iop1.nokia-boston.com/CSS/index.html 3. Select CSS3_MultipleBackgroundImages link. 4. Click on "24.Background Attachment Property with value as Fixed." link. 5. Select Develop->QGrapicsView->Toggle use of QGrapicsView 6. Select Develop->QGrapicsView->Toggle use of Tiled Backing Store 7.. Scroll down the page. (may have to refresh first) ACTUAL RESULTS: Background image is scrolled along with the content. EXPECTED RESULTS: Background image should not scroll, only content should scroll.
Attachments
Patch (4.82 KB, patch)
2012-12-17 01:21 PST, Allan Sandfeld Jensen
jturcotte: review-
Roger Scott
Comment 1 2011-02-04 12:11:38 PST
From several comments I have read, it seems likely that Fixed Backgrounds are incompatible with use of Tiled Backing store. I am working on a patch where I check style and disable use of TiledBackingStore for frames that have Fixed Background in Qt wekkit/api code. This worked in preliminary testing. Please assign me to this error....thanks.
Benjamin Poulain
Comment 2 2011-02-05 15:19:45 PST
Is that on Symbian? Because I remember disabling fixed background on embedded for performance. (In reply to comment #1) > I am working on a patch where I check style and disable use of TiledBackingStore for frames that have Fixed Background in Qt wekkit/api code. This worked in preliminary testing. Could you upload what you already have? I am a bit afraid of this approach. I also do not understand why you would use tiling if you are not using resize to content. I set a low priority for now because of that.
Noam Rosenthal
Comment 3 2012-04-21 08:41:30 PDT
Can we close this bug? It's seem stale.
Allan Sandfeld Jensen
Comment 4 2012-05-24 05:26:18 PDT
The bug is probably still true to a point, but I think it is being solved in a different bug, and the test case here is dead.
Allan Sandfeld Jensen
Comment 5 2012-12-13 02:47:43 PST
Fixed background still doesn't work in WebKit trunk. We could disable them for tiled backing-store like we do when delegated-scroll is set.
Antonio Gomes
Comment 6 2012-12-13 22:03:44 PST
(In reply to comment #5) > Fixed background still doesn't work in WebKit trunk. We could disable them for tiled backing-store like we do when delegated-scroll is set. Have you tried enabling FAST_MOBILE_SCROLLING ?
Allan Sandfeld Jensen
Comment 7 2012-12-14 00:03:15 PST
(In reply to comment #6) > (In reply to comment #5) > > Fixed background still doesn't work in WebKit trunk. We could disable them for tiled backing-store like we do when delegated-scroll is set. > > Have you tried enabling FAST_MOBILE_SCROLLING ? That was my point. Qt has always FAST_MOBILE_SCROLLING set, but only uses it when delegated scrolling is set, we could perhaps also use it when tiled backing store is set.
Allan Sandfeld Jensen
Comment 8 2012-12-17 01:21:49 PST
Jocelyn Turcotte
Comment 9 2013-01-02 02:58:45 PST
Comment on attachment 179700 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=179700&action=review > Source/WebCore/rendering/RenderObject.cpp:1913 > - if (view()->frameView()->delegatesScrolling()) > + if (view()->frameView()->delegatesScrolling() || view()->frameView()->paintsEntireContents()) I think we could replace delegatesScrolling by paintsEntireContents instead of OR-ing it, they seem to always be enabled together. This hack is more related to painting than scrolling anyway. > Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp:291 > - > - m_frame->view()->setPaintsEntireContents(resizesToContents); > + bool paintsEntireContents = resizesToContents || m_webFrame->pageAdapter->settings->testAttribute(QWebSettings::TiledBackingStoreEnabled); > + m_frame->view()->setPaintsEntireContents(paintsEntireContents); This is nasty since this forces parts of the resizesToContents behavior if QWebSettings::TiledBackingStoreEnabled is set without QGraphicsWebView::resizesToContents reflecting it. Like stated in comment #2, I see no advantage of using TiledBackingStoreEnabled without resizesToContents, so perhaps we should just work around the API design defect by making TiledBackingStoreEnabled conditional to resizesToContents, or to automatically enable the later if the former is set.
Jocelyn Turcotte
Comment 10 2014-02-03 03:17:13 PST
=== Bulk closing of Qt bugs === If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary. If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.
Note You need to log in before you can comment on or make changes to this bug.