diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2011-12-09 12:39:23 +0000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-12-14 04:52:08 +0100 |
commit | e8d0ab4b01cabf31d9bff31a821928d846c2f0af (patch) | |
tree | e58f5d7a4a93b66a487ad9ea09b4f10d803b10c4 /src/declarative/qml/v8/qv8bindings.cpp | |
parent | 0f2188361b996c4d8b8901412cdcebf35bad1e53 (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.cpp | 12 |
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; |