diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-11-14 16:01:54 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-12-04 10:35:43 +0100 |
commit | 185a273ea69a355e3e8d4122512daf4bb12cb4c9 (patch) | |
tree | f36ddc3d8245e6113645c5118737879700dfa624 /tests | |
parent | 83e21a1bf821408f189dc2495e39df338525a302 (diff) | |
download | qtwebengine-185a273ea69a355e3e8d4122512daf4bb12cb4c9.tar.gz |
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.cpp | 28 |
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) |