diff options
author | Christian Strømme <christian.stromme@qt.io> | 2023-06-13 14:45:44 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2023-06-16 04:26:08 +0000 |
commit | 64d4890c5696b5d26d17ff15a2db97db57ab4746 (patch) | |
tree | 140b9a37f10956c206634922e06d1bae1a8d7d52 | |
parent | 606b8d6bb9b20b6a3e12c788c5b085edd199fc87 (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.mm | 8 |
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]; |