[Webkit-unassigned] [Bug 32933] New: WebKit hang while snapshoting this page
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Dec 25 02:15:13 PST 2009
https://bugs.webkit.org/show_bug.cgi?id=32933
Summary: WebKit hang while snapshoting this page
Product: WebKit
Version: 528+ (Nightly build)
Platform: PC
URL: http://blog.oup.com/2009/11/unfriend/
OS/Version: Windows Vista
Status: UNCONFIRMED
Severity: Normal
Priority: P2
Component: Printing
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: tiansjun at hotmail.com
URL: http://blog.oup.com/2009/11/unfriend/
I try to capture the webpage after loading but it hangs and CPU runs to 100%.
It works well for most other pages.
This is my codes in QtWebKit(r50477 + Qt4.6.0 + GCC4.4.0).
// set the viewport size to the whole webpage size
m_webview->page()->setViewportSize ( tmpSize );
//disable scrollbar
m_webview->page()->mainFrame()->setScrollBarPolicy(Qt::Horizontal,Qt::ScrollBarAlwaysOff);
m_webview->page()->mainFrame()->setScrollBarPolicy(Qt::Vertical,Qt::ScrollBarAlwaysOff);
//paint webpage into image
QImage im ( tmpSize , QImage::Format_RGB888); //QImage::Format_RGB32
QPainter painter ( & im );
m_webview->page()->mainFrame()->render ( & painter );
The tree i have tracked:
.....QWebFramePrivate::renderPrivate(QPainter *painter, QWebFrame::RenderLayer
layer, const QRegion &clip)
...........WebCore::FrameView::paintContents(GraphicsContext* p, const IntRect&
rect)
................contentRenderer->layer()->paint(p, rect, m_paintRestriction,
eltRenderer); //void RenderLayer::paint
......................void RenderLayer::paintLayer(....)
...........................void RenderBlock::paint(PaintInfo& paintInfo, int
tx, int ty)
...............................void RenderBlock::paintObject(PaintInfo&
paintInfo, int tx, int ty)
....................................paintBoxDecorations(paintInfo, tx, ty);
//hang here now....
I am not familiar with the WebKit rendering codes. It is too hard for me now.
Please help to fix this bug. Thanks.
--
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