aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/debugger
Commit message (Collapse)AuthorAgeFilesLines
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-2321-504/+504
| | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: Ie7f5d49ed8235d7a7845ab68f99ad1c220e64d5c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Restrict v8 property lookup to the execution contextMatthew Vogt2012-08-271-1/+1
| | | | | | | | | | | | | When resolving property names, only properties known to the current context of execution should be available. If a property name has been overriden by a component extension, code executing in the context of the base component should resolve the property name to the property available inside the base component or its bases. Task-number: QTBUG-24891 Change-Id: I9687cc28e108226d5a939627a901c8254344b598 Reviewed-by: Michael Brasser <michael.brasser@nokia.com> Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Avoid dynamic lookup of signal handler argumentsMichael Brasser2012-08-241-1/+2
| | | | | | | | | | | Rewrite signal handlers to include the parameters in the rewrite. Also check whether parameters are actually used when possible, and if not don't provide them to the expression. Change-Id: I7d65c05f4639979dd61035cf7478119ef7647c25 Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com> Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Adapt to connection-related changes in qtbaseKent Hansen2012-06-121-1/+2
| | | | | | | | | | | | | | | | | | | The QQmlData hooks signalEmitted() and receivers() now receive the index in the signal index range (i.e., excluding non-signal methods). This was done to avoid Q(Meta)Object having to compute the class's method offset; the signal offset should be sufficient for everyone. This required adapting QQmlNotifier, QQmlBoundSignal, QQmlPropertyCache and friends to use the signal index range whenever a property's notify signal is involved in the internal connection lists and property captures. Using the signal index range also reduces the memory used for NotifyList::notifies, since useless entries for non-signal methods will no longer be created. Change-Id: I62872fbea5a1f829b8b03bae3fc1e6acd84cf886 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* Debugger: Clearing the ObjectReferenceHashSimjees Abraham2012-05-302-0/+8
| | | | | | | ObjectReferenceHash is cleared when the Qml file is reloaded. Change-Id: I78da1d88cce2f04fe820f3af14b047cd562e90ed Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* QQmlEngineDebugService: Property Data of type QVariantAurindam Jana2012-05-252-1/+3
| | | | | | | Send property data of type QVariant to the client. Change-Id: I5a18da18f1347935e4ccaafb05e3a877e73bbede Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
* Debugger: Removing the deleted objects from objectReferenceHashSimjees Abraham2012-05-242-0/+21
| | | | | | | | | | The invalid entries from objectReferenceHash in QQmlDebugService is removed once the Qml object is destroyed. Task-number: QTCREATORBUG_7451 Change-Id: I8d2ccafe81a811ea319f13fd99fbde3c13e6b2be Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* Qml : Resetting binding correctedSimjees Abraham2012-05-211-7/+20
| | | | | | | | | Resetting the binding for property corrected in case the property is nested (eg: font.bold) Task-number: QTCREATORBUG-6294 Change-Id: I39cca54c17860c4e6df1cf864cc2f70214d50c8f Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
* Allow the existence of a VME metaobject to be assertedMatthew Vogt2012-05-211-2/+1
| | | | | | | | | Test for the existence of a VME metaobject. Otherwise, assertion of a static cast result is not meaningful. Change-Id: Ic9e9c38e5dce65c41d20e405c33e179334c37b00 Reviewed-by: Michael Brasser <michael.brasser@nokia.com> Reviewed-by: Chris Adams <christopher.adams@nokia.com>
* Remove unnecessary exportsMatthew Vogt2012-05-185-5/+5
| | | | | | | | | Reduce library load time by removing any exports which are not required by existing clients. Task-number: QTBUG-24768 Change-Id: Ia5754d6f97bb2ed46e290820a5b092f85a4bc5b0 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Don't pass the expression string to the signal handler profiler.Michael Brasser2012-05-141-4/+1
| | | | | | | | | Working towards removing the need to store a copy of the expression string in the expression. Author: Christiaan Janssen <christiaan.janssen@nokia.com> Change-Id: I2cedfcf455c9aa4f1fb2ed422533945371038c58 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* QtQuick: Fix string related warnings, single character strings.Friedemann Kleint2012-05-142-2/+2
| | | | | | | | | - Fix warnings about truncation from size_t to int (MSVC 2010, 64bit). - Remove single character strings. Change-Id: Iaf4406e4e04d55d2d8b762f3433269868842a6f9 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* QQmlDebugService: Fetch Objects for location infoAurindam Jana2012-05-124-0/+69
| | | | | | | | Fetch Objects for given filename, line number and column number. Change-Id: I9a81e4c7fa75faaf87f02453026c5320b7f86003 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* QQmlEngineDebugService: Query ExpressionAurindam Jana2012-05-091-1/+10
| | | | | | | | If the scope object is null or if there no QML context for the scope object, try to use the root context of the engine. Change-Id: I0068ea36f18a179b44791b81a2f6b8ec5423f615 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* Debugger: Use new QtMessageHandler signatureKai Koehne2012-05-092-6/+6
| | | | | | | Requires qtbase with change d9a1c2dff8563. Change-Id: I11446479f8d2fce9dc5a8c914f1d1e5e3711fc57 Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* QmlProfiler: storing binding typeChristiaan Janssen2012-05-042-13/+34
| | | | | Change-Id: If1f02e1e6f6ce6aba9874a63d01a08d57571f991 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* More robust tracking of signal handler expression ownership.Michael Brasser2012-05-011-1/+1
| | | | | | | Reference count the expressions, and improve testing. Change-Id: I810509eae1c7608b367e9ff5f7891a294667a692 Reviewed-by: Chris Adams <christopher.adams@nokia.com>
* QmlDebugging: Exchange supported QDataStream versionsAurindam Jana2012-04-269-57/+75
| | | | | | | | | Since the client and service needs to pack/unpack datastreams, they need to encode/decode using the lowest common QDataStream version. Change-Id: I3b4886fece59b24950ba618da07a0fefd41a5637 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* Debugger: Change name and protocol of QDeclarativeObserverModeAurindam Jana2012-04-251-1/+1
| | | | | | | | | Rename QDeclarativeObserverMode to QmlInspector service. This is because the current protocol has been changed completely and just a version change is misleading. Change-Id: I3b72f081f6ab77eac474dcef7a84375ef69e20dc Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* Debugger: Fix race conditions in block modeKai Koehne2012-04-259-71/+89
| | | | | | | | | | | | Using waitForMessage() in the constructor after registerService() is _not_ safe: You might get the first message already after the registerService() and before the waitForMessage() call. Instead, use QMutex/QWaitCondition to block the initialization. Also make the use of the block mode explicit, since the service might already be enabled also for non-blocking modes ... Change-Id: I387bfe0627c80e2029acff71f86d12cd9ab58de1 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* Debugger: Fix race condition in block mode, QQmlDebugServerKai Koehne2012-04-251-5/+4
| | | | | | | | Make sure that the first message hasn't already arrived before we call d->messageArrivedCondition.wait(). Change-Id: I0d3df9adbd41f71df5c1c7d6df90c0037f494514 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* Debugger: Fix RAII usage of ReadWriteLockerKai Koehne2012-04-241-10/+10
| | | | | | | | Variables without a name are free to be deleted even before the scope ends. Change-Id: I07fb6f98cd5b36876db5de2e1b4e8ce355f74415 Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* Debugger: Add asserts for right usage of threadsKai Koehne2012-04-241-0/+14
| | | | | Change-Id: I7c377863eb42e693aa4022af33a83098547e0d58 Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* Debugger: Make sure stateChanged is called from debugger threadKai Koehne2012-04-243-23/+67
| | | | | | | | | | Make sure stateAboutToBeChanged(), stateChanged() is always called from the debugger thread. This matches how messageReceived() is called. On exit, run an event loop until all stateAboutToBeChanged calls have returned. Change-Id: I9cd6199cc80552ad97e4b7d504ea91aa116a6a34 Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* Support and use parameters in QQmlNotifierEndpoint.Michael Brasser2012-04-231-2/+2
| | | | | | | | | Allow QQmlNotifierEndpoint to support signals with parameters. Update QQmlBoundSignal to use this support. Change-Id: Ie2a245b39283b0b66d66bd2350e8bc85fe519bb5 Reviewed-by: Chris Adams <christopher.adams@nokia.com>
* QQmlEngineDebugService: Object creationAurindam Jana2012-04-191-1/+2
| | | | | | | Send parent debug id when a new object is created. Change-Id: I8e3871fee91f0d24c44b0d458d5b273f9f527b11 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* Merge remote-tracking branch 'origin/api_changes'Lars Knoll2012-04-172-5/+3
|\ | | | | | | Change-Id: I39905acde16ba6bb0ba39401cb73082a73dd9167
| * Merge remote-tracking branch 'origin/master' into api_changesLars Knoll2012-04-116-40/+29
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/debugger/qqmlprofilerservice_p.h src/qml/qml/qqmlboundsignal.cpp src/qml/qml/v4/qv4bindings.cpp src/quick/items/qquickshadereffect.cpp src/quick/particles/qquickcustomparticle.cpp src/quick/qtquick2.cpp Change-Id: Ia9c6517035ae912fa75e77473a452bd3383def56
| * \ Merge master into api_changesKent Hansen2012-03-273-35/+58
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/debugger/qqmlenginedebugservice.cpp src/qml/debugger/qqmlprofilerservice_p.h src/qml/qml/qqmlboundsignal.cpp src/qml/qml/qqmlpropertycache.cpp src/quick/util/qquickimageprovider.cpp Change-Id: I0609aa5ed54c7769f1e2773a96a7cd43a69f133c
| * \ \ Merge master into api_changesKent Hansen2012-03-2310-787/+113
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/qml/qqmlboundsignal.cpp src/qml/qml/qqmlpropertycache.cpp Change-Id: I5193a193fa301c0b518291645bf626a5fa07118f
| * \ \ \ Merge master into api_changesKent Hansen2012-03-1910-50/+65
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/debugger/qqmlenginedebugservice.cpp src/qml/qml/v8/qv8qobjectwrapper.cpp src/quick/util/qquickimageprovider.cpp tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp Change-Id: Ie78ba2fabd32f4812bcae9dbdd66ed289dc11dcb
| * | | | | Adapt to Qt5 meta-object changesKent Hansen2012-03-131-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QMetaMethod::signature() has been renamed to methodSignature(), and it now returns a QByteArray. Also, the new function QMetaMethod::isValid() should be used to determine whether a method is valid, instead of relying on signature() returning a 0 pointer. Where it makes sense, the existing code that was using signature() and parameterTypes() has been changed to use the new API QMetaMethod::name(), parameterCount(), and parameterType(int). Also, in the new meta-object revision (7), the QMetaObject stringdata member is now of type QByteArrayData*. QFastMetaBuilder will be ported to generate the new format, but for now it's sufficient to reinterpret_cast the stringdata assignment to keep it compiling. Change-Id: Ie340ef17bcebc3afa4aae6450dfe2d06e4d881a4 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* | | | | | QV8DebugService: v8::AfterCompile EventsAurindam Jana2012-04-172-16/+10
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not send v8::AfterCompile events. This speeds up the debugger. Change-Id: I84f5d90e24878af42d514e5d26c9e051502605f6 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* | | | | QQmlDebugServer: Use Q_D(const )Aurindam Jana2012-04-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I118a7b9de886c712027c55c38be99f615aea6902 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* | | | | Revert "Add QQmlBoundSignalNoParams"Michael Brasser2012-04-031-23/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ec7deb3d123bb44b5d57590615a60ed48b1d2860. Other Qt modules may be relying on QObject::receivers() to know when there is a QML signal handler for a signal, and using QQmlNotifierEndpoint in QQmlBoundSignalNoParams breaks this assumption. Change-Id: I1b8085254697d909f85a88617eb4e3f258b88950 Reviewed-by: Chris Adams <christopher.adams@nokia.com>
* | | | | Debugger: Use "QML" also in macro namesKai Koehne2012-03-302-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QT_DECLARATIVE_DEBUG will be removed as soon as qtbase is updated. Change-Id: I9dbfe95b8bcb3bf1502319a040a758389b6977a2 Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* | | | | irrelevant qDebug removedSimjees Abraham2012-03-301-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Irrelevant debug statement which gets printed at start of debug session is removed. The same is removed in Auto-tests as well. Change-Id: If8f44950952f08b55ff884c1fe42670108e2369d Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* | | | | QmlDebugging: Send parent debug id with object infoAurindam Jana2012-03-292-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ic197656b90a309d1d9e72b9d6648fee86164c3e1 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* | | | | Use minimal javascript expression for bound signalsChris Adams2012-03-292-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, QQmlBoundSignal used QQmlExpression internally. This commit adds a new, more optimal QQmlJavaScriptExpression subclass specifically designed for QQmlBoundSignal, and converts the code to use it instead of QQmlExpression where appropriate. Task-number: QTBUG-24460 Change-Id: I2865a119ce840235e27a7722d8052ca61c265f69 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* | | | | The new QUrl has no need for the 0x100 special value.Thiago Macieira2012-03-281-2/+2
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | This change is required to compile with the new QUrl. Change-Id: I62cafa1485a90893cca427cbed839700f9579ef9 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* | | | Debugger: Allow enabling of qml debugger without startup warningKai Koehne2012-03-271-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add QT_DECLARATIVE_DEBUG_NO_WARNING define to support enabling the qml debugger without printing the usual startup warning. This should be used with care, but e.g. for qmlscene the warning probably confuses more than it helps. Change-Id: I33704857baebfc8bca60abbff09138e259390b49 Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* | | | Add QQmlBoundSignalNoParamsqt-v5.0.0-alpha1Michael Brasser2012-03-271-10/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This class is used for signal handlers with no parameters, and is more lightweight than QQmlBoundSignal. Change-Id: Ie63eb989d334906657fd16fe35386df198654c28 Reviewed-by: Chris Adams <christopher.adams@nokia.com>
* | | | Remove QObject parenting from QQmlAbstractBoundSignal.Michael Brasser2012-03-261-22/+30
| | | | | | | | | | | | | | | | | | | | Change-Id: If549cf57bbac18a986a2a0e63fdc76902d2dae43 Reviewed-by: Chris Adams <christopher.adams@nokia.com>
* | | | Use QQmlAbstractBoundSignal where appropriate.Michael Brasser2012-03-261-2/+2
| |_|/ |/| | | | | | | | | | | | | | | | | Prepare for the addition of another subclass. Change-Id: I340f735503e661d9d735f3316a065f807294921b Reviewed-by: Chris Adams <christopher.adams@nokia.com>
* | | Debugger: Optimize message sending in v8 profilerKai Koehne2012-03-191-10/+11
| | | | | | | | | | | | | | | | | | | | | Don't send every message on it's own over the network. Change-Id: I770bf45573451cb9fb0eb10b374467286ae51093 Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
* | | Debugger: Always disable v4 optimizer if v8 debugger is activatedKai Koehne2012-03-191-0/+2
| | | | | | | | | | | | | | | | | | | | | Don't rely on QML_DISABLE_OPTIMIZER environment variable being set. Change-Id: Ib1a9d83eb9698adcd3c9a5bbcc74cba382836078 Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* | | QmlEngineDebugService: Rename service to QmlDebuggerAurindam Jana2012-03-192-38/+54
| | | | | | | | | | | | | | | | | | | | | | | | Rename service from QDeclarativeEngine to QmlDebugger. Send a response for each query. Change-Id: I01cfeaf3e4116bfd7029d170ee228c159973947c Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* | | Debugger: Add optional 'host' argument to -qmljsdebuggerSimjees Abraham2012-03-192-14/+23
| | | | | | | | | | | | | | | Change-Id: I5bb2e48e2ad2019b8a92f6f8842b88027fcd2d28 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* | | QmlDebuggingTests: Separate out public and private testsAurindam Jana2012-03-193-689/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Remove dependencies on quick-private from all possible debugging auto tests and list them under public tests. Change-Id: I688b5b36fdf3d6fbcb6cef2a975ecd1bf679af2b Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* | | QmlProfiler: Make sure there's minimal overhead when not enabledKai Koehne2012-03-191-29/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | Do expensive operations directly in the constructor, guarded by and if (enabled). Also assert if the methods where this isn't feasible are called altough debugging hasn't been enabled. Change-Id: Ieaa3c71730042a88af2270203ea747af42ba5c58 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>