diff options
author | Lars Knoll <lars.knoll@digia.com> | 2013-06-12 14:39:48 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2013-06-12 14:51:10 +0200 |
commit | 248855fdff62d6118ee72e245a641ad26a5242bf (patch) | |
tree | 75d84d96887172cc7ee4375e2b60e11a01053671 | |
parent | 9ea4b7f2fe039579c645ccfe7ce1aeb0791e1150 (diff) |
Finally get rid of qv8objectresource
Change-Id: I3f157148a71cc2f36e51eb8007bfb03cfb5d08af
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
-rw-r--r-- | src/qml/qml/v4/qv4serialize.cpp | 11 | ||||
-rw-r--r-- | src/qml/qml/v8/qv8engine.cpp | 12 | ||||
-rw-r--r-- | src/qml/qml/v8/qv8objectresource_p.h | 93 | ||||
-rw-r--r-- | src/qml/qml/v8/v8.pri | 3 |
4 files changed, 2 insertions, 117 deletions
diff --git a/src/qml/qml/v4/qv4serialize.cpp b/src/qml/qml/v4/qv4serialize.cpp index 0860e27d0b..3d0d3130df 100644 --- a/src/qml/qml/v4/qv4serialize.cpp +++ b/src/qml/qml/v4/qv4serialize.cpp @@ -51,9 +51,6 @@ #include <private/qv4sequenceobject_p.h> #include <private/qv4objectproto_p.h> -#include <private/qv4v8_p.h> -#include <private/qv8objectresource_p.h> - QT_BEGIN_NAMESPACE using namespace QV4; @@ -258,14 +255,6 @@ void Serialize::serialize(QByteArray &data, const QV4::Value &v, QV8Engine *engi return; } - v8::Handle<v8::Object> v8object(v); - QV8ObjectResource *r = static_cast<QV8ObjectResource *>(v8object->GetExternalResource()); - if (r) { - // not a sequence. - push(data, valueheader(WorkerUndefined)); - return; - } - // regular object QV4::ArrayObject *properties = QV4::ObjectPrototype::getOwnPropertyNames(v4, v); quint32 length = properties->arrayLength(); diff --git a/src/qml/qml/v8/qv8engine.cpp b/src/qml/qml/v8/qv8engine.cpp index 17701d6a07..95ad0cfe4b 100644 --- a/src/qml/qml/v8/qv8engine.cpp +++ b/src/qml/qml/v8/qv8engine.cpp @@ -78,9 +78,6 @@ #include <private/qv4include_p.h> #include <private/qv4jsonobject_p.h> -#include <private/qv4v8_p.h> -#include <private/qv8objectresource_p.h> - Q_DECLARE_METATYPE(QList<int>) @@ -139,14 +136,7 @@ QVariant QV8Engine::toVariant(const QV4::Value &value, int typeHint) return QVariant::fromValue(QJSValue(new QJSValuePrivate(m_v4Engine, value))); if (QV4::Object *object = value.asObject()) { - QV8ObjectResource *r = (QV8ObjectResource *)v8::Handle<v8::Value>(value)->ToObject()->GetExternalResource(); - if (r) { - switch (r->resourceType()) { - case QV8ObjectResource::XMLHttpRequestType: - case QV8ObjectResource::DOMNodeType: - return QVariant(); - } - } else if (typeHint == QMetaType::QJsonObject + if (typeHint == QMetaType::QJsonObject && !value.asArrayObject() && !value.asFunctionObject()) { return QVariant::fromValue(QV4::JsonObject::toJsonObject(object)); } else if (QV4::QObjectWrapper *wrapper = object->as<QV4::QObjectWrapper>()) { diff --git a/src/qml/qml/v8/qv8objectresource_p.h b/src/qml/qml/v8/qv8objectresource_p.h deleted file mode 100644 index 660894d388..0000000000 --- a/src/qml/qml/v8/qv8objectresource_p.h +++ /dev/null @@ -1,93 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the QtQml module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QV8OBJECTRESOURCE_P_H -#define QV8OBJECTRESOURCE_P_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include <QtCore/qglobal.h> -#include <private/qv8_p.h> - -QT_BEGIN_NAMESPACE - -#define V8_RESOURCE_TYPE(resourcetype) \ -public: \ - enum { V8ResourceType = QV8ObjectResource:: resourcetype }; \ - virtual QV8ObjectResource::ResourceType resourceType() const { return QV8ObjectResource:: resourcetype; } \ -private: - -class QV8Engine; -class QV8ObjectResource : public v8::Object::ExternalResource -{ -public: - QV8ObjectResource(QV8Engine *engine) : engine(engine) { Q_ASSERT(engine); } - enum ResourceType { XMLHttpRequestType, DOMNodeType }; - virtual ResourceType resourceType() const = 0; - - QV8Engine *engine; -}; - -template<class T> -inline T *v8_resource_cast(v8::Handle<v8::Object> object) { - QV8ObjectResource *resource = static_cast<QV8ObjectResource *>(object->GetExternalResource()); - return (resource && (quint32)resource->resourceType() == (quint32)T::V8ResourceType)?static_cast<T *>(resource):0; -} - -template<class T> -inline T *v8_resource_check(v8::Handle<v8::Object> object) { - T *resource = static_cast<T *>(object->GetExternalResource()); - Q_ASSERT(resource && resource->resourceType() == (quint32)T::V8ResourceType); - return resource; -} - -QT_END_NAMESPACE - -#endif // QV8OBJECTRESOURCE_P_H diff --git a/src/qml/qml/v8/v8.pri b/src/qml/qml/v8/v8.pri index 1327792c26..e187143ab8 100644 --- a/src/qml/qml/v8/v8.pri +++ b/src/qml/qml/v8/v8.pri @@ -7,8 +7,7 @@ HEADERS += \ $$PWD/qv8engine_p.h \ $$PWD/qv4domerrors_p.h \ $$PWD/qv4sqlerrors_p.h \ - $$PWD/qqmlbuiltinfunctions_p.h \ - $$PWD/qv8objectresource_p.h + $$PWD/qqmlbuiltinfunctions_p.h SOURCES += \ $$PWD/qv8engine.cpp \ |