Bug 36102

Summary: [Qt] Scaling control API for tiled backing store
Product: WebKit Reporter: Antti Koivisto <koivisto>
Component: New BugsAssignee: Antti Koivisto <koivisto>
Status: RESOLVED FIXED    
Severity: Enhancement CC: benjamin, commit-queue, hausmann, jturcotte, kenneth, rakuco, tonikitoo
Priority: P3 Keywords: Performance, Qt
Version: 528+ (Nightly build)   
Hardware: PC   
OS: All   
Attachments:
Description Flags
patch
kenneth: review+
QtLauncher patch
none
updated patch kenneth: review+

Description Antti Koivisto 2010-03-14 17:56:20 PDT
There should be way to control scaling level of the backing store from the Qt API. There should also be way to disable backing store updates temporarily (during zooming for example).
Comment 1 Antti Koivisto 2010-03-18 09:25:58 PDT
Created attachment 51031 [details]
patch
Comment 2 Antti Koivisto 2010-03-18 09:31:35 PDT
Created attachment 51035 [details]
QtLauncher patch 

Add animated smooth zooming to Qt launcher when in tiled mode.
Comment 3 Kenneth Rohde Christiansen 2010-03-18 09:35:12 PDT
Comment on attachment 51031 [details]
patch

Please change the QGraphicsWebView::tiledBackingStoreFrozen() to isTiledBac...Frozen for consistency with Qt API, like isBlocked etc.

Also, those methods would need documentation. Apart from the it looks good to me.
Comment 4 Antonio Gomes 2010-03-18 09:50:04 PDT
add dep to qt 4.7 master bug, as it introduces new API
Comment 5 Antti Koivisto 2010-03-18 10:25:05 PDT
Created attachment 51043 [details]
updated patch

- document the property
- change getter to isTiledBackingStoreFrozen
Comment 6 Antonio Gomes 2010-03-18 10:28:19 PDT
(In reply to comment #4)
> add dep to qt 4.7 master bug, as it introduces new API

hum not sure if it is bug 31552 or bug 35784 :). Simon?

removing for now.
Comment 7 WebKit Commit Bot 2010-03-18 12:14:30 PDT
Comment on attachment 51035 [details]
QtLauncher patch 

Clearing flags on attachment: 51035

Committed r56179: <http://trac.webkit.org/changeset/56179>
Comment 8 Simon Hausmann 2010-03-18 13:16:33 PDT
Comment on attachment 51043 [details]
updated patch

Landing manually, to fix the broken build.
Comment 9 Simon Hausmann 2010-03-18 13:22:56 PDT
Committed r56184: <http://trac.webkit.org/changeset/56184>
Comment 10 Simon Hausmann 2010-03-18 14:49:00 PDT
I observe the following effect with these patches:

When zooming in one step, the animation starts and the scrollbars disappear. Once the animation finished, the scrollbars remain invisible. In addition the CPU is stuck at 100% and the ui is unresponsive. Zooming out one step brings everything back to normal, including scrollbars and CPU usage.
Comment 11 Antti Koivisto 2010-03-19 03:00:05 PDT
(In reply to comment #10)
> I observe the following effect with these patches:
> 
> When zooming in one step, the animation starts and the scrollbars disappear.
> Once the animation finished, the scrollbars remain invisible. In addition the
> CPU is stuck at 100% and the ui is unresponsive. Zooming out one step brings
> everything back to normal, including scrollbars and CPU usage.

Scrollbars will get scaled along with rest of the content so they will move out of the view on zoom. Scaling really requires graphics item based scrolling (and WebView in resizesToContents mode).

100% CPU use is obviously not expected result. Any special setup needed to see it?
Comment 12 Antti Koivisto 2010-03-19 07:57:09 PDT
Repaint loop is bug 36366