diff options
author | Peter Varga <pvarga@inf.u-szeged.hu> | 2018-10-10 16:34:38 +0200 |
---|---|---|
committer | Peter Varga <pvarga@inf.u-szeged.hu> | 2018-10-17 12:06:19 +0000 |
commit | 69d8370f5440854c23d20648c9d35096c12426fe (patch) | |
tree | 10f5b7c890087c46bfbc78ce9c475f767109fdfe | |
parent | c37ba6dce65eadeafda5d18287eef6fedf6d1235 (diff) |
Avoid chromium assert in desktop capture tests
The page need to be visible to use desktop capture.
Task-number: QTBUG-71005
Change-Id: Icf19b68fb9132e528d206ac45245121beb31a1ac
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
-rw-r--r-- | tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
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<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) { |