From fbf2ba348241cca5cb11ad6cec0372d0db7d52b8 Mon Sep 17 00:00:00 2001 From: Peter Varga Date: Thu, 30 Jun 2016 11:16:45 +0200 Subject: Unskip and adapt evaluateWillCauseRepaint widget test to WebEngine Change-Id: I1a08f4051f722cf38e357f39f83123aa766abb2d Reviewed-by: Allan Sandfeld Jensen --- .../widgets/qwebenginepage/tst_qwebenginepage.cpp | 40 +++++++++++++++------- 1 file changed, 28 insertions(+), 12 deletions(-) (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 2461a588b..d42a995e4 100644 --- a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp +++ b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp @@ -4274,23 +4274,39 @@ void tst_QWebEnginePage::horizontalScrollAfterBack() #endif } +class WebView : public QWebEngineView +{ + Q_OBJECT +signals: + void repaintRequested(); + +protected: + bool event(QEvent *event) { + if (event->type() == QEvent::UpdateRequest) + emit repaintRequested(); + + return QWebEngineView::event(event); + } +}; + void tst_QWebEnginePage::evaluateWillCauseRepaint() { -#if !defined(QWEBENGINEPAGE_EVALUATEJAVASCRIPT) - QSKIP("QWEBENGINEPAGE_EVALUATEJAVASCRIPT"); -#else - QWebEngineView view; - QString html("top
" - "junk
bottom"); - view.setHtml(html); + WebView view; view.show(); - QTest::qWaitForWindowExposed(&view); - view.page()->evaluateJavaScript( - "document.getElementById('junk').style.display = 'none';"); - ::waitForSignal(view.page(), SIGNAL(repaintRequested(QRect))); -#endif + QString html("" + " top" + "
junk
" + " bottom" + ""); + + QSignalSpy loadSpy(&view, SIGNAL(loadFinished(bool))); + view.setHtml(html); + QTRY_COMPARE(loadSpy.count(), 1); + + evaluateJavaScriptSync(view.page(), "document.getElementById('junk').style.display = 'none';"); + ::waitForSignal(&view, SIGNAL(repaintRequested())); } void tst_QWebEnginePage::setContent_data() -- cgit v1.2.3