summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorSzabolcs David <davidsz@inf.u-szeged.hu>2016-11-22 05:42:20 -0800
committerSzabolcs David <davidsz@inf.u-szeged.hu>2016-12-06 11:40:45 +0000
commitbb85301877aa4599af75f3993af484fa8b957948 (patch)
tree07e8a1677650f21d492f164dc80d3c88850c12a2 /tests
parent60ab7cb732433a495faad7f8d85f3210ad132c2c (diff)
Ensure the deletion of testing pages
If a test fails it may trigger an assert in debug mode because the delete wasn't performed. Move QWebEngine* objects to the stack or use QScopedPointers to avoid these assertion fails. Change-Id: Ic44c3fddc7cd9cf57a0e2d1c57e0a6fd99033e02 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/widgets/qwebenginehistory/tst_qwebenginehistory.cpp21
-rw-r--r--tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp229
2 files changed, 108 insertions, 142 deletions
diff --git a/tests/auto/widgets/qwebenginehistory/tst_qwebenginehistory.cpp b/tests/auto/widgets/qwebenginehistory/tst_qwebenginehistory.cpp
index a329b7307..dffd995c9 100644
--- a/tests/auto/widgets/qwebenginehistory/tst_qwebenginehistory.cpp
+++ b/tests/auto/widgets/qwebenginehistory/tst_qwebenginehistory.cpp
@@ -370,22 +370,21 @@ void tst_QWebEngineHistory::saveAndRestore_crash_2()
{
QByteArray buffer;
saveHistory(hist, &buffer);
- QWebEnginePage* page2 = new QWebEnginePage(this);
- QWebEngineHistory* hist2 = page2->history();
+ QWebEnginePage page2(this);
+ QWebEngineHistory* hist2 = page2.history();
for (unsigned i = 0; i < 5; i++) {
restoreHistory(hist2, &buffer);
saveHistory(hist2, &buffer);
}
- delete page2;
}
void tst_QWebEngineHistory::saveAndRestore_crash_3()
{
QByteArray buffer;
saveHistory(hist, &buffer);
- QWebEnginePage* page2 = new QWebEnginePage(this);
+ QWebEnginePage page2(this);
QWebEngineHistory* hist1 = hist;
- QWebEngineHistory* hist2 = page2->history();
+ QWebEngineHistory* hist2 = page2.history();
for (unsigned i = 0; i < 5; i++) {
restoreHistory(hist1, &buffer);
restoreHistory(hist2, &buffer);
@@ -395,7 +394,6 @@ void tst_QWebEngineHistory::saveAndRestore_crash_3()
saveHistory(hist2, &buffer);
hist2->clear();
}
- delete page2;
}
void tst_QWebEngineHistory::saveAndRestore_crash_4()
@@ -406,18 +404,18 @@ void tst_QWebEngineHistory::saveAndRestore_crash_4()
QByteArray buffer;
saveHistory(hist, &buffer);
- QWebEnginePage* page2 = new QWebEnginePage(this);
+ QScopedPointer<QWebEnginePage> page2(new QWebEnginePage(this));
// The initial crash was in PageCache.
page2->settings()->setMaximumPagesInCache(3);
// Load the history in a new page, waiting for the load to finish.
QEventLoop waitForLoadFinished;
- QObject::connect(page2, SIGNAL(loadFinished(bool)), &waitForLoadFinished, SLOT(quit()), Qt::QueuedConnection);
+ QObject::connect(page2.data(), SIGNAL(loadFinished(bool)), &waitForLoadFinished, SLOT(quit()), Qt::QueuedConnection);
QDataStream load(&buffer, QIODevice::ReadOnly);
load >> *page2->history();
waitForLoadFinished.exec();
- delete page2;
+ page2.reset();
// Give some time for the PageCache cleanup 0-timer to fire.
QTest::qWait(50);
#endif
@@ -456,12 +454,11 @@ void tst_QWebEngineHistory::clear()
QVERIFY(hist->count() == 1); // Leave current item.
QVERIFY(!actionBack->isEnabled());
- QWebEnginePage* page2 = new QWebEnginePage(this);
- QWebEngineHistory* hist2 = page2->history();
+ QWebEnginePage page2(this);
+ QWebEngineHistory* hist2 = page2.history();
QVERIFY(hist2->count() == 0);
hist2->clear();
QVERIFY(hist2->count() == 0); // Do not change anything.
- delete page2;
}
void tst_QWebEngineHistory::historyItemFromDeletedPage()
diff --git a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
index a35252081..287af511f 100644
--- a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
+++ b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
@@ -333,25 +333,23 @@ protected:
void tst_QWebEnginePage::acceptNavigationRequest()
{
- QWebEngineView *view = new QWebEngineView();
- QSignalSpy loadSpy(view, SIGNAL(loadFinished(bool)));
+ QWebEngineView view;
+ QSignalSpy loadSpy(&view, SIGNAL(loadFinished(bool)));
- NavigationRequestOverride* newPage = new NavigationRequestOverride(view, false);
- view->setPage(newPage);
+ NavigationRequestOverride* newPage = new NavigationRequestOverride(&view, false);
+ view.setPage(newPage);
- view->setHtml(QString("<html><body><form name='tstform' action='data:text/html,foo'method='get'>"
+ view.setHtml(QString("<html><body><form name='tstform' action='data:text/html,foo'method='get'>"
"<input type='text'><input type='submit'></form></body></html>"), QUrl());
QTRY_COMPARE(loadSpy.count(), 1);
- evaluateJavaScriptSync(view->page(), "tstform.submit();");
+ evaluateJavaScriptSync(view.page(), "tstform.submit();");
newPage->m_acceptNavigationRequest = true;
- evaluateJavaScriptSync(view->page(), "tstform.submit();");
+ evaluateJavaScriptSync(view.page(), "tstform.submit();");
QTRY_COMPARE(loadSpy.count(), 2);
- QCOMPARE(toPlainTextSync(view->page()), QString("foo?"));
-
- delete view;
+ QCOMPARE(toPlainTextSync(view.page()), QString("foo?"));
}
class JSTestPage : public QWebEnginePage
@@ -389,11 +387,10 @@ private:
/*
void tst_QWebEnginePage::infiniteLoopJS()
{
- JSTestPage* newPage = new JSTestPage(m_view);
- m_view->setPage(newPage);
+ JSTestPage newPage(m_view);
+ m_view->setPage(&newPage);
m_view->setHtml(QString("<html><body>test</body></html>"), QUrl());
m_view->page()->evaluateJavaScript("var run = true; var a = 1; while (run) { a++; }");
- delete newPage;
}
*/
@@ -409,9 +406,9 @@ void tst_QWebEnginePage::geolocationRequestJS()
{
QFETCH(bool, allowed);
QFETCH(int, errorCode);
- QWebEngineView *view = new QWebEngineView;
- JSTestPage *newPage = new JSTestPage(view);
- newPage->setView(view);
+ QWebEngineView view;
+ JSTestPage *newPage = new JSTestPage(&view);
+ newPage->setView(&view);
newPage->setGeolocationPermission(allowed);
connect(newPage, SIGNAL(featurePermissionRequested(const QUrl&, QWebEnginePage::Feature)),
@@ -420,10 +417,8 @@ void tst_QWebEnginePage::geolocationRequestJS()
QSignalSpy spyLoadFinished(newPage, SIGNAL(loadFinished(bool)));
newPage->setHtml(QString("<html><body>test</body></html>"), QUrl("qrc://secure/origin"));
QTRY_COMPARE(spyLoadFinished.count(), 1);
- if (evaluateJavaScriptSync(newPage, QLatin1String("!navigator.geolocation")).toBool()) {
- delete view;
+ if (evaluateJavaScriptSync(newPage, QLatin1String("!navigator.geolocation")).toBool())
W_QSKIP("Geolocation is not supported.", SkipSingle);
- }
evaluateJavaScriptSync(newPage, "var errorCode = 0; var done = false; function error(err) { errorCode = err.code; done = true; } function success(pos) { done = true; } navigator.geolocation.getCurrentPosition(success, error)");
@@ -432,8 +427,6 @@ void tst_QWebEnginePage::geolocationRequestJS()
if (result == 2)
QEXPECT_FAIL("", "No location service available.", Continue);
QCOMPARE(result, errorCode);
-
- delete view;
}
void tst_QWebEnginePage::loadFinished()
@@ -1233,7 +1226,7 @@ void tst_QWebEnginePage::cursorMovements()
#if !defined(QWEBENGINEPAGE_SELECTEDTEXT)
QSKIP("QWEBENGINEPAGE_SELECTEDTEXT");
#else
- CursorTrackedPage* page = new CursorTrackedPage;
+ QScopedPointer<CursorTrackedPage> page(new CursorTrackedPage);
QString content("<html><body><p id=one>The quick brown fox</p><p id=two>jumps over the lazy dog</p><p>May the source<br/>be with you!</p></body></html>");
page->setHtml(content);
@@ -1242,7 +1235,7 @@ void tst_QWebEnginePage::cursorMovements()
"var node = document.getElementById(\"one\"); " \
"range.selectNode(node); " \
"getSelection().addRange(range);";
- evaluateJavaScriptSync(page, script);
+ evaluateJavaScriptSync(page.data(), script);
QCOMPARE(page->selectedText().trimmed(), QString::fromLatin1("The quick brown fox"));
QRegExp regExp(" style=\".*\"");
@@ -1423,20 +1416,18 @@ void tst_QWebEnginePage::cursorMovements()
page->triggerAction(QWebEnginePage::MoveToNextWord);
QVERIFY(page->isSelectionCollapsed());
QCOMPARE(page->selectionStartOffset(), 12);
-
- delete page;
#endif
}
void tst_QWebEnginePage::textSelection()
{
- QWebEngineView *view = new QWebEngineView;
- CursorTrackedPage *page = new CursorTrackedPage(view);
+ QWebEngineView view;
+ CursorTrackedPage *page = new CursorTrackedPage(&view);
QString content("<html><body><p id=one>The quick brown fox</p>" \
"<p id=two>jumps over the lazy dog</p>" \
"<p>May the source<br/>be with you!</p></body></html>");
- page->setView(view);
- QSignalSpy loadSpy(view, SIGNAL(loadFinished(bool)));
+ page->setView(&view);
+ QSignalSpy loadSpy(&view, SIGNAL(loadFinished(bool)));
page->setHtml(content);
QTRY_COMPARE(loadSpy.count(), 1);
@@ -1530,8 +1521,6 @@ void tst_QWebEnginePage::textSelection()
QCOMPARE(page->action(QWebEnginePage::SelectStartOfDocument)->isEnabled(), true);
QCOMPARE(page->action(QWebEnginePage::SelectEndOfDocument)->isEnabled(), true);
#endif
-
- delete view;
}
void tst_QWebEnginePage::textEditing()
@@ -1539,7 +1528,7 @@ void tst_QWebEnginePage::textEditing()
#if !defined(QWEBENGINEPAGE_EVALUATEJAVASCRIPT)
QSKIP("QWEBENGINEPAGE_EVALUATEJAVASCRIPT");
#else
- CursorTrackedPage* page = new CursorTrackedPage;
+ QScopedPointer<CursorTrackedPage> page(new CursorTrackedPage);
QString content("<html><body><p id=one>The quick brown fox</p>" \
"<p id=two>jumps over the lazy dog</p>" \
"<p>May the source<br/>be with you!</p></body></html>");
@@ -1652,8 +1641,6 @@ void tst_QWebEnginePage::textEditing()
// this is only true if there is an editable selection
QCOMPARE(page->action(QWebEnginePage::Cut)->isEnabled(), true);
QCOMPARE(page->action(QWebEnginePage::RemoveFormat)->isEnabled(), true);
-
- delete page;
#endif
}
@@ -1719,12 +1706,12 @@ void tst_QWebEnginePage::inputMethods()
QFETCH(QString, viewType);
QWebEnginePage* page = new QWebEnginePage;
QObject* view = 0;
- QObject* container = 0;
+ QScopedPointer<QObject> container(0);
if (viewType == "QWebEngineView") {
QWebEngineView* wv = new QWebEngineView;
wv->setPage(page);
view = wv;
- container = view;
+ container.reset(view);
} else if (viewType == "QGraphicsWebView") {
QGraphicsWebView* wv = new QGraphicsWebView;
wv->setPage(page);
@@ -1736,7 +1723,7 @@ void tst_QWebEnginePage::inputMethods()
scene->addItem(wv);
wv->setGeometry(QRect(0, 0, 500, 500));
- container = gv;
+ container.reset(gv);
} else
QVERIFY2(false, "Unknown view type");
@@ -2404,8 +2391,6 @@ void tst_QWebEnginePage::inputMethods()
QCOMPARE(inputValue2, QString("\n\nthird line"));
// END - Newline test for textarea
-
- delete container;
#endif
}
@@ -2744,23 +2729,19 @@ void tst_QWebEnginePage::screenshot()
QDir::setCurrent(TESTS_SOURCE_DIR);
QFETCH(QString, html);
- QWebEnginePage* page = new QWebEnginePage;
- page->settings()->setAttribute(QWebEngineSettings::PluginsEnabled, true);
- page->setHtml(html, QUrl::fromLocalFile(TESTS_SOURCE_DIR));
- QSignalSpy spyFinished(m_view, &QWebEngineView::loadFinished);
+ QWebEnginePage page;
+ page.settings()->setAttribute(QWebEngineSettings::PluginsEnabled, true);
+ page.setHtml(html, QUrl::fromLocalFile(TESTS_SOURCE_DIR));
QVERIFY(spyFinished.wait(2000));
// take screenshot without a view
- takeScreenshot(page);
+ takeScreenshot(&page);
- QWebEngineView* view = new QWebEngineView;
- view->setPage(page);
+ QWebEngineView view;
+ view.setPage(&page);
// take screenshot when attached to a view
- takeScreenshot(page);
-
- delete page;
- delete view;
+ takeScreenshot(&page);
QDir::setCurrent(QApplication::applicationDirPath());
#endif
@@ -3425,26 +3406,25 @@ private:
void tst_QWebEnginePage::getUserMediaRequest()
{
- GetUserMediaTestPage *page = new GetUserMediaTestPage();
+ GetUserMediaTestPage page;
// We need to load content from a resource in order for the securityOrigin to be valid.
- QSignalSpy loadSpy(page, SIGNAL(loadFinished(bool)));
- page->load(QUrl("qrc:///resources/content.html"));
+ QSignalSpy loadSpy(&page, SIGNAL(loadFinished(bool)));
+ page.load(QUrl("qrc:///resources/content.html"));
QTRY_COMPARE(loadSpy.count(), 1);
- QVERIFY(evaluateJavaScriptSync(page, QStringLiteral("!!navigator.webkitGetUserMedia")).toBool());
- evaluateJavaScriptSync(page, QStringLiteral("navigator.webkitGetUserMedia({audio: true}, function() {}, function(){})"));
- QTRY_VERIFY(page->gotFeatureRequest(QWebEnginePage::MediaAudioCapture));
+ QVERIFY(evaluateJavaScriptSync(&page, QStringLiteral("!!navigator.webkitGetUserMedia")).toBool());
+ evaluateJavaScriptSync(&page, QStringLiteral("navigator.webkitGetUserMedia({audio: true}, function() {}, function(){})"));
+ QTRY_VERIFY(page.gotFeatureRequest(QWebEnginePage::MediaAudioCapture));
// Might end up failing due to the lack of physical media devices deeper in the content layer, so the JS callback is not guaranteed to be called,
// but at least we go through that code path, potentially uncovering failing assertions.
- page->acceptPendingRequest();
+ page.acceptPendingRequest();
- page->runJavaScript(QStringLiteral("errorCallbackCalled = false;"));
- evaluateJavaScriptSync(page, QStringLiteral("navigator.webkitGetUserMedia({audio: true, video: true}, function() {}, function(){errorCallbackCalled = true;})"));
- QTRY_VERIFY(page->gotFeatureRequest(QWebEnginePage::MediaAudioVideoCapture));
- page->rejectPendingRequest(); // Should always end up calling the error callback in JS.
- QTRY_VERIFY(evaluateJavaScriptSync(page, QStringLiteral("errorCallbackCalled;")).toBool());
- delete page;
+ page.runJavaScript(QStringLiteral("errorCallbackCalled = false;"));
+ evaluateJavaScriptSync(&page, QStringLiteral("navigator.webkitGetUserMedia({audio: true, video: true}, function() {}, function(){errorCallbackCalled = true;})"));
+ QTRY_VERIFY(page.gotFeatureRequest(QWebEnginePage::MediaAudioVideoCapture));
+ page.rejectPendingRequest(); // Should always end up calling the error callback in JS.
+ QTRY_VERIFY(evaluateJavaScriptSync(&page, QStringLiteral("errorCallbackCalled;")).toBool());
}
void tst_QWebEnginePage::savePage()
@@ -3718,13 +3698,13 @@ void tst_QWebEnginePage::runJavaScript()
void tst_QWebEnginePage::fullScreenRequested()
{
JavaScriptCallbackWatcher watcher;
- QWebEngineView* view = new QWebEngineView;
- QWebEnginePage* page = view->page();
- view->show();
+ QWebEngineView view;
+ QWebEnginePage* page = view.page();
+ view.show();
page->settings()->setAttribute(QWebEngineSettings::FullScreenSupportEnabled, true);
- QSignalSpy loadSpy(view, SIGNAL(loadFinished(bool)));
+ QSignalSpy loadSpy(&view, SIGNAL(loadFinished(bool)));
page->load(QUrl("qrc:///resources/fullscreen.html"));
QTRY_COMPARE(loadSpy.count(), 1);
@@ -3739,7 +3719,7 @@ void tst_QWebEnginePage::fullScreenRequested()
if (acceptRequest) request.accept(); else request.reject();
});
- QTest::keyPress(view->focusProxy(), Qt::Key_Space);
+ QTest::keyPress(view.focusProxy(), Qt::Key_Space);
QTRY_VERIFY(evaluateJavaScriptSync(page, "document.webkitIsFullScreen").toBool());
page->runJavaScript("document.webkitExitFullscreen()", JavaScriptCallbackUndefined());
QVERIFY(watcher.wait());
@@ -3747,12 +3727,10 @@ void tst_QWebEnginePage::fullScreenRequested()
acceptRequest = false;
page->runJavaScript("document.webkitFullscreenEnabled", JavaScriptCallback(true));
- QTest::keyPress(view->focusProxy(), Qt::Key_Space);
+ QTest::keyPress(view.focusProxy(), Qt::Key_Space);
QVERIFY(watcher.wait());
page->runJavaScript("document.webkitIsFullScreen", JavaScriptCallback(false));
QVERIFY(watcher.wait());
-
- delete view;
}
void tst_QWebEnginePage::symmetricUrl()
@@ -3956,13 +3934,13 @@ void tst_QWebEnginePage::requestedUrlAfterSetAndLoadFailures()
void tst_QWebEnginePage::asyncAndDelete()
{
- QWebEnginePage *page = new QWebEnginePage;
+ QScopedPointer<QWebEnginePage> page(new QWebEnginePage);
CallbackSpy<QString> plainTextSpy;
CallbackSpy<QString> htmlSpy;
page->toPlainText(plainTextSpy.ref());
page->toHtml(htmlSpy.ref());
- delete page;
+ page.reset();
// Pending callbacks should be called with an empty value in the page's destructor.
QCOMPARE(plainTextSpy.waitForResult(), QString());
QVERIFY(plainTextSpy.wasCalled());
@@ -4829,33 +4807,30 @@ void tst_QWebEnginePage::loadInSignalHandlers()
void tst_QWebEnginePage::restoreHistory()
{
- QWebChannel *channel = new QWebChannel;
- QWebEnginePage *page = new QWebEnginePage;
- page->setWebChannel(channel);
+ QWebChannel channel;
+ QWebEnginePage page;
+ page.setWebChannel(&channel);
QWebEngineScript script;
script.setName(QStringLiteral("script"));
- page->scripts().insert(script);
+ page.scripts().insert(script);
- QSignalSpy spy(page, SIGNAL(loadFinished(bool)));
- page->load(QUrl(QStringLiteral("qrc:/resources/test1.html")));
+ QSignalSpy spy(&page, SIGNAL(loadFinished(bool)));
+ page.load(QUrl(QStringLiteral("qrc:/resources/test1.html")));
QTRY_COMPARE(spy.count(), 1);
- QCOMPARE(page->webChannel(), channel);
- QVERIFY(page->scripts().contains(script));
+ QCOMPARE(page.webChannel(), &channel);
+ QVERIFY(page.scripts().contains(script));
QByteArray data;
QDataStream out(&data, QIODevice::ReadWrite);
- out << *page->history();
+ out << *page.history();
QDataStream in(&data, QIODevice::ReadOnly);
- in >> *page->history();
+ in >> *page.history();
QTRY_COMPARE(spy.count(), 2);
- QCOMPARE(page->webChannel(), channel);
- QVERIFY(page->scripts().contains(script));
-
- delete page;
- delete channel;
+ QCOMPARE(page.webChannel(), &channel);
+ QVERIFY(page.scripts().contains(script));
}
void tst_QWebEnginePage::toPlainTextLoadFinishedRace_data()
@@ -4869,33 +4844,33 @@ void tst_QWebEnginePage::toPlainTextLoadFinishedRace()
{
QFETCH(bool, enableErrorPage);
- QWebEnginePage *page = new QWebEnginePage;
+ QScopedPointer<QWebEnginePage> page(new QWebEnginePage);
page->settings()->setAttribute(QWebEngineSettings::ErrorPageEnabled, enableErrorPage);
- QSignalSpy spy(page, SIGNAL(loadFinished(bool)));
+ QSignalSpy spy(page.data(), SIGNAL(loadFinished(bool)));
page->load(QUrl("data:text/plain,foobarbaz"));
QTRY_VERIFY(spy.count() == 1);
- QCOMPARE(toPlainTextSync(page), QString("foobarbaz"));
+ QCOMPARE(toPlainTextSync(page.data()), QString("foobarbaz"));
page->load(QUrl("fail:unknown/scheme"));
QTRY_VERIFY(spy.count() == 2);
- QString s = toPlainTextSync(page);
+ QString s = toPlainTextSync(page.data());
QVERIFY(s.contains("foobarbaz") == !enableErrorPage);
page->load(QUrl("data:text/plain,lalala"));
QTRY_VERIFY(spy.count() == 3);
- QCOMPARE(toPlainTextSync(page), QString("lalala"));
- delete page;
+ QCOMPARE(toPlainTextSync(page.data()), QString("lalala"));
+ page.reset();
QVERIFY(spy.count() == 3);
}
void tst_QWebEnginePage::setZoomFactor()
{
- QWebEnginePage *page = new QWebEnginePage;
+ QWebEnginePage page;
- QVERIFY(qFuzzyCompare(page->zoomFactor(), 1.0));
- page->setZoomFactor(2.5);
- QVERIFY(qFuzzyCompare(page->zoomFactor(), 2.5));
+ QVERIFY(qFuzzyCompare(page.zoomFactor(), 1.0));
+ page.setZoomFactor(2.5);
+ QVERIFY(qFuzzyCompare(page.zoomFactor(), 2.5));
const QUrl urlToLoad("qrc:/resources/test1.html");
@@ -4903,15 +4878,13 @@ void tst_QWebEnginePage::setZoomFactor()
m_page->setUrl(urlToLoad);
QTRY_COMPARE(finishedSpy.count(), 1);
QVERIFY(finishedSpy.at(0).first().toBool());
- QVERIFY(qFuzzyCompare(page->zoomFactor(), 2.5));
+ QVERIFY(qFuzzyCompare(page.zoomFactor(), 2.5));
- page->setZoomFactor(5.5);
- QVERIFY(qFuzzyCompare(page->zoomFactor(), 2.5));
+ page.setZoomFactor(5.5);
+ QVERIFY(qFuzzyCompare(page.zoomFactor(), 2.5));
- page->setZoomFactor(0.1);
- QVERIFY(qFuzzyCompare(page->zoomFactor(), 2.5));
-
- delete page;
+ page.setZoomFactor(0.1);
+ QVERIFY(qFuzzyCompare(page.zoomFactor(), 2.5));
}
void tst_QWebEnginePage::printToPdf()
@@ -4951,10 +4924,10 @@ void tst_QWebEnginePage::printToPdf()
void tst_QWebEnginePage::mouseButtonTranslation()
{
- QWebEngineView *view = new QWebEngineView;
+ QWebEngineView view;
- QSignalSpy spy(view, SIGNAL(loadFinished(bool)));
- view->setHtml(QStringLiteral(
+ QSignalSpy spy(&view, SIGNAL(loadFinished(bool)));
+ view.setHtml(QStringLiteral(
"<html><head><script>\
var lastEvent = { 'button' : -1 }; \
function saveLastEvent(event) { console.log(event); lastEvent = event; }; \
@@ -4963,25 +4936,23 @@ void tst_QWebEnginePage::mouseButtonTranslation()
<div style=\"height:600px;\" onmousedown=\"saveLastEvent(event)\">\
</div>\
</body></html>"));
- view->show();
- QTest::qWaitForWindowExposed(view);
+ view.show();
+ QTest::qWaitForWindowExposed(&view);
QTRY_VERIFY(spy.count() == 1);
- QVERIFY(view->focusProxy() != nullptr);
+ QVERIFY(view.focusProxy() != nullptr);
- QMouseEvent evpres(QEvent::MouseButtonPress, view->rect().center(), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
- QGuiApplication::sendEvent(view->focusProxy(), &evpres);
+ QMouseEvent evpres(QEvent::MouseButtonPress, view.rect().center(), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
+ QGuiApplication::sendEvent(view.focusProxy(), &evpres);
- QTRY_COMPARE(evaluateJavaScriptSync(view->page(), "lastEvent.button").toInt(), 0);
- QCOMPARE(evaluateJavaScriptSync(view->page(), "lastEvent.buttons").toInt(), 1);
+ QTRY_COMPARE(evaluateJavaScriptSync(view.page(), "lastEvent.button").toInt(), 0);
+ QCOMPARE(evaluateJavaScriptSync(view.page(), "lastEvent.buttons").toInt(), 1);
- QMouseEvent evpres2(QEvent::MouseButtonPress, view->rect().center(), Qt::RightButton, Qt::LeftButton | Qt::RightButton, Qt::NoModifier);
- QGuiApplication::sendEvent(view->focusProxy(), &evpres2);
+ QMouseEvent evpres2(QEvent::MouseButtonPress, view.rect().center(), Qt::RightButton, Qt::LeftButton | Qt::RightButton, Qt::NoModifier);
+ QGuiApplication::sendEvent(view.focusProxy(), &evpres2);
- QTRY_COMPARE(evaluateJavaScriptSync(view->page(), "lastEvent.button").toInt(), 2);
- QCOMPARE(evaluateJavaScriptSync(view->page(), "lastEvent.buttons").toInt(), 3);
-
- delete view;
+ QTRY_COMPARE(evaluateJavaScriptSync(view.page(), "lastEvent.button").toInt(), 2);
+ QCOMPARE(evaluateJavaScriptSync(view.page(), "lastEvent.buttons").toInt(), 3);
}
QPoint tst_QWebEnginePage::elementCenter(QWebEnginePage *page, const QString &id)
@@ -5060,20 +5031,18 @@ void tst_QWebEnginePage::viewSourceURL()
QFETCH(QUrl, requestedUrl);
QFETCH(QString, title);
- QWebEnginePage *page = new QWebEnginePage;
- QSignalSpy loadFinishedSpy(page, SIGNAL(loadFinished(bool)));
+ QWebEnginePage page;
+ QSignalSpy loadFinishedSpy(&page, SIGNAL(loadFinished(bool)));
- page->load(userInputUrl);
+ page.load(userInputUrl);
QTRY_COMPARE(loadFinishedSpy.count(), 1);
QList<QVariant> arguments = loadFinishedSpy.takeFirst();
QCOMPARE(arguments.at(0).toBool(), loadSucceed);
- QCOMPARE(page->url(), url);
- QCOMPARE(page->requestedUrl(), requestedUrl);
- QCOMPARE(page->title(), title);
- QVERIFY(!page->action(QWebEnginePage::ViewSource)->isEnabled());
-
- delete page;
+ QCOMPARE(page.url(), url);
+ QCOMPARE(page.requestedUrl(), requestedUrl);
+ QCOMPARE(page.title(), title);
+ QVERIFY(!page.action(QWebEnginePage::ViewSource)->isEnabled());
}
QTEST_MAIN(tst_QWebEnginePage)