From b598974f9cbde2688a75488d6920e474343c84d2 Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Wed, 26 Aug 2020 10:59:29 +0200 Subject: Use qwebenginescriptcollection in qml Change-Id: I8bfb805661aa0d2bc2c66dbbb5843b2e551aa64d Reviewed-by: Qt CI Bot Reviewed-by: Allan Sandfeld Jensen --- .../api/qquickwebenginescriptcollection.cpp | 94 +++------------------- 1 file changed, 9 insertions(+), 85 deletions(-) (limited to 'src/webengine/api/qquickwebenginescriptcollection.cpp') diff --git a/src/webengine/api/qquickwebenginescriptcollection.cpp b/src/webengine/api/qquickwebenginescriptcollection.cpp index f3faa2591..4e4fb6579 100644 --- a/src/webengine/api/qquickwebenginescriptcollection.cpp +++ b/src/webengine/api/qquickwebenginescriptcollection.cpp @@ -38,8 +38,8 @@ ****************************************************************************/ #include "qquickwebenginescriptcollection.h" -#include "qquickwebenginescriptcollection_p.h" -#include "renderer_host/user_resource_controller_host.h" +#include "qwebenginescriptcollection.h" +#include "qwebenginescriptcollection_p.h" #include #include #include @@ -80,8 +80,8 @@ QWebEngineScript parseScript(const QJSValue &value, bool *ok) } QQuickWebEngineScriptCollection::QQuickWebEngineScriptCollection( - QQuickWebEngineScriptCollectionPrivate *collectionPrivate) - : d(collectionPrivate) + QWebEngineScriptCollection *collection) + : d(collection) { } @@ -99,12 +99,12 @@ bool QQuickWebEngineScriptCollection::contains(const QWebEngineScript &value) co QWebEngineScript QQuickWebEngineScriptCollection::findScript(const QString &name) const { - return d->find(name); + return d->findScript(name); } QList QQuickWebEngineScriptCollection::findScripts(const QString &name) const { - return d->toList(name); + return d->findScripts(name); } void QQuickWebEngineScriptCollection::insert(const QWebEngineScript &s) @@ -114,9 +114,7 @@ void QQuickWebEngineScriptCollection::insert(const QWebEngineScript &s) void QQuickWebEngineScriptCollection::insert(const QList &list) { - d->reserve(list.size()); - for (const QWebEngineScript &s : list) - d->insert(s); + d->insert(list); } bool QQuickWebEngineScriptCollection::remove(const QWebEngineScript &script) @@ -134,83 +132,9 @@ QList QQuickWebEngineScriptCollection::toList() const return d->toList(); } -QQuickWebEngineScriptCollectionPrivate::QQuickWebEngineScriptCollectionPrivate( - QtWebEngineCore::UserResourceControllerHost *controller, - QSharedPointer webContents) - : m_scriptController(controller), m_contents(webContents) -{ -} - -int QQuickWebEngineScriptCollectionPrivate::count() const -{ - return m_scripts.count(); -} - -bool QQuickWebEngineScriptCollectionPrivate::contains(const QWebEngineScript &s) const -{ - return m_scripts.contains(s); -} - -void QQuickWebEngineScriptCollectionPrivate::insert(const QWebEngineScript &script) -{ - m_scripts.append(script); - if (!m_contents || m_contents->isInitialized()) - m_scriptController->addUserScript(*script.d, m_contents.data()); -} - -bool QQuickWebEngineScriptCollectionPrivate::remove(const QWebEngineScript &script) -{ - if (!m_contents || m_contents->isInitialized()) - m_scriptController->removeUserScript(*script.d, m_contents.data()); - return m_scripts.removeAll(script); -} - -QList -QQuickWebEngineScriptCollectionPrivate::toList(const QString &scriptName) const -{ - QList ret; - for (const QWebEngineScript &script : qAsConst(m_scripts)) - if (scriptName == script.name()) - ret.append(script); - return ret; -} - -QWebEngineScript QQuickWebEngineScriptCollectionPrivate::find(const QString &name) const -{ - for (const QWebEngineScript &script : qAsConst(m_scripts)) - if (name == script.name()) - return script; - return QWebEngineScript(); -} - -void QQuickWebEngineScriptCollectionPrivate::clear() -{ - m_scripts.clear(); - if (!m_contents || m_contents->isInitialized()) - m_scriptController->clearAllScripts(m_contents.data()); -} - -void QQuickWebEngineScriptCollectionPrivate::reserve(int capacity) -{ - m_scripts.reserve(capacity); - if (!m_contents || m_contents->isInitialized()) - m_scriptController->reserve(m_contents.data(), capacity); -} - -void QQuickWebEngineScriptCollectionPrivate::initializationFinished( - QSharedPointer contents) -{ - Q_ASSERT(m_contents); - Q_ASSERT(contents); - - for (const QWebEngineScript &script : qAsConst(m_scripts)) - m_scriptController->addUserScript(*script.d, contents.data()); - m_contents = contents; -} - QJSValue QQuickWebEngineScriptCollection::collection() const { - const QList &list = d->m_scripts; + const QList &list = toList(); QQmlContext *context = QQmlEngine::contextForObject(this); QQmlEngine *engine = context->engine(); QV4::ExecutionEngine *v4 = QQmlEnginePrivate::getV4Engine(engine); @@ -240,7 +164,7 @@ void QQuickWebEngineScriptCollection::setCollection(const QJSValue &scripts) } scriptList.append(s); } - if (scriptList != d->m_scripts) { + if (scriptList != toList()) { clear(); insert(scriptList); Q_EMIT collectionChanged(); -- cgit v1.2.1