summaryrefslogtreecommitdiffstats
path: root/WebKitTools/DumpRenderTree/qt
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2010-04-27 16:23:55 +0100
committerSteve Block <steveblock@google.com>2010-04-27 17:07:03 +0100
commit692e5dbf12901edacf14812a6fae25462920af42 (patch)
treed62802373a429e0a9dc093b6046c166b2c514285 /WebKitTools/DumpRenderTree/qt
parente24bea4efef1c414137d36a9778aa4e142e10c7d (diff)
downloadexternal_webkit-692e5dbf12901edacf14812a6fae25462920af42.zip
external_webkit-692e5dbf12901edacf14812a6fae25462920af42.tar.gz
external_webkit-692e5dbf12901edacf14812a6fae25462920af42.tar.bz2
Merge webkit.org at r55033 : Initial merge by git
Change-Id: I98a4af828067cc243ec3dc5e5826154dd88074b5
Diffstat (limited to 'WebKitTools/DumpRenderTree/qt')
-rw-r--r--WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp15
-rw-r--r--WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.h1
-rw-r--r--WebKitTools/DumpRenderTree/qt/EventSenderQt.cpp20
-rw-r--r--WebKitTools/DumpRenderTree/qt/EventSenderQt.h2
-rw-r--r--WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp33
-rw-r--r--WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h6
-rw-r--r--WebKitTools/DumpRenderTree/qt/main.cpp4
7 files changed, 68 insertions, 13 deletions
diff --git a/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp b/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp
index c16a786..43f1318 100644
--- a/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp
+++ b/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp
@@ -135,7 +135,6 @@ WebPage::WebPage(QObject* parent, DumpRenderTree* drt)
globalSettings->setAttribute(QWebSettings::LocalContentCanAccessRemoteUrls, true);
globalSettings->setAttribute(QWebSettings::JavascriptEnabled, true);
globalSettings->setAttribute(QWebSettings::PrivateBrowsingEnabled, false);
- globalSettings->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, false);
connect(this, SIGNAL(geometryChangeRequested(const QRect &)),
this, SLOT(setViewGeometry(const QRect & )));
@@ -324,6 +323,7 @@ DumpRenderTree::DumpRenderTree()
m_mainView->resize(QSize(maxViewWidth, maxViewHeight));
m_page = new WebPage(m_mainView, this);
m_mainView->setPage(m_page);
+ m_mainView->setContextMenuPolicy(Qt::NoContextMenu);
// create our controllers. This has to be done before connectFrame,
// as it exports there to the JavaScript DOM window.
@@ -412,10 +412,23 @@ void DumpRenderTree::resetToConsistentStateBeforeTesting()
setlocale(LC_ALL, "");
}
+static bool isWebInspectorTest(const QUrl& url)
+{
+ if (url.path().contains("inspector/"))
+ return true;
+ return false;
+}
+
void DumpRenderTree::open(const QUrl& url)
{
resetToConsistentStateBeforeTesting();
+ if (isWebInspectorTest(m_page->mainFrame()->url()))
+ layoutTestController()->closeWebInspector();
+
+ if (isWebInspectorTest(url))
+ layoutTestController()->showWebInspector();
+
// W3C SVG tests expect to be 480x360
bool isW3CTest = url.toString().contains("svg/W3C-SVG-1.1");
int width = isW3CTest ? 480 : maxViewWidth;
diff --git a/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.h b/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.h
index 00d7ae4..8d80f87 100644
--- a/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.h
+++ b/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.h
@@ -158,6 +158,7 @@ public:
WebPage(QObject* parent, DumpRenderTree*);
virtual ~WebPage();
QWebInspector* webInspector();
+ void closeWebInspector();
QWebPage *createWindow(QWebPage::WebWindowType);
diff --git a/WebKitTools/DumpRenderTree/qt/EventSenderQt.cpp b/WebKitTools/DumpRenderTree/qt/EventSenderQt.cpp
index 73a9934..1ef2d3f 100644
--- a/WebKitTools/DumpRenderTree/qt/EventSenderQt.cpp
+++ b/WebKitTools/DumpRenderTree/qt/EventSenderQt.cpp
@@ -274,6 +274,8 @@ void EventSender::contextClick()
QApplication::sendEvent(m_page, &event);
QMouseEvent event2(QEvent::MouseButtonRelease, m_mousePos, Qt::RightButton, Qt::RightButton, Qt::NoModifier);
QApplication::sendEvent(m_page, &event2);
+ QContextMenuEvent event3(QContextMenuEvent::Mouse, m_mousePos);
+ QApplication::sendEvent(m_page->view(), &event3);
}
void EventSender::scheduleAsynchronousClick()
@@ -397,18 +399,28 @@ void EventSender::sendTouchEvent(QEvent::Type type)
void EventSender::zoomPageIn()
{
- QWebFrame* frame = m_page->mainFrame();
- if (frame)
+ if (QWebFrame* frame = m_page->mainFrame())
frame->setZoomFactor(frame->zoomFactor() * ZOOM_STEP);
}
void EventSender::zoomPageOut()
{
- QWebFrame* frame = m_page->mainFrame();
- if (frame)
+ if (QWebFrame* frame = m_page->mainFrame())
frame->setZoomFactor(frame->zoomFactor() / ZOOM_STEP);
}
+void EventSender::textZoomIn()
+{
+ if (QWebFrame* frame = m_page->mainFrame())
+ frame->setTextSizeMultiplier(frame->textSizeMultiplier() * ZOOM_STEP);
+}
+
+void EventSender::textZoomOut()
+{
+ if (QWebFrame* frame = m_page->mainFrame())
+ frame->setTextSizeMultiplier(frame->textSizeMultiplier() / ZOOM_STEP);
+}
+
QWebFrame* EventSender::frameUnderMouse() const
{
QWebFrame* frame = m_page->mainFrame();
diff --git a/WebKitTools/DumpRenderTree/qt/EventSenderQt.h b/WebKitTools/DumpRenderTree/qt/EventSenderQt.h
index f6cfc7c..38bca89 100644
--- a/WebKitTools/DumpRenderTree/qt/EventSenderQt.h
+++ b/WebKitTools/DumpRenderTree/qt/EventSenderQt.h
@@ -68,6 +68,8 @@ public slots:
void touchEnd();
void zoomPageIn();
void zoomPageOut();
+ void textZoomIn();
+ void textZoomOut();
void clearTouchPoints();
void releaseTouchPoint(int index);
diff --git a/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp b/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp
index 51c1181..a26bc3d 100644
--- a/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp
+++ b/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp
@@ -41,6 +41,7 @@ extern void qt_dump_frame_loader(bool b);
extern void qt_dump_resource_load_callbacks(bool b);
extern void qt_drt_setFrameSetFlatteningEnabled(QWebPage*, bool);
extern void qt_drt_setJavaScriptProfilingEnabled(QWebFrame*, bool enabled);
+extern void qt_drt_setTimelineProfilingEnabled(QWebPage*, bool enabled);
extern bool qt_drt_pauseAnimation(QWebFrame*, const QString& name, double time, const QString& elementId);
extern bool qt_drt_pauseTransitionOfProperty(QWebFrame*, const QString& name, double time, const QString& elementId);
extern bool qt_drt_pauseSVGAnimation(QWebFrame*, const QString& animationId, double time, const QString& elementId);
@@ -51,6 +52,10 @@ extern void qt_drt_whiteListAccessFromOrigin(const QString& sourceOrigin, const
extern QString qt_drt_counterValueForElementById(QWebFrame* qFrame, const QString& id);
extern int qt_drt_workerThreadCount();
extern int qt_drt_pageNumberForElementById(QWebFrame* qFrame, const QString& id, float width, float height);
+extern int qt_drt_numberOfPages(QWebFrame* qFrame, float width, float height);
+extern void qt_drt_webinspector_executeScript(QWebPage* page, long callId, const QString& script);
+extern void qt_drt_webinspector_show(QWebPage *page);
+extern void qt_drt_webinspector_close(QWebPage *page);
LayoutTestController::LayoutTestController(WebCore::DumpRenderTree* drt)
: QObject()
@@ -285,15 +290,22 @@ QString LayoutTestController::decodeHostName(const QString& host)
return decoded;
}
+
+void LayoutTestController::closeWebInspector()
+{
+ qt_drt_webinspector_close(m_drt->webPage());
+ m_drt->webPage()->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, false);
+}
+
void LayoutTestController::showWebInspector()
{
m_drt->webPage()->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);
- m_drt->webPage()->webInspector()->show();
+ qt_drt_webinspector_show(m_drt->webPage());
}
-void LayoutTestController::hideWebInspector()
+void LayoutTestController::evaluateInWebInspector(long callId, const QString& script)
{
- m_drt->webPage()->webInspector()->hide();
+ qt_drt_webinspector_executeScript(m_drt->webPage(), callId, script);
}
void LayoutTestController::setFrameSetFlatteningEnabled(bool enabled)
@@ -306,12 +318,22 @@ void LayoutTestController::setAllowUniversalAccessFromFileURLs(bool enabled)
m_drt->webPage()->settings()->setAttribute(QWebSettings::LocalContentCanAccessRemoteUrls, enabled);
}
+void LayoutTestController::setAllowFileAccessFromFileURLs(bool enabled)
+{
+ m_drt->webPage()->settings()->setAttribute(QWebSettings::LocalContentCanAccessFileUrls, enabled);
+}
+
void LayoutTestController::setJavaScriptProfilingEnabled(bool enable)
{
m_topLoadingFrame->page()->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);
qt_drt_setJavaScriptProfilingEnabled(m_topLoadingFrame, enable);
}
+void LayoutTestController::setTimelineProfilingEnabled(bool enable)
+{
+ qt_drt_setTimelineProfilingEnabled(m_drt->webPage(), enable);
+}
+
void LayoutTestController::setFixedContentsSize(int width, int height)
{
m_topLoadingFrame->page()->setPreferredContentsSize(QSize(width, height));
@@ -473,3 +495,8 @@ int LayoutTestController::pageNumberForElementById(const QString& id, float widt
return qt_drt_pageNumberForElementById(m_drt->webPage()->mainFrame(), id, width, height);
}
+
+int LayoutTestController::numberOfPages(float width, float height)
+{
+ return qt_drt_numberOfPages(m_drt->webPage()->mainFrame(), width, height);
+}
diff --git a/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h b/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h
index 64cbcc9..d73794e 100644
--- a/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h
+++ b/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h
@@ -115,11 +115,14 @@ public slots:
QString decodeHostName(const QString& host);
void dumpSelectionRect() const {}
void showWebInspector();
- void hideWebInspector();
+ void closeWebInspector();
+ void evaluateInWebInspector(long callId, const QString& script);
void setFrameSetFlatteningEnabled(bool enable);
void setAllowUniversalAccessFromFileURLs(bool enable);
+ void setAllowFileAccessFromFileURLs(bool enable);
void setJavaScriptProfilingEnabled(bool enable);
+ void setTimelineProfilingEnabled(bool enable);
void setFixedContentsSize(int width, int height);
void setPrivateBrowsingEnabled(bool enable);
void setPopupBlockingEnabled(bool enable);
@@ -150,6 +153,7 @@ public slots:
void setDomainRelaxationForbiddenForURLScheme(bool forbidden, const QString& scheme);
int workerThreadCount();
int pageNumberForElementById(const QString& id, float width = 0, float height = 0);
+ int numberOfPages(float width, float height);
private slots:
void processWork();
diff --git a/WebKitTools/DumpRenderTree/qt/main.cpp b/WebKitTools/DumpRenderTree/qt/main.cpp
index efcda57..7d72982 100644
--- a/WebKitTools/DumpRenderTree/qt/main.cpp
+++ b/WebKitTools/DumpRenderTree/qt/main.cpp
@@ -37,9 +37,7 @@
#include <qdir.h>
#include <qdebug.h>
#include <qfont.h>
-#include <qwebsettings.h>
#include <qwebdatabase.h>
-#include <qdesktopservices.h>
#include <qtimer.h>
#include <qwindowsstyle.h>
@@ -161,8 +159,6 @@ int main(int argc, char* argv[])
if (args.contains(QLatin1String("--pixel-tests")))
dumper.setDumpPixels(true);
- QString dbDir = QDesktopServices::storageLocation(QDesktopServices::DataLocation) + QDir::separator() + "qtwebkitdrt";
- QWebSettings::setOfflineStoragePath(dbDir);
QWebDatabase::removeAllDatabases();
if (args.contains(QLatin1String("-"))) {