From 69d8370f5440854c23d20648c9d35096c12426fe Mon Sep 17 00:00:00 2001 From: Peter Varga Date: Wed, 10 Oct 2018 16:34:38 +0200 Subject: Avoid chromium assert in desktop capture tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The page need to be visible to use desktop capture. Task-number: QTBUG-71005 Change-Id: Icf19b68fb9132e528d206ac45245121beb31a1ac Reviewed-by: Jüri Valdmann Reviewed-by: Alexandru Croitor --- .../widgets/qwebenginepage/tst_qwebenginepage.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp') diff --git a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp index cb6e9e405..8ec89a7fa 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 pages(10); + + // Desktop capture needs to be on a desktop + std::vector 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) { -- cgit v1.2.3