summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2022-11-14 16:01:54 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2022-12-04 10:35:43 +0100
commit185a273ea69a355e3e8d4122512daf4bb12cb4c9 (patch)
treef36ddc3d8245e6113645c5118737879700dfa624 /tests
parent83e21a1bf821408f189dc2495e39df338525a302 (diff)
Add Support for Client Hints Headers
[ChangeLog][WebEngineCore] Client hint headers now added to HTTP requests Fixes: QTBUG-107451 Change-Id: I450fe1fe782b702fc81a3d90c82c0ece6a19ea45 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
index 64acdb3d5..7a2821e1c 100644
--- a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
+++ b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
@@ -263,6 +263,7 @@ private Q_SLOTS:
void fileSystemAccessDialog();
void localToRemoteNavigation();
+ void clientHints();
private:
static QPoint elementCenter(QWebEnginePage *page, const QString &id);
@@ -5119,6 +5120,33 @@ void tst_QWebEnginePage::localToRemoteNavigation()
QVERIFY(!remote.loaded);
}
+void tst_QWebEnginePage::clientHints()
+{
+ HttpServer server;
+ connect(&server, &HttpServer::newRequest, [&] (HttpReqRep *r) {
+ r->setResponseBody(r->requestHeader("Sec-Ch-Ua-Platform"));
+ r->sendResponse();
+ });
+ QVERIFY(server.start());
+
+ QWebEnginePage page;
+ QSignalSpy loadSpy(&page, SIGNAL(loadFinished(bool)));
+
+ page.setUrl(server.url());
+ QTRY_COMPARE(loadSpy.size(), 1);
+ QVERIFY(loadSpy.takeFirst().value(0).toBool());
+
+ QString platform = toPlainTextSync(&page);
+#ifdef Q_OS_LINUX
+ QCOMPARE(platform.toLower(), "\"linux\"");
+#elif defined (Q_OS_MACOS)
+ QCOMPARE(platform.toLower(), "\"macos\"");
+#elif defined (Q_OS_WIN)
+ QCOMPARE(platform.toLower(), "\"windows\"");
+#endif
+
+}
+
static QByteArrayList params = {QByteArrayLiteral("--use-fake-device-for-media-stream")};
W_QTEST_MAIN(tst_QWebEnginePage, params)