aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2011-12-12 14:04:39 +0100
committerQt by Nokia <qt-info@nokia.com>2011-12-14 09:55:28 +0100
commitb0133b8fa4b1ad9a887fa6718983711b560a35ef (patch)
treec636ce1995bff85ae90544400de7594ab601b7d5
parentf12d2a28d799e95661a50ee70d4c9059377fbfc1 (diff)
Cleanup: Fold QV8GCCallback class declaration(s) back into qv8engine_p.h
The implementation lives in qv8engine.cpp. Change-Id: I2898556fea867cdc82ea534eaf020dd8d12b25d6 Reviewed-by: Chris Adams <christopher.adams@nokia.com>
-rw-r--r--src/declarative/qml/qdeclarativevmemetaobject_p.h2
-rw-r--r--src/declarative/qml/qdeclarativeworkerscript.cpp1
-rw-r--r--src/declarative/qml/v8/qv8engine.cpp2
-rw-r--r--src/declarative/qml/v8/qv8engine_p.h50
-rw-r--r--src/declarative/qml/v8/qv8gccallback_p.h115
-rw-r--r--src/declarative/qml/v8/v8.pri1
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/testtypes.h1
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp1
8 files changed, 51 insertions, 122 deletions
diff --git a/src/declarative/qml/qdeclarativevmemetaobject_p.h b/src/declarative/qml/qdeclarativevmemetaobject_p.h
index de0ac9e4d9..22cfbb138b 100644
--- a/src/declarative/qml/qdeclarativevmemetaobject_p.h
+++ b/src/declarative/qml/qdeclarativevmemetaobject_p.h
@@ -69,7 +69,7 @@
#include "qdeclarativecompiler_p.h"
#include "qdeclarativecontext_p.h"
-#include <private/qv8gccallback_p.h>
+#include <private/qv8engine_p.h>
#include <private/qv8_p.h>
diff --git a/src/declarative/qml/qdeclarativeworkerscript.cpp b/src/declarative/qml/qdeclarativeworkerscript.cpp
index f0583c8470..4e2bcdda01 100644
--- a/src/declarative/qml/qdeclarativeworkerscript.cpp
+++ b/src/declarative/qml/qdeclarativeworkerscript.cpp
@@ -59,7 +59,6 @@
#include <private/qv8engine_p.h>
#include <private/qv8worker_p.h>
-#include <private/qv8gccallback_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/v8/qv8engine.cpp b/src/declarative/qml/v8/qv8engine.cpp
index 5207931776..7d66e5161e 100644
--- a/src/declarative/qml/v8/qv8engine.cpp
+++ b/src/declarative/qml/v8/qv8engine.cpp
@@ -41,10 +41,8 @@
#include "qv8engine_p.h"
-#include "qv8gccallback_p.h"
#include "qv8contextwrapper_p.h"
#include "qv8valuetypewrapper_p.h"
-#include "qv8gccallback_p.h"
#include "qv8sequencewrapper_p.h"
#include "qv8include_p.h"
#include "qjsengine_p.h"
diff --git a/src/declarative/qml/v8/qv8engine_p.h b/src/declarative/qml/v8/qv8engine_p.h
index acf7ec816a..7df4c523c0 100644
--- a/src/declarative/qml/v8/qv8engine_p.h
+++ b/src/declarative/qml/v8/qv8engine_p.h
@@ -60,6 +60,7 @@
#include <QtCore/qstack.h>
#include <QtCore/qstringlist.h>
#include <QtCore/QElapsedTimer>
+#include <QtCore/QThreadStorage>
#include <private/qv8_p.h>
#include <qjsengine.h>
@@ -222,6 +223,55 @@ class QDeclarativeValueType;
class QNetworkAccessManager;
class QDeclarativeContextData;
+class Q_AUTOTEST_EXPORT QV8GCCallback
+{
+private:
+ class ThreadData;
+public:
+ static void garbageCollectorPrologueCallback(v8::GCType, v8::GCCallbackFlags);
+ static void registerGcPrologueCallback();
+ static void releaseWorkerThreadGcPrologueCallbackData();
+
+ class Q_AUTOTEST_EXPORT Referencer {
+ public:
+ ~Referencer();
+ void addRelationship(QObject *object, v8::Persistent<v8::Value> handle);
+ void addRelationship(QObject *object, QObject *other);
+ void dispose();
+ private:
+ Referencer();
+ static v8::Persistent<v8::Object> *findOwnerAndStrength(QObject *qobjectOwner, bool *shouldBeStrong);
+ v8::Persistent<v8::Object> strongReferencer;
+ v8::Persistent<v8::Context> context;
+ friend class QV8GCCallback::ThreadData;
+ };
+
+ class Q_AUTOTEST_EXPORT Node {
+ public:
+ typedef void (*PrologueCallback)(Referencer *r, Node *node);
+ Node(PrologueCallback callback);
+ ~Node();
+
+ QIntrusiveListNode node;
+ PrologueCallback prologueCallback;
+ };
+
+ static void addGcCallbackNode(Node *node);
+
+private:
+ class ThreadData {
+ public:
+ ThreadData() : gcPrologueCallbackRegistered(false) { }
+ ~ThreadData();
+ Referencer referencer;
+ bool gcPrologueCallbackRegistered;
+ QIntrusiveList<Node, &Node::node> gcCallbackNodes;
+ };
+
+ static void initializeThreadData();
+ static QThreadStorage<ThreadData *> threadData;
+};
+
class Q_DECLARATIVE_EXPORT QV8Engine
{
public:
diff --git a/src/declarative/qml/v8/qv8gccallback_p.h b/src/declarative/qml/v8/qv8gccallback_p.h
deleted file mode 100644
index 297ac8ac5c..0000000000
--- a/src/declarative/qml/v8/qv8gccallback_p.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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, Nokia gives you certain additional
-** rights. These rights are described in the Nokia 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.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QV8GCCALLBACK_P_H
-#define QV8GCCALLBACK_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/qobject.h>
-#include <QtCore/qthreadstorage.h>
-#include <private/qv8_p.h>
-#include <private/qintrusivelist_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_AUTOTEST_EXPORT QV8GCCallback
-{
-private:
- class ThreadData;
-public:
- static void garbageCollectorPrologueCallback(v8::GCType, v8::GCCallbackFlags);
- static void registerGcPrologueCallback();
- static void releaseWorkerThreadGcPrologueCallbackData();
-
- class Q_AUTOTEST_EXPORT Referencer {
- public:
- ~Referencer();
- void addRelationship(QObject *object, v8::Persistent<v8::Value> handle);
- void addRelationship(QObject *object, QObject *other);
- void dispose();
- private:
- Referencer();
- static v8::Persistent<v8::Object> *findOwnerAndStrength(QObject *qobjectOwner, bool *shouldBeStrong);
- v8::Persistent<v8::Object> strongReferencer;
- v8::Persistent<v8::Context> context;
- friend class QV8GCCallback::ThreadData;
- };
-
- class Q_AUTOTEST_EXPORT Node {
- public:
- typedef void (*PrologueCallback)(Referencer *r, Node *node);
- Node(PrologueCallback callback);
- ~Node();
-
- QIntrusiveListNode node;
- PrologueCallback prologueCallback;
- };
-
- static void addGcCallbackNode(Node *node);
-
-private:
- class ThreadData {
- public:
- ThreadData() : gcPrologueCallbackRegistered(false) { }
- ~ThreadData();
- Referencer referencer;
- bool gcPrologueCallbackRegistered;
- QIntrusiveList<Node, &Node::node> gcCallbackNodes;
- };
-
- static void initializeThreadData();
- static QThreadStorage<ThreadData *> threadData;
-};
-
-QT_END_NAMESPACE
-
-#endif // QV8GCCALLBACK_P_H
-
diff --git a/src/declarative/qml/v8/v8.pri b/src/declarative/qml/v8/v8.pri
index e3488cd1e5..99ecf90983 100644
--- a/src/declarative/qml/v8/v8.pri
+++ b/src/declarative/qml/v8/v8.pri
@@ -8,7 +8,6 @@ HEADERS += \
$$PWD/qv8profiler_p.h \
$$PWD/qv8stringwrapper_p.h \
$$PWD/qv8engine_p.h \
- $$PWD/qv8gccallback_p.h \
$$PWD/qv8sequencewrapper_p.h \
$$PWD/qv8sequencewrapper_p_p.h \
$$PWD/qv8contextwrapper_p.h \
diff --git a/tests/auto/declarative/qdeclarativeecmascript/testtypes.h b/tests/auto/declarative/qdeclarativeecmascript/testtypes.h
index b7f3f909ea..cd5bac5253 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/testtypes.h
+++ b/tests/auto/declarative/qdeclarativeecmascript/testtypes.h
@@ -57,7 +57,6 @@
#include <QtDeclarative/qdeclarativescriptstring.h>
#include <QtDeclarative/qdeclarativecomponent.h>
-#include <private/qv8gccallback_p.h>
#include <private/qdeclarativeengine_p.h>
#include <private/qv8engine_p.h>
diff --git a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
index 38d436448f..7cddfd22f1 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
+++ b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
@@ -49,7 +49,6 @@
#include <QtCore/qdir.h>
#include <QtCore/qnumeric.h>
#include <private/qdeclarativeengine_p.h>
-#include <private/qv8gccallback_p.h>
#include <private/qdeclarativevmemetaobject_p.h>
#include <private/qv4compiler_p.h>
#include "testtypes.h"