void WebPageQueue::release(int tabId,  bool virtualize)
{
    int index = -1;
    WebPageEntry *pageEntry = find(tabId, index);
#if DEBUG_LOGS
    qDebug() << "--- beginning: " << tabId << virtualize << pageEntry << (pageEntry ? pageEntry->webPage : 0);
    dumpPages();
#endif
    if (pageEntry) {
        if (pageEntry->webPage) {
            if (virtualize) {
                pageEntry->cssContentRect = new QRectF(pageEntry->webPage->contentRect());
            }
            if (pageEntry->webPage->completed()) {
                pageEntry->webPage->setParent(0);
                delete pageEntry->webPage;
            } else {
                QObject::connect(pageEntry->webPage, SIGNAL(completedChanged()), pageEntry->webPage, SLOT(deleteLater()));
            }
        }

        pageEntry->webPage = 0;
        if (!virtualize && index >= 0) {
            delete pageEntry;
            m_queue.removeAt(index);
        }
    }

#if DEBUG_LOGS
    qDebug() << "--- end ---";
    dumpPages();
#endif
}
void QtTestOutput::ReportSuccess( std::string const& 
                                 , std::string const&)
{
    this->numberSuccesses += 1; 
    this->completed = static_cast<double>(this->numberSuccesses) / static_cast<double>(this->numberOfTests);
    Q_EMIT completedChanged(this->completed);
}