aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/v8/qv8bindings.cpp
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2011-12-09 12:39:23 +0000
committerQt by Nokia <qt-info@nokia.com>2011-12-14 04:52:08 +0100
commite8d0ab4b01cabf31d9bff31a821928d846c2f0af (patch)
treee58f5d7a4a93b66a487ad9ea09b4f10d803b10c4 /src/declarative/qml/v8/qv8bindings.cpp
parent0f2188361b996c4d8b8901412cdcebf35bad1e53 (diff)
Add a tracing API for the QML engine
Change-Id: Ic03583444d586f275897d765be8e1b5e69fdd5d4 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Diffstat (limited to 'src/declarative/qml/v8/qv8bindings.cpp')
-rw-r--r--src/declarative/qml/v8/qv8bindings.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/declarative/qml/v8/qv8bindings.cpp b/src/declarative/qml/v8/qv8bindings.cpp
index 3386c5ddc8..510d6138f6 100644
--- a/src/declarative/qml/v8/qv8bindings.cpp
+++ b/src/declarative/qml/v8/qv8bindings.cpp
@@ -48,11 +48,12 @@
#include <private/qdeclarativebinding_p_p.h>
#include <private/qdeclarativeexpression_p.h>
#include <private/qobject_p.h>
+#include <private/qdeclarativetrace_p.h>
QT_BEGIN_NAMESPACE
QV8Bindings::Binding::Binding()
-: index(-1), enabled(false), updating(false), line(-1), object(0), parent(0)
+: index(-1), enabled(false), updating(false), line(-1), column(-1), object(0), parent(0)
{
}
@@ -75,6 +76,11 @@ void QV8Bindings::Binding::update(QDeclarativePropertyPrivate::WriteFlags flags)
if (!enabled)
return;
+ QDeclarativeTrace trace("V8 Binding Update");
+ trace.addDetail("URL", parent->url);
+ trace.addDetail("Line", line);
+ trace.addDetail("Column", column);
+
QDeclarativeContextData *context = QDeclarativeAbstractExpression::context();
if (!context || !context->isValid())
return;
@@ -93,6 +99,7 @@ void QV8Bindings::Binding::update(QDeclarativePropertyPrivate::WriteFlags flags)
v8::Local<v8::Value> result = evaluate(v8::Handle<v8::Function>::Cast(parent->functions->Get(index)),
&isUndefined);
+ trace.event("writing V8 result");
bool needsErrorData = false;
if (!watcher.wasDeleted() && !error.isValid()) {
typedef QDeclarativePropertyPrivate PP;
@@ -183,11 +190,12 @@ QV8Bindings::~QV8Bindings()
QDeclarativeAbstractBinding *QV8Bindings::configBinding(int index, QObject *target, QObject *scope,
const QDeclarativePropertyData &p,
- int line)
+ int line, int column)
{
QV8Bindings::Binding *rv = bindings + index;
rv->line = line;
+ rv->column = column;
rv->index = index;
rv->object = target;
rv->property = p;