From c49326e942d7cc21f78fe187020dce73befdd935 Mon Sep 17 00:00:00 2001 From: Konstantin Tokarev Date: Tue, 4 Jun 2019 22:44:55 +0300 Subject: Import WebKit commit 5ccca3a720f7c2251c4ac8b28f25bd73524081f0 Change-Id: Idfb37cd43929536d4c67d1fa5d8cb598e9c0ad7e Reviewed-by: Konstantin Tokarev --- Tools/QtTestBrowser/launcherwindow.cpp | 35 +++++++++++++++++++++++++++++++++- Tools/QtTestBrowser/launcherwindow.h | 4 ++++ Tools/QtTestBrowser/mainwindow.cpp | 2 ++ Tools/TestWebKitAPI/PlatformQt.cmake | 2 +- 4 files changed, 41 insertions(+), 2 deletions(-) (limited to 'Tools') diff --git a/Tools/QtTestBrowser/launcherwindow.cpp b/Tools/QtTestBrowser/launcherwindow.cpp index 716a6e3e8..6e221840d 100644 --- a/Tools/QtTestBrowser/launcherwindow.cpp +++ b/Tools/QtTestBrowser/launcherwindow.cpp @@ -222,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); + settings->setAttribute(QWebSettings::MediaEnabled, m_windowOptions.useMedia); m_windowOptions.useWebAudio = settings->testAttribute(QWebSettings::WebAudioEnabled); m_windowOptions.useMediaSource = settings->testAttribute(QWebSettings::MediaSourceEnabled); @@ -326,6 +327,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 +346,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 +958,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 +1158,23 @@ void LauncherWindow::showUserAgentDialog() delete dialog; } +void LauncherWindow::showSSLErrorConfirmation(QNetworkReply* reply, const QList& errors) +{ + QString errorStrings = "
    "; + for (const QSslError& error : errors) + errorStrings += "
  • " + error.errorString() + "
  • "; + errorStrings += "
"; + + QMessageBox sslWarningBox; + sslWarningBox.setText("SSL 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&); + 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..e22193a96 100644 --- a/Tools/QtTestBrowser/mainwindow.cpp +++ b/Tools/QtTestBrowser/mainwindow.cpp @@ -43,6 +43,7 @@ #include #endif #include +#include MainWindow::MainWindow() : m_page(new WebPage(this)) @@ -85,6 +86,7 @@ void MainWindow::buildUI() connect(page()->mainFrame(), SIGNAL(loadStarted()), this, SLOT(onLoadStarted())); connect(page()->mainFrame(), SIGNAL(iconChanged()), this, SLOT(onIconChanged())); connect(page()->mainFrame(), SIGNAL(titleChanged(QString)), this, SLOT(onTitleChanged(QString))); + connect(page()->networkAccessManager(), SIGNAL(sslErrors(QNetworkReply*, const QList&)), this, SLOT(onSSLErrors(QNetworkReply*, const QList&))); connect(page(), SIGNAL(windowCloseRequested()), this, SLOT(close())); #ifndef QT_NO_SHORTCUT diff --git a/Tools/TestWebKitAPI/PlatformQt.cmake b/Tools/TestWebKitAPI/PlatformQt.cmake index c054c661b..81d98bcb5 100644 --- a/Tools/TestWebKitAPI/PlatformQt.cmake +++ b/Tools/TestWebKitAPI/PlatformQt.cmake @@ -35,7 +35,7 @@ set(test_webcore_LIBRARIES WebCore gtest ${Qt5Gui_LIBRARIES} - ${DEPEND_STATIC_LIBS} + ${STATIC_LIB_DEPENDENCIES} ) add_executable(TestWebCore -- cgit v1.2.3