diff options
Diffstat (limited to 'WebKitTools/DumpRenderTree/qt')
5 files changed, 42 insertions, 0 deletions
diff --git a/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp b/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp index 3eb1714..022a867 100644 --- a/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp +++ b/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp @@ -847,6 +847,7 @@ void DumpRenderTree::dump() fputs("#EOF\n", stdout); fputs("#EOF\n", stderr); + // FIXME: All other ports don't dump pixels, if generatePixelResults is false. if (m_dumpPixels) { QImage image(m_page->viewportSize(), QImage::Format_ARGB32); image.fill(Qt::white); diff --git a/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp b/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp index dd11428..3a6229f 100644 --- a/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp +++ b/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp @@ -72,6 +72,7 @@ void LayoutTestController::reset() DumpRenderTreeSupportQt::dumpFrameLoader(false); DumpRenderTreeSupportQt::dumpResourceLoadCallbacks(false); DumpRenderTreeSupportQt::dumpResourceResponseMIMETypes(false); + DumpRenderTreeSupportQt::setDeferMainResourceDataLoad(true); DumpRenderTreeSupportQt::setWillSendRequestReturnsNullOnRedirect(false); DumpRenderTreeSupportQt::setWillSendRequestReturnsNull(false); DumpRenderTreeSupportQt::setWillSendRequestClearHeaders(QStringList()); @@ -249,6 +250,11 @@ void LayoutTestController::setWillSendRequestClearHeader(const QStringList& head DumpRenderTreeSupportQt::setWillSendRequestClearHeaders(headers); } +void LayoutTestController::setDeferMainResourceDataLoad(bool defer) +{ + DumpRenderTreeSupportQt::setDeferMainResourceDataLoad(defer); +} + void LayoutTestController::queueBackNavigation(int howFarBackward) { //qDebug() << ">>>queueBackNavigation" << howFarBackward; @@ -269,6 +275,11 @@ void LayoutTestController::queueLoad(const QString& url, const QString& target) WorkQueue::shared()->queue(new LoadItem(absoluteUrl, target, m_drt->webPage())); } +void LayoutTestController::queueLoadHTMLString(const QString& content, const QString& baseURL) +{ + WorkQueue::shared()->queue(new LoadHTMLStringItem(content, baseURL, m_drt->webPage())); +} + void LayoutTestController::queueReload() { //qDebug() << ">>>queueReload"; diff --git a/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h b/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h index 76bc802..4e95381 100644 --- a/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h +++ b/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h @@ -112,6 +112,7 @@ public slots: void queueBackNavigation(int howFarBackward); void queueForwardNavigation(int howFarForward); void queueLoad(const QString& url, const QString& target = QString()); + void queueLoadHTMLString(const QString& content, const QString& baseURL = QString()); void queueReload(); void queueLoadingScript(const QString& script); void queueNonLoadingScript(const QString& script); @@ -148,6 +149,7 @@ public slots: void resetLoadFinished() { m_loadFinished = false; } void setWindowIsKey(bool isKey); void setMainFrameIsFirstResponder(bool isFirst); + void setDeferMainResourceDataLoad(bool); void setJavaScriptCanAccessClipboard(bool enable); void setXSSAuditorEnabled(bool enable); void setCaretBrowsingEnabled(bool enable); diff --git a/WebKitTools/DumpRenderTree/qt/WorkQueueItemQt.cpp b/WebKitTools/DumpRenderTree/qt/WorkQueueItemQt.cpp index 067e6aa..d1baf08 100644 --- a/WebKitTools/DumpRenderTree/qt/WorkQueueItemQt.cpp +++ b/WebKitTools/DumpRenderTree/qt/WorkQueueItemQt.cpp @@ -60,6 +60,18 @@ bool LoadItem::invoke() const return true; } +bool LoadHTMLStringItem::invoke() const +{ + Q_ASSERT(m_webPage); + + QWebFrame* frame = m_webPage->mainFrame(); + if (!frame) + return false; + + frame->setHtml(m_content, QUrl(m_baseURL)); + return true; +} + bool ReloadItem::invoke() const { //qDebug() << ">>>ReloadItem::invoke"; diff --git a/WebKitTools/DumpRenderTree/qt/WorkQueueItemQt.h b/WebKitTools/DumpRenderTree/qt/WorkQueueItemQt.h index 94da5e1..97c9b04 100644 --- a/WebKitTools/DumpRenderTree/qt/WorkQueueItemQt.h +++ b/WebKitTools/DumpRenderTree/qt/WorkQueueItemQt.h @@ -64,6 +64,22 @@ private: QString m_target; }; +class LoadHTMLStringItem : public WorkQueueItem { +public: + LoadHTMLStringItem(const QString& content, const QString &baseURL, QWebPage *page) + : WorkQueueItem(page) + , m_content(content) + , m_baseURL(baseURL) + { + } + +private: + virtual bool invoke() const; + + QString m_content; + QString m_baseURL; +}; + class ReloadItem : public WorkQueueItem { public: ReloadItem(QWebPage *page) |