summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2020-08-26 16:25:00 +0200
committerMichal Klocek <michal.klocek@qt.io>2020-09-28 13:59:08 +0200
commit3bf3d3fe7bcfa7933ecc2ec2f1607f586b2b00d8 (patch)
tree85efe06d6dd9a6afb997b016007376a86c4a2aaf
parentb598974f9cbde2688a75488d6920e474343c84d2 (diff)
Cleanup qwebenginescript and qwebenginescriptcollection api
This patch cleans up script and collection apis: * do not allocate user_script on heap, there is no need for that. * remove isNull(), which was used by collection.findScript(name) * remove collection.size(), there is already collection.count() * remove collection.findScript(name), user can use findScripts(name) which returns list of scripts or empty list if not found * collection.findScripts(name) is simply collection.find(name) [ChangeLog] Removed QWebEngineScriptCollection::findScript(name), use QWebEngineScriptCollection::find(name) instead. Change-Id: Iecf8f1d7c26275b9ce3a1ea97cf4bd74b17f681e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-rw-r--r--examples/webenginewidgets/stylesheetbrowser/mainwindow.cpp9
-rw-r--r--src/core/api/qwebenginescript.cpp11
-rw-r--r--src/core/api/qwebenginescript.h4
-rw-r--r--src/core/api/qwebenginescriptcollection.cpp27
-rw-r--r--src/core/api/qwebenginescriptcollection.h8
-rw-r--r--src/core/api/qwebenginescriptcollection_p.h4
-rw-r--r--src/core/common/user_script_data.cpp2
-rw-r--r--src/core/common/user_script_data.h6
-rw-r--r--src/core/renderer_host/user_resource_controller_host.cpp4
-rw-r--r--src/core/user_script.cpp110
-rw-r--r--src/core/user_script.h16
-rw-r--r--src/webengine/api/qquickwebenginescriptcollection.cpp23
-rw-r--r--src/webengine/api/qquickwebenginescriptcollection.h11
-rw-r--r--tests/auto/widgets/qwebenginescript/tst_qwebenginescript.cpp4
14 files changed, 59 insertions, 180 deletions
diff --git a/examples/webenginewidgets/stylesheetbrowser/mainwindow.cpp b/examples/webenginewidgets/stylesheetbrowser/mainwindow.cpp
index c93205b18..bdf3c56bf 100644
--- a/examples/webenginewidgets/stylesheetbrowser/mainwindow.cpp
+++ b/examples/webenginewidgets/stylesheetbrowser/mainwindow.cpp
@@ -121,14 +121,15 @@ void MainWindow::removeStyleSheet(const QString &name, bool immediately)
if (immediately)
ui->webEngineView->page()->runJavaScript(s, QWebEngineScript::ApplicationWorld);
- QWebEngineScript script = ui->webEngineView->page()->scripts().findScript(name);
- ui->webEngineView->page()->scripts().remove(script);
+ const QList<QWebEngineScript> scripts = ui->webEngineView->page()->scripts().find(name);
+ if (!scripts.isEmpty())
+ ui->webEngineView->page()->scripts().remove(scripts.first());
}
bool MainWindow::hasStyleSheet(const QString &name)
{
- QWebEngineScript script = ui->webEngineView->page()->scripts().findScript(name);
- return !script.isNull();
+ const QList<QWebEngineScript> scripts = ui->webEngineView->page()->scripts().find(name);
+ return !scripts.isEmpty();
}
void MainWindow::loadDefaultStyleSheets()
diff --git a/src/core/api/qwebenginescript.cpp b/src/core/api/qwebenginescript.cpp
index e3917566a..650ad5c53 100644
--- a/src/core/api/qwebenginescript.cpp
+++ b/src/core/api/qwebenginescript.cpp
@@ -146,14 +146,6 @@ QWebEngineScript &QWebEngineScript::operator=(const QWebEngineScript &other)
}
/*!
- Returns \c true is the script is null; otherwise returns \c false.
-*/
-bool QWebEngineScript::isNull() const
-{
- return d->isNull();
-}
-
-/*!
* Returns the name of the script. Can be useful to retrieve a particular script from a
* QWebEngineScriptCollection.
*
@@ -305,9 +297,6 @@ QWebEngineScript::QWebEngineScript(const UserScript &coreScript)
#ifndef QT_NO_DEBUG_STREAM
QDebug operator<<(QDebug d, const QWebEngineScript &script)
{
- if (script.isNull())
- return d.maybeSpace() << "QWebEngineScript()";
-
d.nospace() << "QWebEngineScript(" << script.name() << ", ";
switch (script.injectionPoint()) {
case QWebEngineScript::DocumentCreation:
diff --git a/src/core/api/qwebenginescript.h b/src/core/api/qwebenginescript.h
index 42a98e3e2..0c1849dac 100644
--- a/src/core/api/qwebenginescript.h
+++ b/src/core/api/qwebenginescript.h
@@ -85,8 +85,6 @@ public:
QWebEngineScript &operator=(const QWebEngineScript &other);
- bool isNull() const;
-
QString name() const;
void setName(const QString &);
@@ -119,7 +117,7 @@ private:
QSharedDataPointer<QtWebEngineCore::UserScript> d;
};
-Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6(QWebEngineScript)
+Q_DECLARE_TYPEINFO(QWebEngineScript, Q_MOVABLE_TYPE);
#ifndef QT_NO_DEBUG_STREAM
Q_WEBENGINECORE_EXPORT QDebug operator<<(QDebug, const QWebEngineScript &);
diff --git a/src/core/api/qwebenginescriptcollection.cpp b/src/core/api/qwebenginescriptcollection.cpp
index 087aad4cb..6dfa12c46 100644
--- a/src/core/api/qwebenginescriptcollection.cpp
+++ b/src/core/api/qwebenginescriptcollection.cpp
@@ -103,24 +103,11 @@ bool QWebEngineScriptCollection::contains(const QWebEngineScript &value) const
}
/*!
- * Returns the first script found in the collection with the name \a name, or a null
- * QWebEngineScript if none was found.
- * \note The order in which the script collection is traversed is undefined, which means this should
- * be used when the unicity is guaranteed at the application level.
- * \sa findScripts()
- */
-
-QWebEngineScript QWebEngineScriptCollection::findScript(const QString &name) const
-{
- return d->find(name);
-}
-
-/*!
Returns the list of scripts in the collection with the name \a name, or an empty list if none
was found.
*/
-QList<QWebEngineScript> QWebEngineScriptCollection::findScripts(const QString &name) const
+QList<QWebEngineScript> QWebEngineScriptCollection::find(const QString &name) const
{
return d->toList(name);
}
@@ -187,8 +174,6 @@ bool QWebEngineScriptCollectionPrivate::contains(const QWebEngineScript &s) cons
void QWebEngineScriptCollectionPrivate::insert(const QWebEngineScript &script)
{
- if (!script.d || script.d->isNull())
- return;
m_scripts.append(script);
if (!m_contents || m_contents->isInitialized())
m_scriptController->addUserScript(*script.d, m_contents.data());
@@ -196,8 +181,6 @@ void QWebEngineScriptCollectionPrivate::insert(const QWebEngineScript &script)
bool QWebEngineScriptCollectionPrivate::remove(const QWebEngineScript &script)
{
- if (!script.d || script.d->isNull())
- return false;
if (!m_contents || m_contents->isInitialized())
m_scriptController->removeUserScript(*script.d, m_contents.data());
return m_scripts.removeAll(script);
@@ -215,14 +198,6 @@ QList<QWebEngineScript> QWebEngineScriptCollectionPrivate::toList(const QString
return ret;
}
-QWebEngineScript QWebEngineScriptCollectionPrivate::find(const QString &name) const
-{
- for (const QWebEngineScript &script : qAsConst(m_scripts))
- if (name == script.name())
- return script;
- return QWebEngineScript();
-}
-
void QWebEngineScriptCollectionPrivate::clear()
{
m_scripts.clear();
diff --git a/src/core/api/qwebenginescriptcollection.h b/src/core/api/qwebenginescriptcollection.h
index 79c3e7f19..2a1ab7dbf 100644
--- a/src/core/api/qwebenginescriptcollection.h
+++ b/src/core/api/qwebenginescriptcollection.h
@@ -52,17 +52,13 @@ class QWebEngineScriptCollectionPrivate;
class Q_WEBENGINECORE_EXPORT QWebEngineScriptCollection {
public:
~QWebEngineScriptCollection();
+
bool isEmpty() const { return !count(); }
int count() const;
- inline int size() const { return count(); }
bool contains(const QWebEngineScript &value) const;
-
- QWebEngineScript findScript(const QString &name) const;
- QList<QWebEngineScript> findScripts(const QString &name) const;
-
+ QList<QWebEngineScript> find(const QString &name) const;
void insert(const QWebEngineScript &);
void insert(const QList<QWebEngineScript> &list);
-
bool remove(const QWebEngineScript &);
void clear();
diff --git a/src/core/api/qwebenginescriptcollection_p.h b/src/core/api/qwebenginescriptcollection_p.h
index fe71b6bc3..442f8fe3d 100644
--- a/src/core/api/qwebenginescriptcollection_p.h
+++ b/src/core/api/qwebenginescriptcollection_p.h
@@ -66,14 +66,10 @@ QT_BEGIN_NAMESPACE
class Q_WEBENGINECORE_PRIVATE_EXPORT QWebEngineScriptCollectionPrivate {
public:
QWebEngineScriptCollectionPrivate(QtWebEngineCore::UserResourceControllerHost *, QSharedPointer<QtWebEngineCore::WebContentsAdapter> = QSharedPointer<QtWebEngineCore::WebContentsAdapter>());
-
int count() const;
bool contains(const QWebEngineScript &) const;
QList<QWebEngineScript> toList(const QString &scriptName = QString()) const;
- QWebEngineScript find(const QString & name) const;
-
void initializationFinished(QSharedPointer<QtWebEngineCore::WebContentsAdapter> contents);
-
void insert(const QWebEngineScript &);
bool remove(const QWebEngineScript &);
void clear();
diff --git a/src/core/common/user_script_data.cpp b/src/core/common/user_script_data.cpp
index 6f4b8cb05..68840d2fa 100644
--- a/src/core/common/user_script_data.cpp
+++ b/src/core/common/user_script_data.cpp
@@ -41,8 +41,6 @@
#include "base/pickle.h"
UserScriptData::UserScriptData() : injectionPoint(AfterLoad)
- , injectForSubframes(false)
- , worldId(1)
{
static uint64_t idCount = 0;
scriptId = idCount++;
diff --git a/src/core/common/user_script_data.h b/src/core/common/user_script_data.h
index 8d98890e3..a2ca8c2ea 100644
--- a/src/core/common/user_script_data.h
+++ b/src/core/common/user_script_data.h
@@ -56,9 +56,9 @@ struct UserScriptData {
std::string source;
GURL url;
- /*InjectionPoint*/uint8_t injectionPoint;
- bool injectForSubframes;
- uint worldId;
+ uint8_t injectionPoint = AfterLoad;
+ bool injectForSubframes = false;
+ uint worldId = 1;
uint64_t scriptId;
std::vector<std::string> globs;
std::vector<std::string> excludeGlobs;
diff --git a/src/core/renderer_host/user_resource_controller_host.cpp b/src/core/renderer_host/user_resource_controller_host.cpp
index 6b9bb63fe..0c0818ba9 100644
--- a/src/core/renderer_host/user_resource_controller_host.cpp
+++ b/src/core/renderer_host/user_resource_controller_host.cpp
@@ -116,8 +116,6 @@ void UserResourceControllerHost::RenderProcessObserverHelper::RenderProcessHostD
void UserResourceControllerHost::addUserScript(const UserScript &script, WebContentsAdapter *adapter)
{
- if (script.isNull())
- return;
// Global scripts should be dispatched to all our render processes.
const bool isProfileWideScript = !adapter;
if (isProfileWideScript) {
@@ -150,8 +148,6 @@ void UserResourceControllerHost::addUserScript(const UserScript &script, WebCont
bool UserResourceControllerHost::removeUserScript(const UserScript &script, WebContentsAdapter *adapter)
{
- if (script.isNull())
- return false;
const bool isProfileWideScript = !adapter;
if (isProfileWideScript) {
QList<UserScript>::iterator it = std::find(m_profileWideScripts.begin(), m_profileWideScripts.end(), script);
diff --git a/src/core/user_script.cpp b/src/core/user_script.cpp
index 6f5828cbf..f4f320d4c 100644
--- a/src/core/user_script.cpp
+++ b/src/core/user_script.cpp
@@ -74,28 +74,13 @@ UserScript::UserScript()
{
}
-UserScript::UserScript(const UserScript &other)
- : QSharedData(other)
-{
- if (other.isNull())
- return;
- scriptData.reset(new UserScriptData(*other.scriptData));
- m_name = other.m_name;
- m_url = other.m_url;
-}
+UserScript::UserScript(const UserScript &other) = default;
-UserScript::~UserScript()
-{
-}
+UserScript::~UserScript() = default;
UserScript &UserScript::operator=(const UserScript &other)
{
- if (other.isNull()) {
- scriptData.reset();
- m_name = QString();
- return *this;
- }
- scriptData.reset(new UserScriptData(*other.scriptData));
+ m_scriptData = other.m_scriptData;
m_name = other.m_name;
m_url = other.m_url;
return *this;
@@ -109,21 +94,17 @@ QString UserScript::name() const
void UserScript::setName(const QString &name)
{
m_name = name;
- initData();
- scriptData->url = GURL(QStringLiteral("userScript:%1").arg(name).toStdString());
+ m_scriptData.url = GURL(QStringLiteral("userScript:%1").arg(name).toStdString());
}
QString UserScript::sourceCode() const
{
- if (isNull())
- return QString();
- return toQt(scriptData->source);
+ return toQt(m_scriptData.source);
}
void UserScript::setSourceCode(const QString &source)
{
- initData();
- scriptData->source = source.toStdString();
+ m_scriptData.source = source.toStdString();
parseMetadataHeader();
}
@@ -139,83 +120,56 @@ void UserScript::setSourceUrl(const QUrl &url)
UserScript::InjectionPoint UserScript::injectionPoint() const
{
- if (isNull())
- return UserScript::AfterLoad;
- return static_cast<UserScript::InjectionPoint>(scriptData->injectionPoint);
+ return static_cast<UserScript::InjectionPoint>(m_scriptData.injectionPoint);
}
void UserScript::setInjectionPoint(UserScript::InjectionPoint p)
{
- initData();
- scriptData->injectionPoint = p;
+ m_scriptData.injectionPoint = p;
}
-uint UserScript::worldId() const
+quint32 UserScript::worldId() const
{
- if (isNull())
- return 1;
- return scriptData->worldId;
+ return m_scriptData.worldId;
}
-void UserScript::setWorldId(uint id)
+void UserScript::setWorldId(quint32 id)
{
- initData();
- scriptData->worldId = id;
+ m_scriptData.worldId = id;
}
bool UserScript::runsOnSubFrames() const
{
- if (isNull())
- return false;
- return scriptData->injectForSubframes;
+ return m_scriptData.injectForSubframes;
}
void UserScript::setRunsOnSubFrames(bool on)
{
- initData();
- scriptData->injectForSubframes = on;
-}
-
-bool UserScript::operator==(const UserScript &other) const
-{
- if (isNull() != other.isNull())
- return false;
- if (isNull()) // neither is valid
- return true;
- return worldId() == other.worldId()
- && runsOnSubFrames() == other.runsOnSubFrames()
- && injectionPoint() == other.injectionPoint()
- && name() == other.name()
- && sourceCode() == other.sourceCode()
- && sourceUrl() == other.sourceUrl();
+ m_scriptData.injectForSubframes = on;
}
-void UserScript::initData()
+const UserScriptData &UserScript::data() const
{
- if (scriptData.isNull())
- scriptData.reset(new UserScriptData);
+ return m_scriptData;
}
-bool UserScript::isNull() const
-{
- return scriptData.isNull();
-}
-
-UserScriptData &UserScript::data() const
+bool UserScript::operator==(const UserScript &other) const
{
- return *(scriptData.data());
+ return worldId() == other.worldId() && runsOnSubFrames() == other.runsOnSubFrames()
+ && injectionPoint() == other.injectionPoint() && name() == other.name()
+ && sourceCode() == other.sourceCode() && sourceUrl() == other.sourceUrl();
}
void UserScript::parseMetadataHeader()
{
// Clear previous values
- scriptData->globs.clear();
- scriptData->excludeGlobs.clear();
- scriptData->urlPatterns.clear();
+ m_scriptData.globs.clear();
+ m_scriptData.excludeGlobs.clear();
+ m_scriptData.urlPatterns.clear();
// Logic taken from Chromium (extensions/browser/user_script_loader.cc)
// http://wiki.greasespot.net/Metadata_block
- const std::string &script_text = scriptData->source;
+ const std::string &script_text = m_scriptData.source;
base::StringPiece line;
size_t line_start = 0;
size_t line_end = line_start;
@@ -261,7 +215,7 @@ void UserScript::parseMetadataHeader()
base::ReplaceSubstringsAfterOffset(&value, 0, "\\", "\\\\");
base::ReplaceSubstringsAfterOffset(&value, 0, "?", "\\?");
}
- scriptData->globs.push_back(value);
+ m_scriptData.globs.push_back(value);
} else if (GetDeclarationValue(line, kExcludeDeclaration, &value)) {
if (value.front() != '/' || value.back() != '/') {
// The greasemonkey spec only allows for wildcards (*), so
@@ -269,16 +223,16 @@ void UserScript::parseMetadataHeader()
base::ReplaceSubstringsAfterOffset(&value, 0, "\\", "\\\\");
base::ReplaceSubstringsAfterOffset(&value, 0, "?", "\\?");
}
- scriptData->excludeGlobs.push_back(value);
+ m_scriptData.excludeGlobs.push_back(value);
} else if (GetDeclarationValue(line, kMatchDeclaration, &value)) {
- scriptData->urlPatterns.push_back(value);
+ m_scriptData.urlPatterns.push_back(value);
} else if (GetDeclarationValue(line, kRunAtDeclaration, &value)) {
if (value == kRunAtDocumentStartValue)
- scriptData->injectionPoint = DocumentElementCreation;
+ m_scriptData.injectionPoint = DocumentElementCreation;
else if (value == kRunAtDocumentEndValue)
- scriptData->injectionPoint = DocumentLoadFinished;
+ m_scriptData.injectionPoint = DocumentLoadFinished;
else if (value == kRunAtDocumentIdleValue)
- scriptData->injectionPoint = AfterLoad;
+ m_scriptData.injectionPoint = AfterLoad;
}
}
@@ -287,8 +241,8 @@ void UserScript::parseMetadataHeader()
// If no patterns were specified, default to @include *. This is what
// Greasemonkey does.
- if (scriptData->globs.empty() && scriptData->urlPatterns.empty())
- scriptData->globs.push_back("*");
+ if (m_scriptData.globs.empty() && m_scriptData.urlPatterns.empty())
+ m_scriptData.globs.push_back("*");
}
} // namespace QtWebEngineCore
diff --git a/src/core/user_script.h b/src/core/user_script.h
index 07fba90f4..4970641e1 100644
--- a/src/core/user_script.h
+++ b/src/core/user_script.h
@@ -52,7 +52,7 @@
#define USER_SCRIPT_H
#include "qtwebenginecoreglobal_p.h"
-
+#include "common/user_script_data.h"
#include <QtCore/QScopedPointer>
#include <QtCore/QSharedData>
#include <QtCore/QString>
@@ -64,7 +64,8 @@ namespace QtWebEngineCore {
class UserResourceControllerHost;
-class Q_WEBENGINECORE_PRIVATE_EXPORT UserScript : public QSharedData {
+class UserScript : public QSharedData
+{
public:
enum InjectionPoint {
AfterLoad,
@@ -77,8 +78,6 @@ public:
~UserScript();
UserScript &operator=(const UserScript &other);
- bool isNull() const;
-
QString name() const;
void setName(const QString &);
@@ -91,8 +90,8 @@ public:
InjectionPoint injectionPoint() const;
void setInjectionPoint(InjectionPoint);
- uint worldId() const;
- void setWorldId(uint id);
+ quint32 worldId() const;
+ void setWorldId(quint32 id);
bool runsOnSubFrames() const;
void setRunsOnSubFrames(bool on);
@@ -100,12 +99,11 @@ public:
bool operator==(const UserScript &) const;
private:
- void initData();
- UserScriptData &data() const;
+ const UserScriptData &data() const;
void parseMetadataHeader();
friend class UserResourceControllerHost;
- QScopedPointer<UserScriptData> scriptData;
+ UserScriptData m_scriptData;
QString m_name;
QUrl m_url;
};
diff --git a/src/webengine/api/qquickwebenginescriptcollection.cpp b/src/webengine/api/qquickwebenginescriptcollection.cpp
index 4e4fb6579..c0939d72f 100644
--- a/src/webengine/api/qquickwebenginescriptcollection.cpp
+++ b/src/webengine/api/qquickwebenginescriptcollection.cpp
@@ -87,24 +87,14 @@ QQuickWebEngineScriptCollection::QQuickWebEngineScriptCollection(
QQuickWebEngineScriptCollection::~QQuickWebEngineScriptCollection() { }
-int QQuickWebEngineScriptCollection::count() const
-{
- return d->count();
-}
-
bool QQuickWebEngineScriptCollection::contains(const QWebEngineScript &value) const
{
return d->contains(value);
}
-QWebEngineScript QQuickWebEngineScriptCollection::findScript(const QString &name) const
+QList<QWebEngineScript> QQuickWebEngineScriptCollection::find(const QString &name) const
{
- return d->findScript(name);
-}
-
-QList<QWebEngineScript> QQuickWebEngineScriptCollection::findScripts(const QString &name) const
-{
- return d->findScripts(name);
+ return d->find(name);
}
void QQuickWebEngineScriptCollection::insert(const QWebEngineScript &s)
@@ -127,14 +117,9 @@ void QQuickWebEngineScriptCollection::clear()
d->clear();
}
-QList<QWebEngineScript> QQuickWebEngineScriptCollection::toList() const
-{
- return d->toList();
-}
-
QJSValue QQuickWebEngineScriptCollection::collection() const
{
- const QList<QWebEngineScript> &list = toList();
+ const QList<QWebEngineScript> &list = d->toList();
QQmlContext *context = QQmlEngine::contextForObject(this);
QQmlEngine *engine = context->engine();
QV4::ExecutionEngine *v4 = QQmlEnginePrivate::getV4Engine(engine);
@@ -164,7 +149,7 @@ void QQuickWebEngineScriptCollection::setCollection(const QJSValue &scripts)
}
scriptList.append(s);
}
- if (scriptList != toList()) {
+ if (scriptList != d->toList()) {
clear();
insert(scriptList);
Q_EMIT collectionChanged();
diff --git a/src/webengine/api/qquickwebenginescriptcollection.h b/src/webengine/api/qquickwebenginescriptcollection.h
index a3e1695c3..8ae3dc02b 100644
--- a/src/webengine/api/qquickwebenginescriptcollection.h
+++ b/src/webengine/api/qquickwebenginescriptcollection.h
@@ -57,24 +57,17 @@ class Q_WEBENGINE_EXPORT QQuickWebEngineScriptCollection : public QObject
public:
Q_PROPERTY(QJSValue collection READ collection WRITE setCollection NOTIFY collectionChanged)
~QQuickWebEngineScriptCollection();
- bool isEmpty() const { return !count(); }
- int count() const;
- inline int size() const { return count(); }
- bool contains(const QWebEngineScript &value) const;
-
- Q_INVOKABLE QWebEngineScript findScript(const QString &name) const;
- Q_INVOKABLE QList<QWebEngineScript> findScripts(const QString &name) const;
+ Q_INVOKABLE bool contains(const QWebEngineScript &value) const;
+ Q_INVOKABLE QList<QWebEngineScript> find(const QString &name) const;
Q_INVOKABLE void insert(const QWebEngineScript &);
Q_INVOKABLE void insert(const QList<QWebEngineScript> &list);
-
Q_INVOKABLE bool remove(const QWebEngineScript &);
Q_INVOKABLE void clear();
QJSValue collection() const;
void setCollection(const QJSValue &scripts);
- QList<QWebEngineScript> toList() const;
Q_SIGNALS:
void collectionChanged();
diff --git a/tests/auto/widgets/qwebenginescript/tst_qwebenginescript.cpp b/tests/auto/widgets/qwebenginescript/tst_qwebenginescript.cpp
index 32384aec2..5e7bd2453 100644
--- a/tests/auto/widgets/qwebenginescript/tst_qwebenginescript.cpp
+++ b/tests/auto/widgets/qwebenginescript/tst_qwebenginescript.cpp
@@ -320,8 +320,8 @@ void tst_QWebEngineScript::scriptModifications()
QVERIFY(spyFinished.wait());
QCOMPARE(evaluateJavaScriptSync(&page, "document.body.innerText"), QVariant::fromValue(QStringLiteral("SUCCESS")));
QVERIFY(page.scripts().count() == 1);
- QWebEngineScript s = page.scripts().findScript(QStringLiteral("String1"));
- QVERIFY(page.scripts().remove(s));
+ QList<QWebEngineScript> s = page.scripts().find(QStringLiteral("String1"));
+ QVERIFY(page.scripts().remove(s.first()));
QVERIFY(page.scripts().count() == 0);
}