aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* Tooling: Guard use of QRegularExpressionUlf Hermann2019-05-232-4/+7
| | | | | | | | | | | | The Qt we are using might be compiled without regular expressions. The epxression in qqmldebugserver.cpp is actually not needed as QString::toInt() can do this check for us. The ones in globalinspector.cpp are only for reformatting the name in a nicer way for the selection highlight. We can skip those in case there are no regular expressions. Change-Id: I71e3f0314d8a68a41c3da2568207e311c6b41d1b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Tooling: Use QRegularExpression rather than QRegExpUlf Hermann2019-05-222-6/+4
| | | | | | | Task-number: QTBUG-72588 Change-Id: Ib79107ea01de2dee49dc783f1d88807d1852c3ba Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
* Split CompiledData::CompilationUnit in twoUlf Hermann2019-05-161-1/+1
| | | | | | | | We need a CompilationUnit that only holds the data needed for compilation and another one that is executable by the runtime. Change-Id: I704d859ba028576a18460f5e3a59f210f64535d3 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-04-101-4/+4
|\ | | | | | | | | | | | | | | Conflicts: src/qml/qml/qqmlmetatype.cpp src/qml/types/qqmlmodelsmodule.cpp Change-Id: Idc63689ba98d83a455283674f4b5cf3014473605
| * Fix qtdeclarative build configured with -qreal=floatDonald Carr2019-03-311-4/+4
| | | | | | | | | | | | | | There is a sole point of failure in Qt 5.13 beta1 Change-Id: I58a41e310604a8bccbf14f463f734877d6a65a73 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Remove unused includes of qv8engine_p.hUlf Hermann2019-04-093-3/+0
| | | | | | | | | | Change-Id: Ic135a863581d29a3afb9c6c7f070d2630b3913b4 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-03-264-68/+183
|\| | | | | | | Change-Id: Iaaf9749a812c21c065ded0374ce0aa07de7752cf
| * Fix preview zoom problems on windowsTim Jenssen2019-03-224-68/+183
| | | | | | | | | | | | | | | | | | | | Apparently the window is moved to random places on multi-monitor setups on windows. Fixes: QDS-263 Change-Id: I21082c7031fefff3057074c147e82df7a88f4f78 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* | V4: Clean up the runtime functions declarationsErik Verbruggen2019-02-052-2/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | | The declarations and usage of runtime functions have seen a number of changes: - we don't use the array of method pointers anymore because we don't use cross-platform AOT JITting - the check if a method can throw a JS exception was invalid, and was not used anymore - value-pointer vs. const-value-ref was inconsistent This patch cleans that up. By fixing the exception checking, we can now use it in the baseline JIT to automatically insert those checks. To make that work correctly, all runtime methods are in a struct, which gets annotated to indicate if that method throws. (The old way of checking which type of engine was used is fragile: some non-throwing methods do not take an engine parameter at all, and those got flagged as throwing). By using a struct, we can also get rid of a bunch of interesting macros. The flags in the struct (as mentioned above) can later be extended to capture more information, e.g. if a method will change the context. Change-Id: I1e0b9ba62a0bf538eb728b4378e2678136e29a64 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-12-113-5/+16
|\ | | | | | | Change-Id: If18e582a7210dae046426d97af530ab7ef47ddf4
| * Fix leaking resources by OpenVG scene graph backendKirill Burtsev2018-11-143-5/+16
| | | | | | | | | | Change-Id: I4e67c639d8343e39673ef5ea08bda7af033fb19f Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | QML Inspector: Use Qt5-style connectionUlf Hermann2018-11-151-1/+1
| | | | | | | | | | | | | | | | highlight.h doesn't have a slots section anymore, so the Qt4-style connect produces a runtime warning and the text doesn't disappear. Change-Id: Idacd3552df75179566b9efe43192c9c95dbd6f96 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* | QML Tooling: Fix ordering of memory events in V4 profiler adapterUlf Hermann2018-11-141-2/+5
| | | | | | | | | | | | | | | | | | | | | | We should not send memory events that are chronologically after the next call event, even if the time threshold given by the profiler service would allow us to do so. When the remaining call events are sent, the chronological order would otherwise be violated. Fixes: QTBUG-71515 Change-Id: Iee27304f836a899b2b35133316cecd3d34f128c6 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* | Fix translation contexts for paths with drive letters on WindowsErik Verbruggen2018-10-152-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Inside method_qtTr, the filename is assumed to be a (correct) URL. When a (normalized) path with a windows drive letter is passed to QJSEngine::evaluate, the URL will have a scheme that is the drive letter. We cannot correct this in method_qtTr, because at that point we might get in files that do not come from the file system, but through actual URLs. The place where we know for sure that the filename is a real file name and not a URL, is in QJSEngine::evaluate. So at that point, make sure that the filename is a valid URL. Task-number: QTBUG-70425 Change-Id: Ia41859c4024ac46e6f8c3d96057a5dffdecd8f56 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | QML Tooling: Prevent property capture while collecting dataUlf Hermann2018-10-101-0/+28
| | | | | | | | | | | | | | | | | | We don't want additional connections to be formed as result of reporting data to the debugger. Task-number: QTBUG-70989 Change-Id: I78b038a159addac43a8661e402a70e5b14fb222b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QML Tooling: Don't read properties in order to count themUlf Hermann2018-10-101-2/+1
| | | | | | | | | | | | | | | | | | Reading properties may have side effects and we don't actually need the values here. Task-number: QTBUG-70989 Change-Id: If9f43f3c6a390ebd0ab1d1375fd021189adb10f7 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Whitelist the Qt tests pathUlf Hermann2018-10-051-1/+3
| | | | | | | | | | | | | | | | | | | | Having that blacklisted only provides some bullet/foot interaction when running the test on an installed Qt. Just leaving it out of blacklist is not enough as the prefix and data paths are usually parents of the tests path. Change-Id: I480ecd88716a2f0084c1acbb8c29cde2c2b4590a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QmlPreview: Change license to LGPL/GPL/CommercialUlf Hermann2018-09-2814-57/+211
| | | | | | | | | | | | Change-Id: I17484583ca02f98d6120816611ccc7e8b0ce43e3 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* | QPacketProtocol: Remove aboutToClose() methodUlf Hermann2018-09-202-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It doesn't serve any useful purpose. The cleanup is done on destruction anyway, and re-opening the underlying device after it was closed isn't supported. Furthermore, clearing the sendingPackets leads to a crash when the device sends another bytesWritten() signal after aboutToClose(). That can happen, for example with local sockets on windows, when flushing the remaining data. Fixes: QTBUG-70638 Change-Id: Icd636efc9794a127a3869a1c3e999d2286593067 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Cleanups in Value/PrimitiveLars Knoll2018-09-172-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Get rid of Primitive and move the corresponding methods directly into Value. Mark many methods in Value as constexpr and turn Value into a POD type again. Keep Primitive as a pure alias to Value for source compatibility of other modules that might be using it. Change-Id: Icb47458947dd3482c8852e95782123ea4346f5ec Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Store InternalClass::nameMap in a MemberDataLars Knoll2018-09-162-2/+2
| | | | | | | | | | | | | | | | | | | | This helps make that memory known to the GC as well, and makes marking of internal classes much more efficient, as we don't mark the property keys repeatedly (even if they are shared between different internal classes) Change-Id: Ibb7e5383672d7657926bd08bf13f73f7680a9f31 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Qml Preview: Record more detailed frame statisticsUlf Hermann2018-09-104-10/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | Just the number of frames per second doesn't tell us the reason for any low frame rates. The problem could either be GPU-bound, and rendering could take very long, or the problem could be CPU-bound, with synchronizing or the gap between frames being very long. Reporting the rendering and synchronization times in more detail gives the client an idea of what is actually going on. Change-Id: Ib2840a9e1aa9b9738e967730c668769946659be2 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* | QML Preview: fix a possible crashTim Jenssen2018-09-071-1/+1
| | | | | | | | | | | | | | | | Use the preview together with 3d runtime crashes at calling m_currentWindow->framePosition. Change-Id: I582f1bc5e17b24020a95f955752f0ada376289bf Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Make QtDeclarative work for the no-thread configMorten Johan Sørvig2018-09-051-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Force use of the basic render loop, adapt qqmlthread and qqmltypeloader to work on a single thread. Disable components and features that require worker threads: qmldb_server, worker script, shapes, folderlistmodel, threaded render loop, software renderer. Done-with: Lorn Potter <lorn.potter@gmail.com> Change-Id: I77d965947f684f8b7d19284b5decd893395316cb Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* | WebAssembly for QtDeclarativeMorten Johan Sørvig2018-09-051-1/+1
| | | | | | | | | | | | | | | | This is the squashed diff from wip/webassembly to 5.12. Done-with: Lorn Potter <lorn.potter@gmail.com> Change-Id: Ieef34accefef38018a66d3c39bfacb825af4bea6 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* | Use nullptr instead of 0Jesus Fernandez2018-08-161-1/+1
| | | | | | | | | | Change-Id: I028fc16b0e0f06efc1738a07a76c43379d07371d Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
* | Simplify ObjectIterator::nextLars Knoll2018-08-042-15/+10
| | | | | | | | | | | | | | Use PropertyKey instead of two out pointers Change-Id: I4f57bcb36fd412f19f0ed116042f7b094b5785dc Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Preview: Use QTranslator::install(QLocale, ...)Kai Koehne2018-08-034-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | See commit e6f6c4aee6951a for the matching change in QQmlApplicationEngine. Also needed to adapt the autotests, since qt_QT is not (yet) a valid locale. Task-number: QTBUG-69196 Change-Id: If92156abbb3e20042a934b8150a8f456d8f770b6 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Tooling: Allow QML preview to change the languageUlf Hermann2018-07-204-1/+56
| | | | | | | | | | Change-Id: I9afc5a0e1c7807f19dfcca1270267bbf7f718903 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QML Preview: Remove RuntimeLocation from auto-blacklisted pathsUlf Hermann2018-07-201-1/+0
| | | | | | | | | | | | | | | | On windows this is the user's home directory. We don't want to blacklist that ... Change-Id: I76705fb8344d3d91a3a36ba86407f235d1116bcb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | V4 Debugger: Add command to change break pointsUlf Hermann2018-07-191-47/+87
| | | | | | | | | | | | | | | | | | | | | | The function to do so has been around for a long time. Finally expose the functionality to the client. It doesn't make much sense to allow the client to set the initial enabled/disabled state, but not to change it later. Task-number: QTCREATORBUG-20795 Change-Id: Ie2cb01ca3ca5578b6bc85650d7ee38d0aad9bbab Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | V4 Debuger: Drop namesAsObjects optionUlf Hermann2018-07-184-87/+11
| | | | | | | | | | | | | | | | There is no client that uses this anymore, and dropping it allows us to eliminate a lot of code. Change-Id: I6b09669c9dd7fcf9c2d249f133bfbb78d2b6f7f4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | V4 debugger: Drop redundantRefs optionUlf Hermann2018-07-186-107/+13
| | | | | | | | | | | | | | | | No client is using this anymore and we can eliminate a lot of code this way. Change-Id: I454581928fe88e59cd28738c4f7fddd060999181 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Remove references to V8 from V4 debug service internalsUlf Hermann2018-07-182-63/+63
| | | | | | | | | | | | | | | | For years no one has checked if this is still compatible with the V8 protocol. Let's assume it isn't and move on. Change-Id: I4c4125eba2d8d3ecc4d73bba14a7638e409f6b5b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QML Preview: Add a frames per second counterUlf Hermann2018-07-184-7/+60
| | | | | | | | | | | | | | | | It is instructive to the client to know how many frames per second the current QML can achieve in the preview. Change-Id: I8b73e2b5218410d903a07dfe27c038663c84fdee Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-07-161-9/+34
|\| | | | | | | | | | | | | | | Conflicts: src/quick/items/qquickloader.cpp tests/auto/quick/qquickanimations/tst_qquickanimations.cpp Change-Id: I0cb9f637d24ccd0ecfb50c455cc210119f744b02
| * QML Debugger: Check in time if values can be saved to QDataStreamUlf Hermann2018-07-101-9/+34
| | | | | | | | | | | | | | | | | | If you feed something non-saveable to operator<<() the application will crash. Task-number: QTBUG-69316 Change-Id: I9fe5f83a9eb49e5bde3002c0a5dda4206470c644 Reviewed-by: hjk <hjk@qt.io>
* | QML Preview: Add heuristic for auto-loading the root componentUlf Hermann2018-07-132-0/+16
| | | | | | | | | | | | | | | | | | | | This allows the client to skip the initial "Load" command if the first .qml file loaded is the source for the root component. Furthermore, it can just pass an empty URL to Load in order to have the service reload the last loaded URL. Change-Id: Iae5b9bdd20dbc8a772f46d97f91adf7092df1ef3 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QML Preview: Blacklist paths ":/qgradient" and "/etc"Ulf Hermann2018-07-131-0/+4
| | | | | | | | | | | | | | | | | | | | ":/qgradient" is where the new webgradients introduced in QBrush are stored. We don't want to load them from the client. Replacing target-specific files in /etc with files from the host is also a bad idea. Change-Id: I3228388713dec29dad1841aedb175dca10cfe1e1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Tooling: Add QML preview debug serviceUlf Hermann2018-07-1317-1/+2097
| | | | | | | | | | | | Task-number: QDS-181 Change-Id: I02193afb84aa111792d8bebff3bdd9b410f9db5a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Unify the get and getIndexed vtable functions of QV4::ObjectLars Knoll2018-07-022-3/+3
| | | | | | | | | | | | | | | | This finalizes the refactoring of Object's vtable API. Also added the receiver argument to the method as required by the ES7 spec. Change-Id: I36f9989211c47458788fe9f7e929862bcfe7b845 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Unify put and putIndexedLars Knoll2018-07-021-2/+2
| | | | | | | | | | | | | | | | | | | | Pass an Identifier through those virtual methods to unify the string and integer based versions. Also add the receiver that's required in ES7 Change-Id: I4e7f01b4c97cc80bcb3c485f6343f28213dc9e6b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devUlf Hermann2018-06-251-5/+16
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/packetprotocol/qpacketprotocol.cpp src/quick/handlers/qquickhandlerpoint.cpp src/quick/handlers/qquicksinglepointhandler.cpp tests/auto/qml/ecmascripttests/test262 Change-Id: I8908ec8c6116ca626fbd269af7625d4c429429ca
| * PacketProtocol: Explicitly transmit packet sizes in little endianUlf Hermann2018-06-221-5/+15
| | | | | | | | | | | | | | | | | | So far the protocol would fail if the endpoints have different endianness. Task-number: QTBUG-68721 Change-Id: Ib53894b1e2f3eecf40160bb7bb9cfaa4beb2c045 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devSimon Hausmann2018-06-191-3/+1
|\| | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/plugins/qmltooling/packetprotocol/qpacketprotocol.cpp src/qml/compiler/qv4codegen.cpp tests/auto/qml/debugger/qv4debugger/tst_qv4debugger.cpp Change-Id: I010505326d76ee728ffe5fbd4c7879f28adadb12
| * Tooling: Fix integer range checksUlf Hermann2018-06-061-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The packet protocol should check if the number of bytes to be read is positive. Also, a Q_ASSERT on the return value of read() is too brutal. The device can have failed for any number of reasons and we don't want to crash the application because of that. Finally, the number of bytes to be read includes the bytes read to determine the number. Make that clearer by subtracting the actual count, not sizeof(qint32). The check in QQmlProfilerTypedEvent is supposed to happen before we cast the number to the more restrictive type. Furthermore, if subtype doesn't fit the range constraint, we don't have to do anything at all as the default rangeType is already set before. Change-Id: I48c8c47e4207abae6e718eea97815d43e7f9d833 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-05-261-26/+37
|\| | | | | | | Change-Id: I626068886d4440b569dbeb1789b1ebfa480000c5
| * QML Debugger: Don't crash when encoding JSON dataUlf Hermann2018-05-251-26/+37
| | | | | | | | | | | | | | | | | | Apparently QVariant::save cannot deal with QJsonObject and friends. Transform them into QVariants before sending them over the wire. Task-number: QTBUG-68474 Change-Id: I8fc9fade4915c2b40f8d16aea51ea6ff65247dc1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devLars Knoll2018-05-242-30/+27
|\| | | | | | | Change-Id: I0127f2c16de1d930bdd8cbccd42ec6785f31ab96
| * V4 debugger: Allow retrieval of non-CallContext scopesUlf Hermann2018-05-232-25/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to encode the scope type properly and we need to return something from the "scope" command. Previously the client didn't even get notified about QML contexts and couldn't actually retrieve anything but call context. The other scope types are not terribly interesting right now, but at least for the global context it should be possible to provide more data in the future. Task-number: QTBUG-68218 Change-Id: I88d3dbc15a93f19b00f6f12365e4fb64ec78862e Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>