summaryrefslogtreecommitdiffstats
path: root/Tools/QtTestBrowser
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/QtTestBrowser')
-rw-r--r--Tools/QtTestBrowser/CMakeLists.txt4
-rw-r--r--Tools/QtTestBrowser/launcherwindow.cpp37
-rw-r--r--Tools/QtTestBrowser/launcherwindow.h4
-rw-r--r--Tools/QtTestBrowser/mainwindow.cpp1
-rw-r--r--Tools/QtTestBrowser/webpage.cpp21
-rw-r--r--Tools/QtTestBrowser/webpage.h2
6 files changed, 45 insertions, 24 deletions
diff --git a/Tools/QtTestBrowser/CMakeLists.txt b/Tools/QtTestBrowser/CMakeLists.txt
index ccd8e0ff2..19827fd02 100644
--- a/Tools/QtTestBrowser/CMakeLists.txt
+++ b/Tools/QtTestBrowser/CMakeLists.txt
@@ -48,6 +48,10 @@ qt_wrap_cpp(WebKit QtTestBrowser_SOURCES
webinspector.h
)
+qt5_add_resources(QtTestBrowser_SOURCES
+ QtTestBrowser.qrc
+)
+
if (Qt5OpenGL_FOUND)
list(APPEND QtTestBrowser_SYSTEM_INCLUDE_DIRECTORIES
${Qt5OpenGL_INCLUDE_DIRS}
diff --git a/Tools/QtTestBrowser/launcherwindow.cpp b/Tools/QtTestBrowser/launcherwindow.cpp
index 716a6e3e8..6e9d388e9 100644
--- a/Tools/QtTestBrowser/launcherwindow.cpp
+++ b/Tools/QtTestBrowser/launcherwindow.cpp
@@ -106,6 +106,8 @@ LauncherWindow::LauncherWindow(WindowOptions* data, QGraphicsScene* sharedScene)
createChrome();
#if !defined(QT_NO_FILEDIALOG) && !defined(QT_NO_MESSAGEBOX)
connect(page(), SIGNAL(downloadRequested(const QNetworkRequest&)), this, SLOT(downloadRequest(const QNetworkRequest&)));
+ connect(page()->networkAccessManager(), SIGNAL(sslErrors(QNetworkReply*, const QList<QSslError>&)),
+ this, SLOT(showSSLErrorConfirmation(QNetworkReply*, const QList<QSslError>&)));
#endif
}
@@ -222,6 +224,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);
+ settings->setAttribute(QWebSettings::MediaEnabled, m_windowOptions.useMedia);
m_windowOptions.useWebAudio = settings->testAttribute(QWebSettings::WebAudioEnabled);
m_windowOptions.useMediaSource = settings->testAttribute(QWebSettings::MediaSourceEnabled);
@@ -326,6 +329,15 @@ void LauncherWindow::createChrome()
toggleWebGL->setEnabled(false);
#endif
+ QAction* toggleMedia = toolsMenu->addAction("Toggle Media", this, SLOT(toggleMedia(bool)));
+ toggleMedia->setCheckable(true);
+#if ENABLE(VIDEO)
+ toggleMedia->setChecked(settings->testAttribute(QWebSettings::MediaEnabled));
+#else
+ toggleMedia->setChecked(false);
+ toggleMedia->setEnabled(false);
+#endif
+
QAction* toggleWebAudio = toolsMenu->addAction("Toggle WebAudio", this, SLOT(toggleWebAudio(bool)));
toggleWebAudio->setCheckable(true);
#if ENABLE(WEB_AUDIO)
@@ -336,7 +348,7 @@ void LauncherWindow::createChrome()
QAction* toggleMediaSource = toolsMenu->addAction("Toggle MediaSource", this, SLOT(toggleMediaSource(bool)));
toggleMediaSource->setCheckable(true);
- toggleWebGL->setChecked(settings->testAttribute(QWebSettings::MediaSourceEnabled));
+ toggleMediaSource->setChecked(settings->testAttribute(QWebSettings::MediaSourceEnabled));
#if !ENABLE(MEDIA_SOURCE)
toggleMediaSource->setEnabled(false);
#endif
@@ -948,6 +960,12 @@ void LauncherWindow::toggleWebGL(bool toggle)
page()->settings()->setAttribute(QWebSettings::WebGLEnabled, toggle);
}
+void LauncherWindow::toggleMedia(bool toggle)
+{
+ m_windowOptions.useMedia = toggle;
+ page()->settings()->setAttribute(QWebSettings::MediaEnabled, toggle);
+}
+
void LauncherWindow::toggleWebAudio(bool toggle)
{
m_windowOptions.useWebAudio = toggle;
@@ -1142,6 +1160,23 @@ void LauncherWindow::showUserAgentDialog()
delete dialog;
}
+void LauncherWindow::showSSLErrorConfirmation(QNetworkReply* reply, const QList<QSslError>& errors)
+{
+ QString errorStrings = "<ul>";
+ for (const QSslError& error : errors)
+ errorStrings += "<li>" + error.errorString() + "</li>";
+ errorStrings += "</ul>";
+
+ QMessageBox sslWarningBox;
+ sslWarningBox.setText("TLS handshake problem");
+ sslWarningBox.setInformativeText(errorStrings);
+ sslWarningBox.setStandardButtons(QMessageBox::Abort | QMessageBox::Ignore);
+ sslWarningBox.setDefaultButton(QMessageBox::Abort);
+ sslWarningBox.setIcon(QMessageBox::Warning);
+ if (sslWarningBox.exec() == QMessageBox::Ignore)
+ reply->ignoreSslErrors();
+}
+
void LauncherWindow::loadURLListFromFile()
{
QString selectedFile;
diff --git a/Tools/QtTestBrowser/launcherwindow.h b/Tools/QtTestBrowser/launcherwindow.h
index e475a8022..8a8baeeda 100644
--- a/Tools/QtTestBrowser/launcherwindow.h
+++ b/Tools/QtTestBrowser/launcherwindow.h
@@ -72,6 +72,7 @@ public:
bool useCompositing { false };
bool useTiledBackingStore { false };
bool useWebGL { false };
+ bool useMedia { true };
bool useWebAudio { false };
bool useMediaSource { false };
bool useFrameFlattening { false };
@@ -134,6 +135,7 @@ protected Q_SLOTS:
void toggleTiledBackingStore(bool toggle);
void toggleResizesToContents(bool toggle);
void toggleWebGL(bool toggle);
+ void toggleMedia(bool toggle);
void toggleWebAudio(bool toggle);
void toggleMediaSource(bool toggle);
void toggleSpatialNavigation(bool enable);
@@ -170,6 +172,8 @@ protected Q_SLOTS:
void clearSelection();
void showFPS(bool enable);
void showUserAgentDialog();
+ void showSSLErrorConfirmation(QNetworkReply*, const QList<QSslError>&);
+
void printURL(const QUrl&);
#if !defined(QT_NO_FILEDIALOG) && !defined(QT_NO_MESSAGEBOX)
diff --git a/Tools/QtTestBrowser/mainwindow.cpp b/Tools/QtTestBrowser/mainwindow.cpp
index d342147ac..573bc77c9 100644
--- a/Tools/QtTestBrowser/mainwindow.cpp
+++ b/Tools/QtTestBrowser/mainwindow.cpp
@@ -43,6 +43,7 @@
#include <QFileDialog>
#endif
#include <QMenuBar>
+#include <QMessageBox>
MainWindow::MainWindow()
: m_page(new WebPage(this))
diff --git a/Tools/QtTestBrowser/webpage.cpp b/Tools/QtTestBrowser/webpage.cpp
index a0efed1d8..6188e4ca2 100644
--- a/Tools/QtTestBrowser/webpage.cpp
+++ b/Tools/QtTestBrowser/webpage.cpp
@@ -80,27 +80,6 @@ void WebPage::applyProxy()
}
}
-bool WebPage::supportsExtension(QWebPage::Extension extension) const
-{
- if (extension == ChooseMultipleFilesExtension || extension == QWebPage::ErrorPageExtension)
- return true;
- return false;
-}
-
-bool WebPage::extension(Extension extension, const ExtensionOption* option, ExtensionReturn* output)
-{
- if (extension == ChooseMultipleFilesExtension)
- return QWebPage::extension(extension, option, output);
-
- const QWebPage::ErrorPageExtensionOption* info = static_cast<const QWebPage::ErrorPageExtensionOption*>(option);
- QWebPage::ErrorPageExtensionReturn* errorPage = static_cast<QWebPage::ErrorPageExtensionReturn*>(output);
-
- errorPage->content = QString("<html><head><title>Failed loading page</title></head><body>%1</body></html>")
- .arg(info->errorString).toUtf8();
-
- return true;
-}
-
bool WebPage::acceptNavigationRequest(QWebFrame* frame, const QNetworkRequest& request, NavigationType type)
{
QObject* view = parent();
diff --git a/Tools/QtTestBrowser/webpage.h b/Tools/QtTestBrowser/webpage.h
index 0238354aa..77a19c14f 100644
--- a/Tools/QtTestBrowser/webpage.h
+++ b/Tools/QtTestBrowser/webpage.h
@@ -46,8 +46,6 @@ public:
QWebPage* createWindow(QWebPage::WebWindowType) override;
QObject* createPlugin(const QString&, const QUrl&, const QStringList&, const QStringList&) override;
- bool supportsExtension(QWebPage::Extension) const override;
- bool extension(Extension, const ExtensionOption*, ExtensionReturn*) override;
bool acceptNavigationRequest(QWebFrame*, const QNetworkRequest&, NavigationType) override;