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-14 09:12:58 +0000 |
commit | 8e79104b137b04e66e705293e6b5638fe56f346c (patch) | |
tree | 9b475a62ae21af94c68ba2e0d9390beea22ccb8e | |
parent | 82ccd7a9f683c8b51e2b4c6a283899a5d217adbc (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]; |