Hi,

loadFinished only means that all resources are finished downloading from the 
network (excluding XMLHttpRequests).
So for a page like gmail.com that continues downloading a big part of its UI 
over scripted requests afterward, it won't work well.

There is also the QWebFrame::initialLayoutCompleted that could help you, but 
this one might also come too early in some cases.
You could try a mixture of looking at whichever comes last between loadFinished 
and initialLayoutCompleted. If that still doesn't work well enough for most 
pages you could use a timer to wait an additional 1-5 seconds (if that fits 
your use case).

There is no reliable way that I know of for the web page to signal the browser 
that the document is complete and ready for use.

regards,
Jocelyn

________________________________
From: webkit-qt-boun...@lists.webkit.org [webkit-qt-boun...@lists.webkit.org] 
on behalf of ext andy wang [wandy...@gmail.com]
Sent: Tuesday, June 19, 2012 4:40 PM
To: webkit-qt@lists.webkit.org
Subject: [webkit-qt] start render page after loading all page elements

Hi,
I want to render one page after loading its all elements. Now, the qtwebkit 
download
the elements while rendering, I want to change this behavior. In my application,
I have qt4.8+directfb, and all data include webpage will be rendered by 
directfb plugin of
qt to directfb. And I  tried to receive the loadStarted and loadFinished signal 
of mainframe,
and disable flip window surface to screen when receive loadStarted signal, and 
enable flip
window surface to screen when receive loadFinished. The detail as follows:

connect(mainframe, SIGNAL(loadStarted()), this, SLOT(slotLoadStarted()));
connect(mainframe, SIGNAL(loadFinished()), this, SLOT(slotLoadFinished()));

void slotLoadStarted()
{
 //disable rendering in qtdirectfb level
      disableDfbRender();
}

void slotLoadFinished()
{
// enable rendering in qtdirectfb level
// and refresh whole window surface
    enableDfbRender();
   refreshDfbWindow();
}

But this solution is not successful, because the loadFinished signal is not 
means all elements
have been drawed to the window surface, so refresh window surface to primary 
surface only  push
part  data to screen.

So how can I render whole webpage after loading all its elements. Does qtwebkit 
provide the API or
signal? Or how can I modified the source code of qtwebkit to  reach this goal?

I don't know if it's proper to ask question here. But I read the qtwebkit code 
and at last I don't find how to
achieve this goal.
_______________________________________________
webkit-qt mailing list
webkit-qt@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-qt

Reply via email to