diff options
author | Steve Block <steveblock@google.com> | 2010-04-27 16:23:55 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2010-04-27 17:07:03 +0100 |
commit | 692e5dbf12901edacf14812a6fae25462920af42 (patch) | |
tree | d62802373a429e0a9dc093b6046c166b2c514285 /WebKitTools/DumpRenderTree/qt | |
parent | e24bea4efef1c414137d36a9778aa4e142e10c7d (diff) | |
download | external_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.cpp | 15 | ||||
-rw-r--r-- | WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.h | 1 | ||||
-rw-r--r-- | WebKitTools/DumpRenderTree/qt/EventSenderQt.cpp | 20 | ||||
-rw-r--r-- | WebKitTools/DumpRenderTree/qt/EventSenderQt.h | 2 | ||||
-rw-r--r-- | WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp | 33 | ||||
-rw-r--r-- | WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h | 6 | ||||
-rw-r--r-- | WebKitTools/DumpRenderTree/qt/main.cpp | 4 |
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("-"))) { |