diff options
author | Anu Aliyas <[email protected]> | 2024-03-07 10:23:59 +0100 |
---|---|---|
committer | Anu Aliyas <[email protected]> | 2024-04-30 20:06:07 +0200 |
commit | c899da78dc658691f02a431f9105fc2f84c737cd (patch) | |
tree | b469a0efaa311920a70e01167e9a61430423b186 /src/webenginequick/api/qquickwebengineview.cpp | |
parent | e7aff2bddab7c601334c6a7df0be6f7a5caea5d6 (diff) |
Thread safe implementation of Favicon Quick API
Ensured thread-safe access to quick classes, by moving all interaction
with these classes to UI thread. Removed thread pool and used signals
and slots instead
Pick-to: 6.7 6.6
Change-Id: Icd5cecf73258fd7da04f56cd5dd5cb83904b8b40
Reviewed-by: Peter Varga <[email protected]>
Diffstat (limited to 'src/webenginequick/api/qquickwebengineview.cpp')
-rw-r--r-- | src/webenginequick/api/qquickwebengineview.cpp | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/src/webenginequick/api/qquickwebengineview.cpp b/src/webenginequick/api/qquickwebengineview.cpp index 89cdd20ca..6d3f7b266 100644 --- a/src/webenginequick/api/qquickwebengineview.cpp +++ b/src/webenginequick/api/qquickwebengineview.cpp @@ -332,8 +332,7 @@ QQuickWebEngineViewPrivate::~QQuickWebEngineViewPrivate() { Q_ASSERT(m_profileInitialized); m_profile->d_ptr->removeWebContentsAdapterClient(this); - if (m_faviconProvider) - m_faviconProvider->detach(q_ptr); + FaviconProviderHelper::instance()->detach(q_ptr); bindViewAndDelegateItem(this, nullptr); } @@ -951,16 +950,7 @@ void QQuickWebEngineViewPrivate::ensureContentsAdapter() adapter->loadDefault(); } - if (!m_faviconProvider) { - QQmlEngine *engine = qmlEngine(q_ptr); - // TODO: this is a workaround for QTBUG-65044 - if (!engine) - return; - m_faviconProvider = static_cast<QQuickWebEngineFaviconProvider *>( - engine->imageProvider(QQuickWebEngineFaviconProvider::identifier())); - m_faviconProvider->attach(q_ptr); - Q_ASSERT(m_faviconProvider); - } + FaviconProviderHelper::instance()->attach(q_ptr); } void QQuickWebEngineViewPrivate::initializationFinished() |