aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/debugger
Commit message (Collapse)AuthorAgeFilesLines
* Make sure v8 service sends a finished signalKai Koehne2013-10-171-0/+2
| | | | | | | Otherwise Qt Creator will block forever ... Change-Id: I2ffe5e826c10338aeb4ded7079154fe83710c108 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix deadlocks in debugger infrastructure on MacKai Koehne2013-10-161-0/+1
| | | | | | | | | Set QReadWriteLocker to recursive. This is needed e.g. to allow _q_changeServiceState to get a read lock when called from inside receiveMessage. Change-Id: I287a7c7f44e94005c0458825f8f6d1877ee914dd Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
* Fix Persistent/WeakValue APILars Knoll2013-09-261-2/+4
| | | | | | | Don't use unprotected Values in the API anymore. Change-Id: I8851628227fca374de24701bc8ee0908b5ae3923 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* QmlDebugging: Process commands in v4DebugServiceAurindam Jana2013-09-192-39/+161
| | | | | Change-Id: I6371db756f72ee373884268fc49a5b16cb66fd34 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* QmlDebugging: Replace QV8DebugService with QV4DebugServiceAurindam Jana2013-09-195-414/+47
| | | | | Change-Id: Ic8c99e3984d9ef6d122f7d8834df97eeb1f1fda3 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* QmlDebugging: Add v4DebugServiceAurindam Jana2013-09-193-2/+255
| | | | | | | Initial checkin Change-Id: Id38166bcc4a63e0543033d25515a135ad492ee2e Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Allow QtQuick private headers to be used with QT_NO_KEYWORDS.Jocelyn Turcotte2013-09-123-4/+4
| | | | | | | | | | | This is necessary for the QtWebEngine module. This also adds an empty nokeywords test using the same mechanism as qtbase/tests/auto/tools/moc/no-keywords.h to find conflicts at compile time. Change-Id: I9df541720797dd61f078178c2af68ead18ff8bfe Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Merge branch 'stable' into devSergio Ahumada2013-09-062-2/+9
|\ | | | | | | | | | | | | | | | | Conflicts: src/qml/debugger/qv8debugservice.cpp src/qml/qml/v8/qv8engine.cpp tests/auto/quick/qquickitem/qquickitem.pro Change-Id: Ic4a1dcdd8b8a84155d2f2abefdf1da5c3a56af31
| * Debugger: Fix crash when app exits while debuggingKai Koehne2013-08-212-3/+11
| | | | | | | | | | | | | | | | Make sure we don't access an already deleted v8engine any more. Task-number: QTBUG-33100 Change-Id: Ic517577ae30b41375cbf9f787cfe0a29121171e2 Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-121-18/+18
|\| | | | | | | Change-Id: Ibb584a2d7975996cd26514b82d1da2d447fcbebf
| * Fix crash in QQmlDebugService::objectForLocationInfo()Duncan Cunningham2013-08-051-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixed crash in QQmlDebugService::objectForLocationInfo() where it was using QObject pointers in the object reference id hash table that had been deleted. Now objectForLocationInfo() checks if the QObject has been deleted and removes it from the object reference hash before trying to look up the filename, line number, and column number. Change-Id: Iba7be7c490e97a2e7685685b0c6e501cfe1e833e Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com> Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
* | Merge branch 'dev' of ssh://codereview.qt-project.org/qt/qtdeclarative into ↵Simon Hausmann2013-07-221-3/+3
|\| | | | | | | | | | | | | | | | | | | wip/v4 Conflicts: src/quick/items/context2d/qquickcontext2d.cpp tests/auto/quick/qquickvisualdatamodel/qquickvisualdatamodel.pro Change-Id: I36a4fd28b3156839aecd70039a3ba566bf19a0bc
| * Debugger: Remove handling of QT_DECLARATIVE_DEBUG macroKai Koehne2013-07-021-1/+1
| | | | | | | | | | | | | | | | | | | | This was added originally to keep older Qt Creator versions working. However, any newer versions automatically set QT_QML_DEBUG too, and checking for both actively prevented selectively enabling QtQuick1 or QtQuick2 debuggers only. Change-Id: I4d4a984958ef3430ebe05b267bd87185005bbe51 Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
| * Disambiguate name of static helper from QtQuick1Kai Koehne2013-07-021-2/+2
| | | | | | | | | | | | | | | | | | | | Change name of static 'qmlEnableDebuggingHelper' variable to disambiguate it from QtQuick1 variable with the same name. Task-number: QTBUG-31064 Change-Id: Ia4b0f18a33a383dd4ade1bdb45506304f9066502 Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
* | Get rid of the signal expression rewriterSimon Hausmann2013-07-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This replaces the entire rewriter with more or less: expressionToEval = "(function(<named params here>) { " + expr + " } )" This also fixes crashes at run-time when the signal rewriter was executed from the loader thread and tried to use a v4 identifier hash with the same engine that's also in the main thread. Change-Id: Ib1e4927d330706a593411fbff64ed3da1e23d0e0 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Merge branch 'dev' of ssh://codereview.qt-project.org/qt/qtdeclarative into ↵Simon Hausmann2013-06-246-45/+233
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | wip/v4 Conflicts: src/imports/qtquick2/plugins.qmltypes src/qml/debugger/qv8debugservice.cpp src/qml/qml/qml.pri src/qml/qml/qqmlcompiler.cpp src/qml/qml/qqmlcomponent.cpp src/qml/qml/qqmlcontext.cpp src/qml/qml/qqmldata_p.h src/qml/qml/qqmlengine_p.h src/qml/qml/qqmljavascriptexpression.cpp src/qml/qml/qqmlxmlhttprequest.cpp src/qml/qml/v4/qv4bindings.cpp src/qml/qml/v4/qv4irbuilder.cpp src/qml/qml/v4/qv4jsonobject_p.h src/qml/qml/v8/qqmlbuiltinfunctions.cpp src/qml/qml/v8/qv8bindings.cpp src/qml/qml/v8/qv8contextwrapper.cpp src/qml/qml/v8/qv8listwrapper.cpp src/qml/qml/v8/qv8qobjectwrapper.cpp src/qml/qml/v8/qv8qobjectwrapper_p.h src/qml/qml/v8/qv8sequencewrapper_p_p.h src/qml/qml/v8/qv8typewrapper.cpp src/qml/qml/v8/qv8valuetypewrapper.cpp src/qml/types/qqmldelegatemodel.cpp src/quick/items/context2d/qquickcanvasitem.cpp src/quick/items/context2d/qquickcontext2d.cpp sync.profile tests/auto/qml/qjsengine/tst_qjsengine.cpp tests/benchmarks/qml/animation/animation.pro tools/qmlprofiler/qmlprofiler.pro Change-Id: I18a76b8a81d87523247fa03a44ca334b1a2360c9
| * QmlProfiler: fix SceneGraph profilingChristiaan Janssen2013-05-271-1/+1
| | | | | | | | | | Change-Id: I54c960f0b0da061816223a51795c83a9f9dd3f66 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
| * Debugger: Make sure client list is protected by mutexKai Koehne2013-05-241-0/+3
| | | | | | | | | | | | | | So far we didn't protect this access. Change-Id: Id738453db5e655371fa2fbf88f81cab6c0af466f Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
| * QmlProfiler: SceneGraph profilingChristiaan Janssen2013-05-062-29/+113
| | | | | | | | | | Change-Id: Ide71b330b13fc3816ed191bd9af84e0fce0d9587 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
| * QmlProfiler: Pixmap CacheChristiaan Janssen2013-04-302-3/+96
| | | | | | | | | | Change-Id: Ibc237bb162c24030438b89d54fa8802ee66b080a Reviewed-by: Kai Koehne <kai.koehne@digia.com>
| * Debugger: fix race condition in block modeKai Koehne2013-04-231-9/+6
| | | | | | | | | | | | | | | | | | | | | | Make sure that the GUI thread & debugger thread actually sync on startup. So far the GUI thread would block forever in waitCondition.wait() if the debugger thread spawns & receives the HELLO before. Also remove unused code and rename variables to make their use more obvious. Change-Id: I8285e8860667496d491807e696535353d9f14dea Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
| * V8Debugging: Set Isolate when sending debug messages to v8Aurindam Jana2013-04-231-2/+8
| | | | | | | | | | | | | | | | | | Pass the Isolate used for setting the DebugMessageDispatchHandler to SendDebugMessage. This is to ensure that the proper dispatch handler is called since the Debugger is per Isolate. Change-Id: I4497155b90d4b678a5c4116859269892441ce70e Reviewed-by: Kai Koehne <kai.koehne@digia.com>
| * Fixed WindowsCE buildBjoern Breitmeyer2013-04-161-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | A windows header is included before the include of the v8 debug header and it has a define for DebugBreak which breaks linking of declarative on WinCE Change-Id: I9178cfcb960c0acbc850f2ff80c6d73b761c04f0 Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
| * QmlDebugServer: Remove unimplemented functionAurindam Jana2013-04-161-2/+0
| | | | | | | | | | Change-Id: I926d876fe841ce3f3a000c865c74169861f17221 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
| * QmlDebugServer: Ensure plugin is setAurindam Jana2013-04-161-1/+1
| | | | | | | | | | Change-Id: Ibc0e5ed626edc076e96c4848994ba0cafba0f5c6 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | Remove last traces of v8 API and v8 compatibility layerSimon Hausmann2013-06-121-2/+1
| | | | | | | | | | | | | | | | The debugger and profiler service remain as bigger parts that need to be ported properly to v4. Change-Id: I68e72d6db66fe497eb58ed60df417ffe4662d115 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Remove the remaining dependencies onto the binding rewriterLars Knoll2013-05-241-1/+1
| | | | | | | | | | | | | | | | Remove the remaining places that were rewriting bindings. Remove the binding rewriter class. Change-Id: Ib1e9121dc10f4526ddb7cf0ae32fecd8ce2d4993 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Remove all references to the old v4 codeLars Knoll2013-05-231-3/+0
| | | | | | | | | | | | | | | | The old v4 files have already been removed, so cleanup all the #ifdef'ed code that still references them. Change-Id: Ifc5c59add5af36a61586a43b13291d7836cccd78 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Change some v8::Persistent to QV4::PersistentValueLars Knoll2013-05-071-1/+2
| | | | | | | | | | Change-Id: I2c4e98cf7e778de9aafabdbd68e6682106343d12 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Get rid of v8::LocalLars Knoll2013-05-061-1/+1
| | | | | | | | | | | | | | | | | | The class was doing exactly the same thing as v8::Handle in our implementation. Removing it cleans up quite a bit of code. Change-Id: I37a3dcdef062fc388751e9ef0a158b5926ba2efb Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Remove v8::HandleScopeLars Knoll2013-05-032-2/+0
| | | | | | | | | | | | | | This class never made sense with v4... :) Change-Id: Id597d791d1adf52cc821d6d46f57cb24d1acd343 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Cleanup v8 Context handlingLars Knoll2013-05-031-1/+0
| | | | | | | | | | | | | | | | | | We don't need or use v8 Context objects, so it's sufficient to have one global context for now. Remove all code related to entering or leaving Context's. Change-Id: I4f7ddaa4907e59de5713368fa13bbc40e5830542 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Get rid of qjsconverter*Lars Knoll2013-05-022-2/+1
| | | | | | | | | | | | | | | | Replace the conversion methods by better API directly in the v8 objects. Change-Id: I9d39b1db38def9aa6d1ef8673e7b1bf36e5b830a Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Remove the old v4 and rename v4vm to v4Simon Hausmann2013-04-291-1/+0
| | | | | | | | | | | | | | | | For archeologists v4 can still be found in the history. Otherwise it is confusing to have both engines in the tree. Change-Id: Ice05afb7013f0fe536aab6bb19114f696c58fc94 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Disable the old v4 engine by defaultLars Knoll2013-04-201-0/+2
| | | | | | | | | | | | | | | | Left the code in there, as a reference for how we might want to build up binding evaluation in the new v4. Change-Id: I5c81ea986d642b524fb02087d819b39c4e3fb257 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Cleanup lots of V8 dependencies in QJS* classesLars Knoll2013-04-182-2/+2
| | | | | | | | | | | | | | | | | | | | | | Implement a good part of QJSValue using V4. Keep the QV8Engine for now (as it is used everywhere), but add an ExecutionEngine pointer to it so other parts can more easily be ported to V4. Remove a lot of other stuff that's not required anymore. Change-Id: Ibe2c9ab10f0ee977e0e3d05a42f526206d7b22b5 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Fix compilation with v4vm's v8 compatibility headersSimon Hausmann2013-04-152-17/+33
|/ | | | | | | | Some code is also commented out - it will disappear during the removal of the v8 code later. Change-Id: I46e07be47ed7d4bc12423a6348d674d2fca489f7 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Debugger: Accepts port range as argumentsAurindam Jana2013-04-022-12/+27
| | | | | | | | | | Allow a port range to pass on command line, and try to listen on any of the ports in the range. (Re)using the ',' separator allows for backwards compatibility, that is, also Qt 4 will accept a -qmljsdebugger=port:1000,1010 argument, but will only try to listen on port 1000. Change-Id: Ic03fe20e4aee9ecdea86651f46f1df5cb19bd75c Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Remove QT_{BEGIN,END}_HEADER macro usageSergio Ahumada2013-01-2812-48/+0
| | | | | | | | | | | The macro was made empty in qtbase/ba3dc5f3b56d1fab6fe37fe7ae08096d7dc68bcb and is no longer necessary or used. Discussed-on: http://lists.qt-project.org/pipermail/development/2013-January/009284.html Change-Id: Ia07e99676e0134fde5e32880edb95e57c779a7ff Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Alan Alpert <aalpert@rim.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-1021-21/+21
| | | | | | Change-Id: I6c3bd7bebe3d62d1cfd0fa6334544c9db8398c76 Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Remove stale QT_MODULE() usage casesSergio Ahumada2012-10-291-2/+0
| | | | | | | | As of Qt5, this macro is defined to be empty; simply get rid of these leftovers. Change-Id: Ib3a8e8eae98e2839c3db4bf34be8dcf43f49af11 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* 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>