summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conanfile.py1
-rw-r--r--src/qml/CMakeLists.txt6
-rw-r--r--src/qml/configure.cmake6
-rw-r--r--src/qml/jsruntime/qv4engine.cpp18
-rw-r--r--src/qml/jsruntime/qv4engine_p.h4
-rw-r--r--src/qml/jsruntime/qv4qobjectwrapper.cpp16
-rw-r--r--src/qml/jsruntime/qv4sequenceobject_p.h2
-rw-r--r--src/qml/qml/qqmlengine.cpp3
-rw-r--r--src/qmlworkerscript/qv4serialize.cpp8
9 files changed, 2 insertions, 62 deletions
diff --git a/conanfile.py b/conanfile.py
index 139f2e1cbc..1fe8debe40 100644
--- a/conanfile.py
+++ b/conanfile.py
@@ -44,7 +44,6 @@ _qtdeclarative_features = [
"qml-object-model",
"qml-preview",
"qml-profiler",
- "qml-sequence-object",
"qml-table-model",
"qml-worker-script",
"qml-xml-http-request",
diff --git a/src/qml/CMakeLists.txt b/src/qml/CMakeLists.txt
index 1266b6ac1d..2fbf187978 100644
--- a/src/qml/CMakeLists.txt
+++ b/src/qml/CMakeLists.txt
@@ -223,6 +223,7 @@ qt_internal_add_qml_module(Qml
jsruntime/qv4value.cpp jsruntime/qv4value_p.h
jsruntime/qv4variantobject.cpp jsruntime/qv4variantobject_p.h
jsruntime/qv4vme_moth.cpp jsruntime/qv4vme_moth_p.h
+ jsruntime/qv4sequenceobject.cpp jsruntime/qv4sequenceobject_p.h
jsruntime/qv4vtable_p.h
memory/qv4heap_p.h
memory/qv4mm.cpp memory/qv4mm_p.h
@@ -537,11 +538,6 @@ qt_internal_extend_target(Qml CONDITION QT_FEATURE_qml_debug AND QT_FEATURE_tran
debugger/qqmldebugtranslationprotocol_p.h
)
-qt_internal_extend_target(Qml CONDITION QT_FEATURE_qml_sequence_object
- SOURCES
- jsruntime/qv4sequenceobject.cpp jsruntime/qv4sequenceobject_p.h
-)
-
qt_internal_extend_target(Qml CONDITION UNIX
SOURCES
jsruntime/qv4compilationunitmapper_unix.cpp
diff --git a/src/qml/configure.cmake b/src/qml/configure.cmake
index 11c29620d6..989c2e3edc 100644
--- a/src/qml/configure.cmake
+++ b/src/qml/configure.cmake
@@ -159,11 +159,6 @@ qt_feature("qml-devtools" PRIVATE
LABEL "QML Development Tools"
PURPOSE "Provides the QmlDevtools library and various utilities."
)
-qt_feature("qml-sequence-object" PRIVATE
- SECTION "QML"
- LABEL "QML sequence object"
- PURPOSE "Supports mapping sequence types into QML."
-)
qt_feature("qml-xml-http-request" PRIVATE
SECTION "QML"
LABEL "QML XML http request"
@@ -212,7 +207,6 @@ qt_configure_add_summary_section(NAME "Qt QML")
qt_configure_add_summary_entry(ARGS "qml-network")
qt_configure_add_summary_entry(ARGS "qml-debug")
qt_configure_add_summary_entry(ARGS "qml-jit")
-qt_configure_add_summary_entry(ARGS "qml-sequence-object")
qt_configure_add_summary_entry(ARGS "qml-xml-http-request")
qt_configure_add_summary_entry(ARGS "qml-locale")
qt_configure_end_summary_section() # end of "Qt QML" section
diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp
index a5f3336584..89471797d7 100644
--- a/src/qml/jsruntime/qv4engine.cpp
+++ b/src/qml/jsruntime/qv4engine.cpp
@@ -95,11 +95,7 @@
#include "qv4urlobject_p.h"
#include "qv4jscall_p.h"
#include "qv4variantobject_p.h"
-
-#if QT_CONFIG(qml_sequence_object)
#include "qv4sequenceobject_p.h"
-#endif
-
#include "qv4qobjectwrapper_p.h"
#include "qv4memberdata_p.h"
#include "qv4arraybuffer_p.h"
@@ -636,10 +632,8 @@ ExecutionEngine::ExecutionEngine(QJSEngine *jsEngine)
jsObjects[VariantProto] = memoryManager->allocate<VariantPrototype>();
Q_ASSERT(variantPrototype()->getPrototypeOf() == objectPrototype()->d());
-#if QT_CONFIG(qml_sequence_object)
ic = newInternalClass(SequencePrototype::staticVTable(), SequencePrototype::defaultPrototype(this));
jsObjects[SequenceProto] = ScopedValue(scope, memoryManager->allocObject<SequencePrototype>(ic->d()));
-#endif
ExecutionContext *global = rootContext();
@@ -715,9 +709,7 @@ ExecutionEngine::ExecutionEngine(QJSEngine *jsEngine)
static_cast<VariantPrototype *>(variantPrototype())->init();
-#if QT_CONFIG(qml_sequence_object)
sequencePrototype()->cast<SequencePrototype>()->init();
-#endif
jsObjects[WeakMap_Ctor] = memoryManager->allocate<WeakMapCtor>(global);
jsObjects[WeakMapProto] = memoryManager->allocate<WeakMapPrototype>();
@@ -1541,10 +1533,8 @@ static QVariant toVariant(QV4::ExecutionEngine *e, const QV4::Value &value, QMet
return v->toVariant();
} else if (QV4::QmlListWrapper *l = object->as<QV4::QmlListWrapper>()) {
return l->toVariant();
-#if QT_CONFIG(qml_sequence_object)
} else if (object->isListType()) {
return QV4::SequencePrototype::toVariant(object);
-#endif
}
}
@@ -1569,12 +1559,11 @@ static QVariant toVariant(QV4::ExecutionEngine *e, const QV4::Value &value, QMet
}
QVariant retn;
-#if QT_CONFIG(qml_sequence_object)
bool succeeded = false;
retn = QV4::SequencePrototype::toVariant(value, metaType, &succeeded);
if (succeeded)
return retn;
-#endif
+
if (metaType.isValid()) {
retn = QVariant(metaType, nullptr);
auto retnAsIterable = retn.value<QSequentialIterable>();
@@ -1795,7 +1784,6 @@ QV4::ReturnedValue ExecutionEngine::fromData(
#endif
case QMetaType::QObjectStar:
return QV4::QObjectWrapper::wrap(this, *reinterpret_cast<QObject* const *>(ptr));
-#if QT_CONFIG(qml_sequence_object)
case QMetaType::QStringList:
{
bool succeeded = false;
@@ -1806,7 +1794,6 @@ QV4::ReturnedValue ExecutionEngine::fromData(
return retn->asReturnedValue();
return QV4::Encode(newArrayObject(*reinterpret_cast<const QStringList *>(ptr)));
}
-#endif
case QMetaType::QVariantList:
return variantListToJS(this, *reinterpret_cast<const QVariantList *>(ptr));
case QMetaType::QVariantMap:
@@ -1875,13 +1862,10 @@ QV4::ReturnedValue ExecutionEngine::fromData(
}
}
-#if QT_CONFIG(qml_sequence_object)
bool succeeded = false;
QV4::ScopedValue retn(scope, QV4::SequencePrototype::fromData(this, metaType, ptr, &succeeded));
if (succeeded)
return retn->asReturnedValue();
-#endif
-
if (QMetaType::canConvert(metaType, QMetaType::fromType<QSequentialIterable>())) {
QSequentialIterable lst;
diff --git a/src/qml/jsruntime/qv4engine_p.h b/src/qml/jsruntime/qv4engine_p.h
index be115cb064..617c7361cf 100644
--- a/src/qml/jsruntime/qv4engine_p.h
+++ b/src/qml/jsruntime/qv4engine_p.h
@@ -221,9 +221,7 @@ public:
URIErrorProto,
PromiseProto,
VariantProto,
-#if QT_CONFIG(qml_sequence_object)
SequenceProto,
-#endif
SharedArrayBufferProto,
ArrayBufferProto,
DataViewProto,
@@ -344,9 +342,7 @@ public:
Object *uRIErrorPrototype() const { return reinterpret_cast<Object *>(jsObjects + URIErrorProto); }
Object *promisePrototype() const { return reinterpret_cast<Object *>(jsObjects + PromiseProto); }
Object *variantPrototype() const { return reinterpret_cast<Object *>(jsObjects + VariantProto); }
-#if QT_CONFIG(qml_sequence_object)
Object *sequencePrototype() const { return reinterpret_cast<Object *>(jsObjects + SequenceProto); }
-#endif
Object *sharedArrayBufferPrototype() const { return reinterpret_cast<Object *>(jsObjects + SharedArrayBufferProto); }
Object *arrayBufferPrototype() const { return reinterpret_cast<Object *>(jsObjects + ArrayBufferProto); }
diff --git a/src/qml/jsruntime/qv4qobjectwrapper.cpp b/src/qml/jsruntime/qv4qobjectwrapper.cpp
index 34994bd0e6..07f6b15f5c 100644
--- a/src/qml/jsruntime/qv4qobjectwrapper.cpp
+++ b/src/qml/jsruntime/qv4qobjectwrapper.cpp
@@ -58,11 +58,7 @@
#include <private/qv4identifiertable_p.h>
#include <private/qv4lookup_p.h>
#include <private/qv4qmlcontext_p.h>
-
-#if QT_CONFIG(qml_sequence_object)
#include <private/qv4sequenceobject_p.h>
-#endif
-
#include <private/qv4objectproto_p.h>
#include <private/qv4jsonobject_p.h>
#include <private/qv4regexpobject_p.h>
@@ -210,7 +206,6 @@ static QV4::ReturnedValue loadProperty(QV4::ExecutionEngine *v4, QObject *object
if (const QMetaObject *valueTypeMetaObject = QQmlMetaType::metaObjectForValueType(propMetaType))
return QV4::QQmlValueTypeWrapper::create(v4, object, property.coreIndex(), valueTypeMetaObject, propMetaType);
} else {
-#if QT_CONFIG(qml_sequence_object)
// see if it's a sequence type
bool succeeded = false;
QV4::ScopedValue retn(scope, QV4::SequencePrototype::newSequence(
@@ -218,7 +213,6 @@ static QV4::ReturnedValue loadProperty(QV4::ExecutionEngine *v4, QObject *object
!property.isWritable(), &succeeded));
if (succeeded)
return retn->asReturnedValue();
-#endif
}
if (!propMetaType.isValid()) {
@@ -1330,7 +1324,6 @@ private:
quint32 intValue;
bool boolValue;
QObject *qobjectPtr;
-#if QT_CONFIG(qml_sequence_object)
std::vector<int> *stdVectorIntPtr;
std::vector<qreal> *stdVectorRealPtr;
std::vector<bool> *stdVectorBoolPtr;
@@ -1339,7 +1332,6 @@ private:
#if QT_CONFIG(qml_itemmodel)
std::vector<QModelIndex> *stdVectorQModelIndexPtr;
#endif
-#endif
char allocData[MaxSizeOf7<QVariant,
QString,
@@ -1556,14 +1548,12 @@ static int MatchScore(const QV4::Value &actual, QMetaType conversionMetaType)
}
}
-#if QT_CONFIG(qml_sequence_object)
if (auto sequenceMetaType = SequencePrototype::metaTypeForSequence(obj); sequenceMetaType != -1) {
if (sequenceMetaType == conversionType)
return 1;
else
return 10;
}
-#endif
if (obj->as<QV4::QQmlValueTypeWrapper>()) {
const QVariant v = obj->engine()->toVariant(actual, QMetaType {});
@@ -1827,7 +1817,6 @@ void *CallArgument::dataPtr()
case QVariantWrappedType:
return qvariantPtr->data();
default:
-#if QT_CONFIG(qml_sequence_object)
if (type == qMetaTypeId<std::vector<int>>())
return stdVectorIntPtr;
if (type == qMetaTypeId<std::vector<qreal>>())
@@ -1842,7 +1831,6 @@ void *CallArgument::dataPtr()
if (type == qMetaTypeId<std::vector<QModelIndex>>())
return stdVectorQModelIndexPtr;
#endif
-#endif
break;
}
@@ -1902,7 +1890,6 @@ void CallArgument::initAsType(QMetaType metaType)
}
}
-#if QT_CONFIG(qml_sequence_object)
template <class T, class M>
bool CallArgument::fromContainerValue(const QV4::Value &value, M CallArgument::*member)
{
@@ -1916,7 +1903,6 @@ bool CallArgument::fromContainerValue(const QV4::Value &value, M CallArgument::*
(this->*member) = nullptr;
return false;
}
-#endif
bool CallArgument::fromValue(
QMetaType metaType, QV4::ExecutionEngine *engine, const QV4::Value &value)
@@ -2037,7 +2023,6 @@ bool CallArgument::fromValue(
break;
}
-#if QT_CONFIG(qml_sequence_object)
if (type == qMetaTypeId<std::vector<int>>()) {
if (fromContainerValue<std::vector<int>>(value, &CallArgument::stdVectorIntPtr))
return true;
@@ -2061,7 +2046,6 @@ bool CallArgument::fromValue(
}
#endif
}
-#endif
break;
}
diff --git a/src/qml/jsruntime/qv4sequenceobject_p.h b/src/qml/jsruntime/qv4sequenceobject_p.h
index d7bc7327c5..db489d039d 100644
--- a/src/qml/jsruntime/qv4sequenceobject_p.h
+++ b/src/qml/jsruntime/qv4sequenceobject_p.h
@@ -65,8 +65,6 @@
#include <QtCore/qabstractitemmodel.h>
#endif
-QT_REQUIRE_CONFIG(qml_sequence_object);
-
QT_BEGIN_NAMESPACE
namespace QV4 {
diff --git a/src/qml/qml/qqmlengine.cpp b/src/qml/qml/qqmlengine.cpp
index 814e7ef789..119eb50421 100644
--- a/src/qml/qml/qqmlengine.cpp
+++ b/src/qml/qml/qqmlengine.cpp
@@ -91,10 +91,7 @@
#endif
#include <private/qqmlplatform_p.h>
#include <private/qqmlloggingcategory_p.h>
-
-#if QT_CONFIG(qml_sequence_object)
#include <private/qv4sequenceobject_p.h>
-#endif
#ifdef Q_OS_WIN // for %APPDATA%
# include <qt_windows.h>
diff --git a/src/qmlworkerscript/qv4serialize.cpp b/src/qmlworkerscript/qv4serialize.cpp
index 39adaa715b..126ebe5e41 100644
--- a/src/qmlworkerscript/qv4serialize.cpp
+++ b/src/qmlworkerscript/qv4serialize.cpp
@@ -42,9 +42,7 @@
#include <private/qv4value_p.h>
#include <private/qv4dateobject_p.h>
#include <private/qv4regexpobject_p.h>
-#if QT_CONFIG(qml_sequence_object)
#include <private/qv4sequenceobject_p.h>
-#endif
#include <private/qv4objectproto_p.h>
#include <private/qv4qobjectwrapper_p.h>
@@ -82,9 +80,7 @@ enum Type {
WorkerRegexp,
WorkerListModel,
WorkerUrl,
-#if QT_CONFIG(qml_sequence_object)
WorkerSequence
-#endif
};
static inline quint32 valueheader(Type type, quint32 size = 0)
@@ -245,7 +241,6 @@ void Serialize::serialize(QByteArray &data, const QV4::Value &v, ExecutionEngine
// No other QObject's are allowed to be sent
push(data, valueheader(WorkerUndefined));
} else if (const Object *o = v.as<Object>()) {
-#if QT_CONFIG(qml_sequence_object)
if (o->isListType()) {
// valid sequence. we generate a length (sequence length + 1 for the sequence type)
uint seqLength = ScopedValue(scope, o->get(engine->id_length()))->toUInt32();
@@ -263,7 +258,6 @@ void Serialize::serialize(QByteArray &data, const QV4::Value &v, ExecutionEngine
return;
}
-#endif
const QVariant variant = engine->toVariant(v, QMetaType::fromType<QUrl>(), false);
if (variant.userType() == QMetaType::QUrl) {
serializeString(data, variant.value<QUrl>().toString(), WorkerUrl);
@@ -419,7 +413,6 @@ ReturnedValue Serialize::deserialize(const char *&data, ExecutionEngine *engine)
agent->setProperty("engine", QVariant::fromValue(engine));
return rv->asReturnedValue();
}
-#if QT_CONFIG(qml_sequence_object)
case WorkerSequence:
{
ScopedValue value(scope);
@@ -438,7 +431,6 @@ ReturnedValue Serialize::deserialize(const char *&data, ExecutionEngine *engine)
QVariant seqVariant = QV4::SequencePrototype::toVariant(array, QMetaType(sequenceType), &succeeded);
return QV4::SequencePrototype::fromVariant(engine, seqVariant, &succeeded);
}
-#endif
}
Q_ASSERT(!"Unreachable");
return QV4::Encode::undefined();