diff options
author | Szabolcs David <davidsz@inf.u-szeged.hu> | 2016-11-22 05:42:20 -0800 |
---|---|---|
committer | Szabolcs David <davidsz@inf.u-szeged.hu> | 2016-12-06 11:40:45 +0000 |
commit | bb85301877aa4599af75f3993af484fa8b957948 (patch) | |
tree | 07e8a1677650f21d492f164dc80d3c88850c12a2 /tests | |
parent | 60ab7cb732433a495faad7f8d85f3210ad132c2c (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.cpp | 21 | ||||
-rw-r--r-- | tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp | 229 |
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) |