[Webkit-unassigned] [Bug 105649] New: [Qt/Windows7] QWebView/QGraphicsWebView CPU consumption and wrong widgets state when animations are enabled
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Dec 21 12:08:21 PST 2012
https://bugs.webkit.org/show_bug.cgi?id=105649
Summary: [Qt/Windows7] QWebView/QGraphicsWebView CPU
consumption and wrong widgets state when animations
are enabled
Product: WebKit
Version: 528+ (Nightly build)
Platform: Unspecified
OS/Version: Windows 7
Status: UNCONFIRMED
Severity: Major
Priority: P2
Component: WebKit Qt
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: zcrendel at gmail.com
Created an attachment (id=180542)
--> (https://bugs.webkit.org/attachment.cgi?id=180542&action=review)
CPU high load when visited webpage with radiogroup widgets in it
When animations for widgets in Windows 7 are enabled then QtWebkit textareas, radiogroups and some other widgets makes CPU high load (see attachment screenshot). Btw, animations also do not work properly (see attachment picture, radiogroup with 2 checked radioboxes). The problem is how widgets/style/qwindowsvistastyle.cpp stores widget previous style state to compare with current state:
QObject *styleObject = option->styleObject;
styleObject->setProperty("_q_no_animation", true);
int oldState = styleObject->property("_q_stylestate").toInt();
oldRect = styleObject->property("_q_stylerect").toRect();
newRect = option->rect;
styleObject->setProperty("_q_stylestate", (int)option->state);
styleObject->setProperty("_q_stylerect", option->rect);
However for each normal widget this object (widget itself) is unique, but for QtWebkit widgets styleObject - a global object (a painting surface?) returned by QStyleFacadeImp::widgetForPainter(QPainter* painter) function (see, WebKit/qt/WidgetSupport/QStyleFacadeImp.cpp).
This global object produces problem by sharing set/get style option state for different widgets on a page. This makes CPU high and memory leaking due inifite loop of animations.
How to reproduce:
1. Turn all animations on in Windows 7
2. Visit any webpage where is textarea or radiogroups presented from QWebView or QGraphicsView, like:
http://echoecho.com/htmlforms10.htm
3. Got CPU High and sometimes memory leaking
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list