diff --git a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp index cb6e9e405a49a6608c60ebbe1e3ad975218d9560..8ec89a7fad8aa3bf00c6e03a2bee8a641fd53e96 100644 --- a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp +++ b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp @@ -2484,6 +2484,18 @@ void tst_QWebEnginePage::getUserMediaRequestDesktopVideoManyPages() const QString constraints = QStringLiteral("{video: { mandatory: { chromeMediaSource: 'desktop' }}}"); const QWebEnginePage::Feature feature = QWebEnginePage::DesktopVideoCapture; std::vector<GetUserMediaTestPage> pages(10); + + // Desktop capture needs to be on a desktop + std::vector<QWebEngineView> views(10); + for (size_t i = 0; i < views.size(); ++i) { + QWebEngineView *view = &(views[i]); + GetUserMediaTestPage *page = &(pages[i]); + view->setPage(page); + view->resize(640, 480); + view->show(); + QVERIFY(QTest::qWaitForWindowExposed(view)); + } + for (GetUserMediaTestPage &page : pages) QTRY_VERIFY_WITH_TIMEOUT(page.loadSucceeded(), 20000); for (GetUserMediaTestPage &page : pages) @@ -2505,6 +2517,14 @@ void tst_QWebEnginePage::getUserMediaRequestDesktopVideoManyRequests() const QString constraints = QStringLiteral("{video: { mandatory: { chromeMediaSource: 'desktop' }}}"); const QWebEnginePage::Feature feature = QWebEnginePage::DesktopVideoCapture; GetUserMediaTestPage page; + + // Desktop capture needs to be on a desktop + QWebEngineView view; + view.setPage(&page); + view.resize(640, 480); + view.show(); + QVERIFY(QTest::qWaitForWindowExposed(&view)); + QTRY_VERIFY_WITH_TIMEOUT(page.loadSucceeded(), 20000); page.settings()->setAttribute(QWebEngineSettings::ScreenCaptureEnabled, true); for (int i = 0; i != 100; ++i) {