aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/debugger
Commit message (Collapse)AuthorAgeFilesLines
* Rename QDeclarative symbols to QQuick and QQmlMatthew Vogt2012-02-2430-7048/+0
| | | | | | | | | | | | | Symbols beginning with QDeclarative are already exported by the quick1 module. Users can apply the bin/rename-qtdeclarative-symbols.sh script to modify client code using the previous names of the renamed symbols. Task-number: QTBUG-23737 Change-Id: Ifaa482663767634931e8711a8e9bf6e404859e66 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* DebugMessageService: Remove unneeded dataAurindam Jana2012-02-221-1/+1
| | | | | | | Do not send version info of QMessageLogContext. Change-Id: I32dd4a548ee2b918e5d04dcdffd4d5545fd2f54f Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* DebugMessageService: Also pass Debug Context InfoAurindam Jana2012-02-212-10/+18
| | | | | | | | Use QMessageHandler which provides context information such as line, file and function for the debug output. Change-Id: I475faf4a1363d8419dec910b8a23cc44666c1908 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* v8profiler: Actually submit dataKai Koehne2012-02-211-0/+2
| | | | | | | Fix regression introduced in 82dfecab3. Change-Id: Icd90c483b9b2fde8d4cf522f3a35368cd395b120 Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
* DeclarativeEngineDebugService: Fix CrashAurindam Jana2012-02-211-0/+13
| | | | | | | | Iterate through contents of QVariantMap to convert QObjects to streamable type. Change-Id: I2cb64a84aef674904de43f9a0c0fee539b87a59a Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* QmlProfiler: sending start profiling messageChristiaan Janssen2012-02-152-1/+17
| | | | | | | | | Will be used by the client to show status in the GUI. When profiling is stopped, data is sent immediately, therefore no "stop profiling" message. Change-Id: Idd12069a9707296b87e305e8b3cbf8e324989a3f Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* Debugger: Rename QDeclarativeDebugTrace to QDeclarativeProfilerServiceKai Koehne2012-02-103-73/+73
| | | | | | | | This avoids naming confusion with QDeclarativeTrace + makes it in line with QV8ProfilerService. Change-Id: Ifd801655044cff3ffdb2a9695ffc9868eeb51663 Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
* Debugger: Consistenly use 'state' instead of 'status'Kai Koehne2012-02-1018-101/+101
| | | | | | | | | Fix inconsistent naming e.g. in QtDeclarativeEngineDebug by always using 'state' instead of 'status'. This is in line with the other source code, which also seems to favor 'state'. Change-Id: I65a7a3bd0eb7dfffeb37b5f8dad15b0a4a78de70 Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* Debugger: Allow trace service to send data on exitKai Koehne2012-02-097-15/+61
| | | | | | | | Add a statusAboutToBeChanged virtual that allows services to send data e.g. on application exit. Change-Id: I28fa513ab2a12d6973c444aac3062d64a0957207 Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
* QmlProfiling: don't send v8 data if not profilingChristiaan Janssen2012-02-021-2/+7
| | | | | | Change-Id: I41085ed06bcf28e9de0a72f25076b91b9a3b2aea Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com> Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* QmlProfiler: profiling compiled v8 bindingsChristiaan Janssen2012-02-012-0/+24
| | | | | Change-Id: I8c61b3805244595de6e1c7fbed7ed23440fe0a82 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-3029-29/+29
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: If39bd256b0fa85eba17ea30f8ab87ea27d758908 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update obsolete contact address.Jason McDonald2012-01-2329-29/+29
| | | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I6a730abc0c396fb545a48b2d6938abedac2e3f1c Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Remove the use of QT_MODULE()Gunnar Sletta2012-01-2013-13/+0
| | | | | Change-Id: I1c07231b0bf412fe490a44b9a060bb2e2ef11154 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Debugger: Simplify protocol of QDebugMessageServiceKai Koehne2012-01-171-6/+2
| | | | | Change-Id: I3f97a344b8d0e0d73a75e84310c1e8ed59573ee7 Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* Update copyright year in Nokia copyright headers.Jason McDonald2012-01-172-2/+2
| | | | | | | | Update copyright headers from before 2011, and a couple of new ones that were merged after the previous change to copyright headers. Change-Id: Ia76e08e2734afa4ef3f1207dbcda5ff3bc81b366 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* QDeclarativeExpression: storing column number in expression locationChristiaan Janssen2012-01-165-25/+27
| | | | | Change-Id: I2d69738158abfc76f80b1cfc0e0ccb145fda2245 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* QDeclarativeDebug: Add a debug message service.Aurindam Jana2012-01-093-2/+215
| | | | | | | | | | | QDeclarativeDebugMsgService installs a QtMsgHandler which forwards debug output to a client defined port only if the service is Enabled. It also forwards the debug output to the previous message handler. Effectively, this service just eavesdrop on debug output, forwarding it to a port only if a client is connected. Change-Id: Ie0ee7bab57ef8f03a2de34d91921f054a7ec147f Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-0527-27/+27
| | | | | Change-Id: I0a8d99909cac867dce72da70b1bbcb649989a51b Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Debugger: Allow transmissions of network packets in one goKai Koehne2011-12-217-18/+31
| | | | | | | | | We did call a flush() after every single packet, which was slowing down things especially for the QDeclarativeDebugTrace service. Change-Id: Idab074941a22364e154502eb12afa43b4dd33c22 Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com> Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
* Debugger: Fix livelock on exit (Windows)Kai Koehne2011-12-202-14/+32
| | | | | | | | | | | | We used to close the debugger thread when the last service was killed: This happened in the unloading of static global variables. Apparently this is too late on Windows, since the OS thread associated was already terminated. Instead, we now kill the instance when the QCoreApplication event loop is exiting. Change-Id: I12a46ab9e7ac64561c94c0cd0d88b78fbaf8554c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* DeclarativeDebug: Add version info to service pluginsAurindam Jana2011-12-1611-27/+79
| | | | | | | | Send the version info of each plugin alongwith the plugin names to client. Change-Id: I223689b32cdc5b0c48a4f508330033352b427937 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* QV8DebugService: add version commandAurindam Jana2011-12-151-31/+32
| | | | | | | Version command to retrieve debugger version info. Change-Id: I711e2a3d639c648cef50498fe5bbb9b6b8c6c1fe Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* QV8DebugService: Add breakaftercompileAurindam Jana2011-12-142-7/+21
| | | | | | | | Add breakaftercompile command that will set the v8::DebugBreak() whenever a new script is compiled. Change-Id: Id9027066826b6de621058d3170fa628463ef0152 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* QV8DebugService: Simplify the service codeAurindam Jana2011-12-142-372/+107
| | | | | | | | | Removed all parsing functionality. The service only acts as a delegate to v8 debugger. Apart from that, it calls the v8 debug static APIs when requested by client. Change-Id: I2917c2d080e5b409a4b5f39d386279c33634cade Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* QV8Engine: Console APIs, Extend functionalityAurindam Jana2011-12-142-33/+81
| | | | | | | Added console.trace, console.profile, console.profileEnd. Change-Id: Icc38ddd550989eaba0085ece120695a13ec17322 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* QmlProfiler: stream snapshots to reduce memory footprintMikko Harju2011-12-122-12/+15
| | | | | | | | | | Taking a V8 heap snapshot with QV8ProfilerService created multiple copies of the snapshot data, causing overhead of several megabytes. This patch changes the snapshot protocol to stream the contents over the debugger connection. Change-Id: I90054210233d52dd02aa838201f9b024d578fcea Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* Say hello to QtQuick moduleKent Hansen2011-12-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change moves the QtQuick 2 types and C++ API (including SceneGraph) to a new module (AKA library), QtQuick. 99% of this change is moving files from src/declarative to src/quick, and from tests/auto/declarative to tests/auto/qtquick2. The loading of QtQuick 2 ("import QtQuick 2.0") is now delegated to a plugin, src/imports/qtquick2, just like it's done for QtQuick 1. All tools, examples, and tests that use QtQuick C++ API have gotten "QT += quick" or "QT += quick-private" added to their .pro file. A few additional internal QtDeclarative classes had to be exported (via Q_DECLARATIVE_PRIVATE_EXPORT) since they're needed by the QtQuick 2 implementation. The old header locations (e.g. QtDeclarative/qquickitem.h) will still be supported for some time, but will produce compile-time warnings. (To avoid the QtQuick implementation using the compatibility headers (since QtDeclarative's includepath comes first), a few include statements were modified, e.g. from "#include <qsgnode.h>" to "#include <QtQuick/qsgnode.h>".) There's a change in qtbase that automatically adds QtQuick to the module list if QtDeclarative is used. Together with the compatibility headers, this should help reduce the migration pain for existing projects. In theory, simply getting an existing QtDeclarative-based project to compile and link shouldn't require any changes for now -- but porting to the new scheme is of course recommended, and will eventually become mandatory. Task-number: QTBUG-22889 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Change-Id: Ia52be9373172ba2f37e7623231ecb060316c96a7 Reviewed-by: Kent Hansen <kent.hansen@nokia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
* V8Profiler: make the profiler run in the main threadChristiaan Janssen2011-11-302-15/+19
| | | | | Change-Id: I31f126c4014ee2a5045ff6d66dcfef63ec869e98 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* QDeclarativeInspectorService: Call updateStatus() in GUI thread.Aurindam Jana2011-11-282-2/+2
| | | | | Change-Id: I8eee3df9cb1b01f220827fb278d91bc3fa4332d4 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* Debugger: Fix compilation error with msvcKai Koehne2011-11-281-2/+1
| | | | | | | | | MSVC "cannot allocate an array of constant size 0". The argument isnt accessed anyway, so we can just pass 0 instead. Change-Id: I3d65707148f045f2ed2779604c164297830bfe87 Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* qml debugger: Create abstraction for State managementKent Hansen2011-11-284-64/+130
| | | | | | | | | | | | | State and PropertyChanges aren't part of the core qml types. The (general-purpose) qml debugger shouldn't have to know those types; they are only relevant when QtQuick (2.0) has been imported. Introduce a delegate interface that performs State processing. Implement a delegate for QtQuick 2, and install it when the QtQuick 2 module is imported. Change-Id: I8af1157346ca9365eb0f7b99ccb71744d17fcebc Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* DeclarativeDebugServices: Cleanup CodeAurindam Jana2011-11-256-54/+18
| | | | | | | | Removed addEngine and removeEngine methods from services that do not use the functions of QDeclarativeEngine. Change-Id: Id2ddcbe8cf5706d1e4ca4b59011c7e3574cfdba8 Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
* V8DebugService: Optimize Code.Aurindam Jana2011-11-252-265/+267
| | | | | | | Replace usage of QJSEngine with V8 APIs. Change-Id: I5221d11c1fb96a4912063d452af437a7f5bdb471 Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
* QDeclarativeDebugService: Crash fixAurindam Jana2011-11-241-5/+7
| | | | | | | Query for serviceNames in registerService. Change-Id: I570bd68c424cec696ca813a7fa1b485b64e328a4 Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
* Debugger: Don't register v8 callback until client is attachedKai Koehne2011-11-232-46/+148
| | | | | | | | | | Registering the v8 debugger callback reportedly slows down performance. Do this only if a client is really attached. When attaching, request the already compiled scripts to make sure breakpoint urls are properly adapted. Change-Id: I9ff24b7ca53e13da06f70a9e5860bbd4b9aa0d99 Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* Debugger: Make registration of services explicitKai Koehne2011-11-237-17/+24
| | | | | | | | | | Services now have to call registerService() themselves in the constructor. This fixes a race condition where the empty implementation of messageReceived() was called instead of the one in the subclass because the object wasn't fully constructed yet. Change-Id: I590ec8b76e906bdb6b5cdcb18680938edde283ee Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* Debugger: Move server into it's own threadKai Koehne2011-11-229-146/+253
| | | | | | | | | | | | | | So far the debugger infrastructure was running in the GUI thread, which required e.g. nested event loops to implement blocking behavior. The server and networking code are now running in their own thread, while the services are still running in the main thread. Because v8 isn't thread safe, we're adding two new JSEngines + isolates to qv8debugservice: One to decode JSON messages in the debugger thread, and one in the GUI thread. Change-Id: I746f5e203968f7bcc510fb66118c88ef0fd0cd14 Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
* QDeclarativeDebugServer: Crash FixAurindam Jana2011-11-171-9/+10
| | | | | | | Instantiate QPluginLoader on heap. Change-Id: I53a7cb669379d374e8b6f83fe998c0bb17fbce33 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* Debugger: Add unit tests for v8 profiler serviceKai Koehne2011-11-161-2/+2
| | | | | Change-Id: I556b9c537a43347b42669b2272925af6b05e6014 Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
* Debugger: Remove option to constantly send tracing dataKai Koehne2011-11-112-21/+14
| | | | | Change-Id: I392277453aa34498549e39182accf7797a262504 Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
* QV8ProfileService: Code refactorAurindam Jana2011-11-112-2/+10
| | | | | | | Define sendProfilingData() to send data to client. Change-Id: I1f4778946af4552ef6323c78a538ab7149990b0a Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
* QV8Profiler: Rename the global static instanceAurindam Jana2011-11-111-2/+2
| | | | | | Change-Id: Iecd2856a36c7cf364f3d18288c2974a3bc29f91f Reviewed-by: Kai Koehne <kai.koehne@nokia.com> Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
* Debugger: Fix trace service for tracing on startup in block modeKai Koehne2011-11-112-3/+3
| | | | | | | | | | | Don't call QDeclarativeDebugTrace::instance() inside messageReceived, since messageReceived() will be called for the first message while the constructor is still running. Also add proper autotests for qdeclarativedebugtrace. Change-Id: Ic37d077d93ad4957fb21035abe40b2d281278314 Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
* Declarative: Fix compiler warnings.Friedemann Kleint2011-11-071-2/+2
| | | | | | | | - Unused parameters, variables - Usage of deprecated QAtomic::operator=(int) Change-Id: I2861968dac8ef8a3126783e3447c593808116871 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* QV8DebugService: Return JSON messages for internal requests.Aurindam Jana2011-11-071-0/+56
| | | | | | | | | Internal requests are not handles by V8. Hence, create a JSON message similar to v8 debugging protocol and send it to client. This is only for uniformity wrt to debug requests. Change-Id: Ia0a3cda0ef157b852fb4402fde62b4651a95bd56 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* QV8DebugService: Cancel DebugBreak Requests before disconnectAurindam Jana2011-11-041-0/+3
| | | | | Change-Id: Iaf00123e0c9aa2e5542e9c8863df3887092ac953 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* QmlProfiler: Send trace start event when starting profilingChristiaan Janssen2011-11-032-7/+12
| | | | | Change-Id: Ic81c99922f73b0bf9ee830adc2fe35f1c154d868 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* V8Profiler: fix block at start when profiling is disabledChristiaan Janssen2011-11-031-1/+1
| | | | | | | | | The constructor would block the execution of the whole thread until profiling was enabled. This fix lets the user launch an application with profiling disabled. Change-Id: Ia57c19ce9200f7cc21ae2105db954cc2cb0df271 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* Profiler: Fix profiling when disabled on startupKai Koehne2011-11-031-1/+2
| | | | | | | | Don't try to call addEvent(EndTrace) if we've just received the inital message telling us whether to profiler or not. Change-Id: I78e7437fce46bc1eabfa0c3095ffe11f396c403e Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>