diff options
| author | Michal Klocek <michal.klocek@qt.io> | 2024-11-04 15:28:02 +0100 |
|---|---|---|
| committer | Michal Klocek <michal.klocek@qt.io> | 2024-11-07 18:53:53 +0000 |
| commit | d9d44f99fdb5a5f8206deb2ff460519328d674d8 (patch) | |
| tree | 42c01332c905fcbb406ffed25f3bdbde2a08a738 /src | |
| parent | 35630578ba823691268f8e6ffacc4b6c64eded59 (diff) | |
Fix all tests on android instead of blacklisting them
Fix handling of loadingChanged as this should come from
WebViewClient observer. This fixes flaky tests,
as they assumed 2 signals coming, but in reality
3 were emitted. In case 3rd did not come in time
test would pass.
Adjust the title test to match how it works on android.
Fix load result logic, as error assumes no load success signal
emitted and has to be one of
* LoadStartedStatus,
* LoadStoppedStatus,
* LoadSucceededStatus,
* LoadFailedStatus
Fixes: QTBUG-102712
Fixes: QTBUG-108752
Pick-to: 6.8
Change-Id: Ie3c729fa854ad1e6270a8276c1f2428af6c2614e
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
Diffstat (limited to 'src')
| -rw-r--r-- | src/jar/src/org/qtproject/qt/android/view/QtAndroidWebViewController.java | 21 | ||||
| -rw-r--r-- | src/plugins/android/qandroidwebview.cpp | 1 |
2 files changed, 8 insertions, 14 deletions
diff --git a/src/jar/src/org/qtproject/qt/android/view/QtAndroidWebViewController.java b/src/jar/src/org/qtproject/qt/android/view/QtAndroidWebViewController.java index e9449e1..ff0d411 100644 --- a/src/jar/src/org/qtproject/qt/android/view/QtAndroidWebViewController.java +++ b/src/jar/src/org/qtproject/qt/android/view/QtAndroidWebViewController.java @@ -108,12 +108,14 @@ class QtAndroidWebViewController public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); - m_loadingState = FINISHED_STATE; - if (m_progress != 100) // onProgressChanged() will notify Qt if we didn't finish here. - return; - - m_frameCount = 0; - c_onPageFinished(m_id, url); + m_frameCount = 0; + if (m_loadingState == INIT_STATE) { + // we got an error do not call pageFinished + m_loadingState = FINISHED_STATE; + } else { + m_loadingState = FINISHED_STATE; + c_onPageFinished(m_id, url); + } } @Override @@ -147,10 +149,6 @@ class QtAndroidWebViewController super.onProgressChanged(view, newProgress); m_progress = newProgress; c_onProgressChanged(m_id, newProgress); - if (m_loadingState == FINISHED_STATE && m_progress == 100) { // Did we finish? - m_frameCount = 0; - c_onPageFinished(m_id, view.getUrl()); - } } @Override @@ -406,7 +404,6 @@ class QtAndroidWebViewController } resetLoadingState(STARTED_STATE); - c_onPageStarted(m_id, url, null); m_activity.runOnUiThread(new Runnable() { @Override public void run() { m_webView.loadUrl(url); } @@ -419,7 +416,6 @@ class QtAndroidWebViewController return; resetLoadingState(STARTED_STATE); - c_onPageStarted(m_id, null, null); m_activity.runOnUiThread(new Runnable() { @Override public void run() { m_webView.loadData(data, mimeType, encoding); } @@ -436,7 +432,6 @@ class QtAndroidWebViewController return; resetLoadingState(STARTED_STATE); - c_onPageStarted(m_id, null, null); m_activity.runOnUiThread(new Runnable() { @Override public void run() { m_webView.loadDataWithBaseURL(baseUrl, data, mimeType, encoding, historyUrl); } diff --git a/src/plugins/android/qandroidwebview.cpp b/src/plugins/android/qandroidwebview.cpp index 230b913..e4a9bf9 100644 --- a/src/plugins/android/qandroidwebview.cpp +++ b/src/plugins/android/qandroidwebview.cpp @@ -411,7 +411,6 @@ static void c_onReceivedTitle(JNIEnv *env, QAndroidWebViewPrivate *wc = reinterpret_cast<QAndroidWebViewPrivate *>(id); if (!g_webViews->contains(wc)) return; - const QString &qTitle = QJniObject(title).toString(); Q_EMIT wc->titleChanged(qTitle); } |
