diff options
author | Allan Sandfeld Jensen <allan.jensen@digia.com> | 2013-09-13 12:51:20 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-19 20:50:05 +0200 |
commit | d441d6f39bb846989d95bcf5caf387b42414718d (patch) | |
tree | e367e64a75991c554930278175d403c072de6bb8 /Tools/QtTestBrowser | |
parent | 0060b2994c07842f4c59de64b5e3e430525c4b90 (diff) | |
download | qtwebkit-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.cpp | 51 | ||||
-rw-r--r-- | Tools/QtTestBrowser/launcherwindow.h | 8 | ||||
-rw-r--r-- | Tools/QtTestBrowser/qttestbrowser.cpp | 3 |
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"); |