diff options
author | Konstantin Tokarev <annulen@yandex.ru> | 2017-01-27 08:36:56 +0300 |
---|---|---|
committer | Konstantin Tokarev <annulen@yandex.ru> | 2017-02-02 12:31:42 +0000 |
commit | 6b406688a4020916ba2966e6e5252d9c1385970f (patch) | |
tree | 65af619b76adb44fee03f2e496a2e4dc5c455dd8 /Tools/QtTestBrowser | |
parent | 46167faa61861b01a0e4e8e774da9febc3c2956e (diff) | |
download | qtwebkit-6b406688a4020916ba2966e6e5252d9c1385970f.tar.gz |
Imported WebKit commit bdab88b903fe1a254c80af20161183976670cd3b
Change-Id: Idc1156f4a64df4e7d89e90d4e03451f004c8ae6d
Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Diffstat (limited to 'Tools/QtTestBrowser')
-rw-r--r-- | Tools/QtTestBrowser/launcherwindow.cpp | 61 | ||||
-rw-r--r-- | Tools/QtTestBrowser/launcherwindow.h | 9 | ||||
-rw-r--r-- | Tools/QtTestBrowser/qttestbrowser.cpp | 13 |
3 files changed, 71 insertions, 12 deletions
diff --git a/Tools/QtTestBrowser/launcherwindow.cpp b/Tools/QtTestBrowser/launcherwindow.cpp index 537eccf64..c1974552e 100644 --- a/Tools/QtTestBrowser/launcherwindow.cpp +++ b/Tools/QtTestBrowser/launcherwindow.cpp @@ -169,7 +169,10 @@ void LauncherWindow::initializeView() WebViewGraphicsBased* view = new WebViewGraphicsBased(splitter); m_view = view; #ifndef QT_NO_OPENGL - toggleQGLWidgetViewport(m_windowOptions.useQGLWidgetViewport); + if (!m_windowOptions.useQOpenGLWidgetViewport) + toggleQGLWidgetViewport(m_windowOptions.useQGLWidgetViewport); + if (!m_windowOptions.useQGLWidgetViewport) + toggleQOpenGLWidgetViewport(m_windowOptions.useQOpenGLWidgetViewport); #endif view->setPage(page()); @@ -213,7 +216,8 @@ void LauncherWindow::applyPrefs() { QWebSettings* settings = page()->settings(); #ifndef QT_NO_OPENGL - settings->setAttribute(QWebSettings::AcceleratedCompositingEnabled, m_windowOptions.useCompositing && m_windowOptions.useQGLWidgetViewport); + settings->setAttribute(QWebSettings::AcceleratedCompositingEnabled, m_windowOptions.useCompositing + && (m_windowOptions.useQGLWidgetViewport || m_windowOptions.useQOpenGLWidgetViewport)); #endif settings->setAttribute(QWebSettings::TiledBackingStoreEnabled, m_windowOptions.useTiledBackingStore); settings->setAttribute(QWebSettings::FrameFlatteningEnabled, m_windowOptions.useFrameFlattening); @@ -388,8 +392,12 @@ void LauncherWindow::createChrome() QAction* toggleAcceleratedCompositing = graphicsViewMenu->addAction("Toggle Accelerated Compositing", this, SLOT(toggleAcceleratedCompositing(bool))); toggleAcceleratedCompositing->setCheckable(true); toggleAcceleratedCompositing->setChecked(settings->testAttribute(QWebSettings::AcceleratedCompositingEnabled)); - toggleAcceleratedCompositing->setEnabled(isGraphicsBased()); - toggleAcceleratedCompositing->connect(toggleGraphicsView, SIGNAL(toggled(bool)), SLOT(setEnabled(bool))); + + QAction* toggleAccelerated2dCanvas = graphicsViewMenu->addAction("Toggle Accelerated 2D canvas", this, SLOT(toggleAccelerated2dCanvas(bool))); + toggleAccelerated2dCanvas->setCheckable(true); + toggleAccelerated2dCanvas->setEnabled(settings->testAttribute(QWebSettings::AcceleratedCompositingEnabled)); + toggleAccelerated2dCanvas->setChecked(settings->testAttribute(QWebSettings::Accelerated2dCanvasEnabled)); + toggleAccelerated2dCanvas->connect(toggleAcceleratedCompositing, SIGNAL(toggled(bool)), SLOT(setEnabled(bool))); QAction* toggleResizesToContents = graphicsViewMenu->addAction("Toggle Resizes To Contents Mode", this, SLOT(toggleResizesToContents(bool))); toggleResizesToContents->setCheckable(true); @@ -409,6 +417,13 @@ void LauncherWindow::createChrome() toggleQGLWidgetViewport->setChecked(m_windowOptions.useQGLWidgetViewport); toggleQGLWidgetViewport->setEnabled(isGraphicsBased()); toggleQGLWidgetViewport->connect(toggleGraphicsView, SIGNAL(toggled(bool)), SLOT(setEnabled(bool))); +#if QT_VERSION >= QT_VERSION_CHECK(5, 4, 0) + QAction* toggleQOpenGLWidgetViewport = graphicsViewMenu->addAction("Toggle use of QOpenGLWidget Viewport", this, SLOT(toggleQOpenGLWidgetViewport(bool))); + toggleQOpenGLWidgetViewport->setCheckable(true); + toggleQOpenGLWidgetViewport->setChecked(m_windowOptions.useQOpenGLWidgetViewport); + toggleQOpenGLWidgetViewport->setEnabled(isGraphicsBased()); + toggleQOpenGLWidgetViewport->connect(toggleGraphicsView, SIGNAL(toggled(bool)), SLOT(setEnabled(bool))); +#endif #endif QMenu* viewportUpdateMenu = graphicsViewMenu->addMenu("Change Viewport Update Mode"); @@ -517,6 +532,10 @@ void LauncherWindow::createChrome() toggleJavascriptCanOpenWindows->setCheckable(true); toggleJavascriptCanOpenWindows->setChecked(false); + QAction* togglePrivateBrowsing = settingsMenu->addAction("Enable Private Browsing", this, SLOT(togglePrivateBrowsing(bool))); + togglePrivateBrowsing->setCheckable(true); + togglePrivateBrowsing->setChecked(false); + QAction* toggleUseDiskCookies = settingsMenu->addAction("Save Cookies on Disk", this, SLOT(setUseDiskCookies(bool))); toggleUseDiskCookies->setCheckable(true); toggleUseDiskCookies->setChecked(m_windowOptions.useDiskCookies); @@ -795,7 +814,10 @@ void LauncherWindow::screenshot() #endif #ifndef QT_NO_OPENGL - toggleQGLWidgetViewport(m_windowOptions.useQGLWidgetViewport); + if (!m_windowOptions.useQOpenGLWidgetViewport) + toggleQGLWidgetViewport(m_windowOptions.useQGLWidgetViewport); + if (!m_windowOptions.useQGLWidgetViewport) + toggleQOpenGLWidgetViewport(m_windowOptions.useQOpenGLWidgetViewport); #endif } @@ -886,6 +908,11 @@ void LauncherWindow::toggleAcceleratedCompositing(bool toggle) page()->settings()->setAttribute(QWebSettings::AcceleratedCompositingEnabled, toggle); } +void LauncherWindow::toggleAccelerated2dCanvas(bool toggle) +{ + page()->settings()->setAttribute(QWebSettings::Accelerated2dCanvasEnabled, toggle); +} + void LauncherWindow::toggleTiledBackingStore(bool toggle) { page()->settings()->setAttribute(QWebSettings::TiledBackingStoreEnabled, toggle); @@ -958,6 +985,11 @@ void LauncherWindow::toggleJavascriptCanOpenWindows(bool enable) page()->settings()->setAttribute(QWebSettings::JavascriptCanOpenWindows, enable); } +void LauncherWindow::togglePrivateBrowsing(bool enable) +{ + page()->settings()->setAttribute(QWebSettings::PrivateBrowsingEnabled, enable); +} + void LauncherWindow::setUseDiskCookies(bool enable) { testBrowserCookieJarInstance()->setDiskStorageEnabled(enable); @@ -984,11 +1016,28 @@ void LauncherWindow::toggleQGLWidgetViewport(bool enable) if (!isGraphicsBased()) return; + if (enable) + m_windowOptions.useQOpenGLWidgetViewport = false; m_windowOptions.useQGLWidgetViewport = enable; - WebViewGraphicsBased* view = static_cast<WebViewGraphicsBased*>(m_view); + WebViewGraphicsBased* view = static_cast<WebViewGraphicsBased*>(m_view); view->setViewport(enable ? new QGLWidget() : 0); } + +void LauncherWindow::toggleQOpenGLWidgetViewport(bool enable) +{ + if (!isGraphicsBased()) + return; + +#if QT_VERSION >= QT_VERSION_CHECK(5, 4, 0) + if (enable) + m_windowOptions.useQGLWidgetViewport = false; + m_windowOptions.useQOpenGLWidgetViewport = enable; + + WebViewGraphicsBased* view = static_cast<WebViewGraphicsBased*>(m_view); + view->setViewport(enable ? new QOpenGLWidget() : 0); +#endif +} #endif void LauncherWindow::changeViewportUpdateMode(int mode) diff --git a/Tools/QtTestBrowser/launcherwindow.h b/Tools/QtTestBrowser/launcherwindow.h index d4a3b832d..c9388da85 100644 --- a/Tools/QtTestBrowser/launcherwindow.h +++ b/Tools/QtTestBrowser/launcherwindow.h @@ -38,6 +38,9 @@ #ifndef QT_NO_OPENGL #include <QtOpenGL/QGLWidget> #endif +#if QT_VERSION >= QT_VERSION_CHECK(5, 4, 0) +#include <QOpenGLWidget> +#endif #include <QDebug> @@ -82,9 +85,8 @@ public: bool useDiskCookies { true }; bool enableScrollAnimator { false }; quint64 offlineStorageDefaultQuotaSize { 0 }; -#ifndef QT_NO_OPENGL bool useQGLWidgetViewport { false }; -#endif + bool useQOpenGLWidgetViewport { false }; bool printLoadedUrls { false }; QUrl inspectorUrl; quint16 remoteInspectorPort { 0 }; @@ -128,6 +130,7 @@ protected Q_SLOTS: void setTouchMocking(bool on); void toggleWebView(bool graphicsBased); void toggleAcceleratedCompositing(bool toggle); + void toggleAccelerated2dCanvas(bool toggle); void toggleTiledBackingStore(bool toggle); void toggleResizesToContents(bool toggle); void toggleWebGL(bool toggle); @@ -140,6 +143,7 @@ protected Q_SLOTS: void toggleInterruptingJavaScriptEnabled(bool enable); void toggleJavascriptCanOpenWindows(bool enable); void toggleAutoLoadImages(bool enable); + void togglePrivateBrowsing(bool enable); void setUseDiskCookies(bool enable); void clearCookies(); void togglePlugins(bool enable); @@ -154,6 +158,7 @@ protected Q_SLOTS: #endif #ifndef QT_NO_OPENGL void toggleQGLWidgetViewport(bool enable); + void toggleQOpenGLWidgetViewport(bool enable); #endif void changeViewportUpdateMode(int mode); diff --git a/Tools/QtTestBrowser/qttestbrowser.cpp b/Tools/QtTestBrowser/qttestbrowser.cpp index 05726b822..4ec7425b1 100644 --- a/Tools/QtTestBrowser/qttestbrowser.cpp +++ b/Tools/QtTestBrowser/qttestbrowser.cpp @@ -136,8 +136,9 @@ void LauncherApplication::handleUserOptions() << "[-no-compositing]" #if defined(QT_CONFIGURED_WITH_OPENGL) << "[-gl-viewport]" - << "[-webgl]" #endif + << "[-opengl-viewport]" + << "[-webgl]" << QString("[-viewport-update-mode %1]").arg(formatKeys(updateModes)).toLatin1().data() #if !defined(QT_NO_NETWORKDISKCACHE) && !defined(QT_NO_DESKTOPSERVICES) << "[-disk-cache]" @@ -169,7 +170,6 @@ void LauncherApplication::handleUserOptions() windowOptions.useGraphicsView = true; if (args.contains("-no-compositing")) { - requiresGraphicsView("-no-compositing"); windowOptions.useCompositing = false; } @@ -245,11 +245,16 @@ void LauncherApplication::handleUserOptions() windowOptions.useQGLWidgetViewport = true; } +#endif if (args.contains("-webgl")) { - requiresGraphicsView("-webgl"); windowOptions.useWebGL = true; } -#endif + + if (args.contains("-opengl-viewport")) { + requiresGraphicsView("-opengl-viewport"); + windowOptions.useQOpenGLWidgetViewport = true; + } + #if HAVE(QTTESTSUPPORT) if (args.contains("-use-test-fonts")) |