summaryrefslogtreecommitdiff
path: root/Tools/QtTestBrowser
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@digia.com>2013-09-13 12:51:20 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-19 20:50:05 +0200
commitd441d6f39bb846989d95bcf5caf387b42414718d (patch)
treee367e64a75991c554930278175d403c072de6bb8 /Tools/QtTestBrowser
parent0060b2994c07842f4c59de64b5e3e430525c4b90 (diff)
downloadqtwebkit-d441d6f39bb846989d95bcf5caf387b42414718d.tar.gz
Import Qt5x2 branch of QtWebkit for Qt 5.2
Importing a new snapshot of webkit. Change-Id: I2d01ad12cdc8af8cb015387641120a9d7ea5f10c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Diffstat (limited to 'Tools/QtTestBrowser')
-rw-r--r--Tools/QtTestBrowser/launcherwindow.cpp51
-rw-r--r--Tools/QtTestBrowser/launcherwindow.h8
-rw-r--r--Tools/QtTestBrowser/qttestbrowser.cpp3
3 files changed, 58 insertions, 4 deletions
diff --git a/Tools/QtTestBrowser/launcherwindow.cpp b/Tools/QtTestBrowser/launcherwindow.cpp
index d9dd0f93f..8badf4688 100644
--- a/Tools/QtTestBrowser/launcherwindow.cpp
+++ b/Tools/QtTestBrowser/launcherwindow.cpp
@@ -51,7 +51,7 @@
#ifndef QT_NO_SHORTCUT
#include <QMenuBar>
#endif
-#if !defined(QT_NO_PRINTER) && HAVE(QTPRINTSUPPORT)
+#if !defined(QT_NO_PRINTPREVIEWDIALOG) && HAVE(QTPRINTSUPPORT)
#include <QPrintPreviewDialog>
#endif
#include <QSlider>
@@ -73,6 +73,11 @@
#include <QtNetwork/QNetworkDiskCache>
#endif
+struct HighlightedElement {
+ QWebElement m_element;
+ QString m_previousStyle;
+};
+
const int gExitClickArea = 80;
QVector<int> LauncherWindow::m_zoomLevels;
@@ -217,6 +222,7 @@ void LauncherWindow::applyPrefs()
settings->setAttribute(QWebSettings::TiledBackingStoreEnabled, m_windowOptions.useTiledBackingStore);
settings->setAttribute(QWebSettings::FrameFlatteningEnabled, m_windowOptions.useFrameFlattening);
settings->setAttribute(QWebSettings::WebGLEnabled, m_windowOptions.useWebGL);
+ m_windowOptions.useWebAudio = settings->testAttribute(QWebSettings::WebAudioEnabled);
if (!isGraphicsBased())
return;
@@ -312,6 +318,17 @@ void LauncherWindow::createChrome()
QAction* toggleWebGL = toolsMenu->addAction("Toggle WebGL", this, SLOT(toggleWebGL(bool)));
toggleWebGL->setCheckable(true);
toggleWebGL->setChecked(settings->testAttribute(QWebSettings::WebGLEnabled));
+#if !ENABLE(WEBGL)
+ toggleWebGL->setEnabled(false);
+#endif
+
+ QAction* toggleWebAudio = toolsMenu->addAction("Toggle WebAudio", this, SLOT(toggleWebAudio(bool)));
+ toggleWebAudio->setCheckable(true);
+#if ENABLE(WEB_AUDIO)
+ toggleWebAudio->setChecked(m_windowOptions.useWebAudio);
+#else
+ toggleWebAudio->setEnabled(false);
+#endif
QAction* spatialNavigationAction = toolsMenu->addAction("Toggle Spatial Navigation", this, SLOT(toggleSpatialNavigation(bool)));
spatialNavigationAction->setCheckable(true);
@@ -350,6 +367,8 @@ void LauncherWindow::createChrome()
toolsMenu->addAction("Select Elements...", this, SLOT(selectElements()));
+ toolsMenu->addAction("Clear selection", this, SLOT(clearSelection()));
+
QAction* showInspectorAction = toolsMenu->addAction("Show Web Inspector", m_inspector, SLOT(setVisible(bool)), QKeySequence(Qt::CTRL | Qt::ALT | Qt::Key_I));
showInspectorAction->setCheckable(true);
showInspectorAction->connect(m_inspector, SIGNAL(visibleChanged(bool)), SLOT(setChecked(bool)));
@@ -477,6 +496,10 @@ void LauncherWindow::createChrome()
#endif
toggleScrollAnimator->setChecked(false);
+ QAction* toggleJavaScriptEnabled = settingsMenu->addAction("Enable Javascript", this, SLOT(toggleJavaScriptEnabled(bool)));
+ toggleJavaScriptEnabled->setCheckable(true);
+ toggleJavaScriptEnabled->setChecked(settings->testAttribute(QWebSettings::JavascriptEnabled));
+
QAction* toggleInterruptingJavaScripteEnabled = settingsMenu->addAction("Enable interrupting js scripts", this, SLOT(toggleInterruptingJavaScriptEnabled(bool)));
toggleInterruptingJavaScripteEnabled->setCheckable(true);
toggleInterruptingJavaScripteEnabled->setChecked(false);
@@ -735,7 +758,7 @@ void LauncherWindow::toggleZoomTextOnly(bool b)
void LauncherWindow::print()
{
-#if !defined(QT_NO_PRINTER) && HAVE(QTPRINTSUPPORT)
+#if !defined(QT_NO_PRINTPREVIEWDIALOG) && HAVE(QTPRINTSUPPORT)
QPrintPreviewDialog dlg(this);
connect(&dlg, SIGNAL(paintRequested(QPrinter*)),
page()->mainFrame(), SLOT(print(QPrinter*)));
@@ -800,14 +823,25 @@ void LauncherWindow::selectElements()
QLineEdit::Normal, "a", &ok);
if (ok && !str.isEmpty()) {
+ clearSelection();
QWebElementCollection result = page()->mainFrame()->findAllElements(str);
- foreach (QWebElement e, result)
+ foreach (QWebElement e, result) {
+ HighlightedElement el = { e, e.styleProperty("background-color", QWebElement::InlineStyle) };
+ m_highlightedElements.append(el);
e.setStyleProperty("background-color", "yellow");
+ }
statusBar()->showMessage(QString("%1 element(s) selected").arg(result.count()), 5000);
}
#endif
}
+void LauncherWindow::clearSelection()
+{
+ for (int i = 0; i < m_highlightedElements.size(); ++i)
+ m_highlightedElements[i].m_element.setStyleProperty("background-color", m_highlightedElements[i].m_previousStyle);
+ m_highlightedElements.clear();
+}
+
void LauncherWindow::setDiskCache(bool enable)
{
#if !defined(QT_NO_NETWORKDISKCACHE) && !defined(QT_NO_DESKTOPSERVICES)
@@ -860,6 +894,12 @@ void LauncherWindow::toggleWebGL(bool toggle)
page()->settings()->setAttribute(QWebSettings::WebGLEnabled, toggle);
}
+void LauncherWindow::toggleWebAudio(bool toggle)
+{
+ m_windowOptions.useWebAudio = toggle;
+ page()->settings()->setAttribute(QWebSettings::WebAudioEnabled, toggle);
+}
+
void LauncherWindow::animatedFlip()
{
qobject_cast<WebViewGraphicsBased*>(m_view)->animatedFlip();
@@ -887,6 +927,11 @@ void LauncherWindow::toggleFrameFlattening(bool toggle)
page()->settings()->setAttribute(QWebSettings::FrameFlatteningEnabled, toggle);
}
+void LauncherWindow::toggleJavaScriptEnabled(bool enable)
+{
+ page()->settings()->setAttribute(QWebSettings::JavascriptEnabled, enable);
+}
+
void LauncherWindow::toggleInterruptingJavaScriptEnabled(bool enable)
{
page()->setInterruptingJavaScriptEnabled(enable);
diff --git a/Tools/QtTestBrowser/launcherwindow.h b/Tools/QtTestBrowser/launcherwindow.h
index 3de8667fa..185f21b74 100644
--- a/Tools/QtTestBrowser/launcherwindow.h
+++ b/Tools/QtTestBrowser/launcherwindow.h
@@ -60,6 +60,8 @@ class QPropertyAnimation;
class QLineEdit;
QT_END_NAMESPACE
+struct HighlightedElement;
+
class WindowOptions {
public:
WindowOptions()
@@ -68,6 +70,7 @@ public:
, useCompositing(true)
, useTiledBackingStore(false)
, useWebGL(false)
+ , useWebAudio(false)
, useFrameFlattening(false)
, cacheWebView(false)
, showFrameRate(false)
@@ -92,6 +95,7 @@ public:
bool useCompositing;
bool useTiledBackingStore;
bool useWebGL;
+ bool useWebAudio;
bool useFrameFlattening;
bool cacheWebView;
bool showFrameRate;
@@ -152,9 +156,11 @@ protected Q_SLOTS:
void toggleTiledBackingStore(bool toggle);
void toggleResizesToContents(bool toggle);
void toggleWebGL(bool toggle);
+ void toggleWebAudio(bool toggle);
void toggleSpatialNavigation(bool b);
void toggleFullScreenMode(bool enable);
void toggleFrameFlattening(bool toggle);
+ void toggleJavaScriptEnabled(bool enable);
void toggleInterruptingJavaScriptEnabled(bool enable);
void toggleJavascriptCanOpenWindows(bool enable);
void toggleAutoLoadImages(bool enable);
@@ -178,6 +184,7 @@ protected Q_SLOTS:
void animatedFlip();
void animatedYFlip();
void selectElements();
+ void clearSelection();
void showFPS(bool enable);
void showUserAgentDialog();
@@ -222,6 +229,7 @@ private:
QNetworkReply* m_reply;
#endif
QList<QTouchEvent::TouchPoint> m_touchPoints;
+ QList<HighlightedElement> m_highlightedElements;
bool m_touchMocking;
QString m_inputUrl;
diff --git a/Tools/QtTestBrowser/qttestbrowser.cpp b/Tools/QtTestBrowser/qttestbrowser.cpp
index c5b6ef0ce..9fd7d0c22 100644
--- a/Tools/QtTestBrowser/qttestbrowser.cpp
+++ b/Tools/QtTestBrowser/qttestbrowser.cpp
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
* Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies)
* Copyright (C) 2009 Girish Ramakrishnan <girish@forwardbias.in>
* Copyright (C) 2006 George Staikos <staikos@kde.org>
@@ -94,7 +95,7 @@ LauncherApplication::LauncherApplication(int& argc, char** argv)
, m_robotExtraTimeSeconds(0)
{
// To allow QWebInspector's configuration persistence
- setOrganizationName("Nokia");
+ setOrganizationName("QtProject");
setApplicationName("QtTestBrowser");
setApplicationVersion("0.1");