summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Strømme <christian.stromme@qt.io>2023-06-13 14:45:44 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-06-16 04:26:08 +0000
commit64d4890c5696b5d26d17ff15a2db97db57ab4746 (patch)
tree140b9a37f10956c206634922e06d1bae1a8d7d52
parent606b8d6bb9b20b6a3e12c788c5b085edd199fc87 (diff)
Fix title updates in the darwin backend
Use KVO the same way we do for the progress Task-number: QTBUG-114495 Change-Id: I8fd9f6adaa1fba052d25e1480836dca61558351c Reviewed-by: Christian Strømme <christian.stromme@qt.io> (cherry picked from commit b8573d62477b2920b68f84d478a3870e8daeba30) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/plugins/darwin/qdarwinwebview.mm8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/darwin/qdarwinwebview.mm b/src/plugins/darwin/qdarwinwebview.mm
index d4d6d9a..b0d8347 100644
--- a/src/plugins/darwin/qdarwinwebview.mm
+++ b/src/plugins/darwin/qdarwinwebview.mm
@@ -112,7 +112,6 @@ QT_END_NAMESPACE
- (void)pageDone
{
Q_EMIT qDarwinWebViewPrivate->loadProgressChanged(qDarwinWebViewPrivate->loadProgress());
- Q_EMIT qDarwinWebViewPrivate->titleChanged(qDarwinWebViewPrivate->title());
}
- (void)handleError:(NSError *)error
@@ -233,6 +232,8 @@ decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction
Q_UNUSED(context);
if ([keyPath isEqualToString:@"estimatedProgress"]) {
Q_EMIT qDarwinWebViewPrivate->loadProgressChanged(qDarwinWebViewPrivate->loadProgress());
+ } else if ([keyPath isEqualToString:@"title"]) {
+ Q_EMIT qDarwinWebViewPrivate->titleChanged(qDarwinWebViewPrivate->title());
}
}
@@ -321,6 +322,9 @@ QDarwinWebViewPrivate::QDarwinWebViewPrivate(QObject *p)
[wkWebView addObserver:wkWebView.navigationDelegate forKeyPath:@"estimatedProgress"
options:NSKeyValueObservingOptions(NSKeyValueObservingOptionNew)
context:nil];
+ [wkWebView addObserver:wkWebView.navigationDelegate forKeyPath:@"title"
+ options:NSKeyValueObservingOptions(NSKeyValueObservingOptionNew)
+ context:nil];
m_settings = new QDarwinWebViewSettingsPrivate(wkWebView.configuration, this);
@@ -335,6 +339,8 @@ QDarwinWebViewPrivate::~QDarwinWebViewPrivate()
[wkWebView stopLoading];
[wkWebView removeObserver:wkWebView.navigationDelegate forKeyPath:@"estimatedProgress"
context:nil];
+ [wkWebView removeObserver:wkWebView.navigationDelegate forKeyPath:@"title"
+ context:nil];
[wkWebView.navigationDelegate release];
wkWebView.navigationDelegate = nil;
[wkWebView release];