diff options
author | Michael BrĂ¼ning <michael.bruning@qt.io> | 2020-07-24 10:30:54 +0200 |
---|---|---|
committer | Michael BrĂ¼ning <michael.bruning@qt.io> | 2020-07-24 15:23:10 +0200 |
commit | 54b84e14589b3e51f2f2e7980e2af2559601efe2 (patch) | |
tree | eafef9f5b854cd90f6fa8e1ae5ab9e161a424aa3 /tests/auto/widgets | |
parent | 27332664b2745d7d322b8afbc1a41dc0fbfc763a (diff) | |
parent | a2a19a6965601ced75e3e48b2bf618ba2bdbd29e (diff) |
Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
src/core/compositor/delegated_frame_node.cpp
src/core/core_chromium.pri
src/core/render_widget_host_view_qt.cpp
Change-Id: I9387151e9647c87fc387095e7b6d8d66560cdf71
Diffstat (limited to 'tests/auto/widgets')
-rw-r--r-- | tests/auto/widgets/proxypac/tst_proxypac.cpp | 2 | ||||
-rw-r--r-- | tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp | 29 | ||||
-rw-r--r-- | tests/auto/widgets/qwebengineprofile/tst_qwebengineprofile.cpp | 5 |
3 files changed, 33 insertions, 3 deletions
diff --git a/tests/auto/widgets/proxypac/tst_proxypac.cpp b/tests/auto/widgets/proxypac/tst_proxypac.cpp index 934e23fde..dabbfb4e5 100644 --- a/tests/auto/widgets/proxypac/tst_proxypac.cpp +++ b/tests/auto/widgets/proxypac/tst_proxypac.cpp @@ -46,7 +46,7 @@ private slots: void tst_ProxyPac::proxypac() { - const QString fromEnv = QString::fromLocal8Bit(qgetenv("QTWEBENGINE_CHROMIUM_FLAGS")); + const QString fromEnv = qEnvironmentVariable("QTWEBENGINE_CHROMIUM_FLAGS"); if (!fromEnv.contains("--proxy-pac-url")) qFatal("--proxy-pac-url argument is not passed."); diff --git a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp index 9768747ca..550548418 100644 --- a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp +++ b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp @@ -92,6 +92,7 @@ private Q_SLOTS: void comboBoxPopupPositionAfterChildMove(); void acceptNavigationRequest(); void acceptNavigationRequestNavigationType(); + void acceptNavigationRequestRelativeToNothing(); void geolocationRequestJS_data(); void geolocationRequestJS(); void loadFinished(); @@ -601,6 +602,34 @@ void tst_QWebEnginePage::acceptNavigationRequestNavigationType() } } +// Relative url without base url. +// +// See also: QTBUG-48435 +void tst_QWebEnginePage::acceptNavigationRequestRelativeToNothing() +{ + TestPage page; + QSignalSpy loadSpy(&page, SIGNAL(loadFinished(bool))); + + page.setHtml(QString("<html><body><a id='link' href='S0'>limited time offer</a></body></html>"), + /* baseUrl: */ QUrl()); + QTRY_COMPARE_WITH_TIMEOUT(loadSpy.count(), 1, 20000); + page.runJavaScript(QStringLiteral("document.getElementById(\"link\").click()")); + QTRY_COMPARE_WITH_TIMEOUT(loadSpy.count(), 2, 20000); + page.setHtml(QString("<html><body><a id='link' href='S0'>limited time offer</a></body></html>"), + /* baseUrl: */ QString("qrc:/")); + QTRY_COMPARE_WITH_TIMEOUT(loadSpy.count(), 3, 20000); + page.runJavaScript(QStringLiteral("document.getElementById(\"link\").click()")); + QTRY_COMPARE_WITH_TIMEOUT(loadSpy.count(), 4, 20000); + + // The two setHtml and the second click are counted, while the + // first click is ignored due to the empty base url. + QCOMPARE(page.navigations.count(), 3); + QCOMPARE(page.navigations[0].type, QWebEnginePage::NavigationTypeTyped); + QCOMPARE(page.navigations[1].type, QWebEnginePage::NavigationTypeTyped); + QCOMPARE(page.navigations[2].type, QWebEnginePage::NavigationTypeLinkClicked); + QCOMPARE(page.navigations[2].url, QUrl(QString("qrc:/S0"))); +} + void tst_QWebEnginePage::popupFormSubmission() { TestPage page; diff --git a/tests/auto/widgets/qwebengineprofile/tst_qwebengineprofile.cpp b/tests/auto/widgets/qwebengineprofile/tst_qwebengineprofile.cpp index 908b38202..fad94259c 100644 --- a/tests/auto/widgets/qwebengineprofile/tst_qwebengineprofile.cpp +++ b/tests/auto/widgets/qwebengineprofile/tst_qwebengineprofile.cpp @@ -136,12 +136,13 @@ void tst_QWebEngineProfile::privateProfile() QCOMPARE(otrProfile.httpCacheType(), QWebEngineProfile::MemoryHttpCache); QCOMPARE(otrProfile.persistentCookiesPolicy(), QWebEngineProfile::NoPersistentCookies); QCOMPARE(otrProfile.cachePath(), QString()); - QCOMPARE(otrProfile.persistentStoragePath(), QString()); + QCOMPARE(otrProfile.persistentStoragePath(), QStandardPaths::writableLocation(QStandardPaths::DataLocation) + + QStringLiteral("/QtWebEngine/OffTheRecord")); // TBD: setters do not really work otrProfile.setCachePath(QStringLiteral("/home/foo/bar")); QCOMPARE(otrProfile.cachePath(), QString()); otrProfile.setPersistentStoragePath(QStringLiteral("/home/foo/bar")); - QCOMPARE(otrProfile.persistentStoragePath(), QString()); + QCOMPARE(otrProfile.persistentStoragePath(), QStringLiteral("/home/foo/bar")); otrProfile.setHttpCacheType(QWebEngineProfile::DiskHttpCache); QCOMPARE(otrProfile.httpCacheType(), QWebEngineProfile::MemoryHttpCache); otrProfile.setPersistentCookiesPolicy(QWebEngineProfile::ForcePersistentCookies); |