aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup retrieval of scope and context objectsLars Knoll2015-06-1815-53/+50
| | | | | Change-Id: I9c6174181f950bc4f829727dc6acdfe82fa4e894 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Cleanup signature of get/setProperty in the object wrapperLars Knoll2015-06-183-41/+36
| | | | | Change-Id: I3612a8fe952656da2239e4baf0b460bef46e3f62 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Add some typesafetyLars Knoll2015-06-185-12/+14
| | | | | | | | Even though the goal is to get rid of the contextwrapper, this helps in the meantime. Change-Id: I234ef39f74fb0eee78710884de6a1c90763bce74 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Clean up ExecutionContext's for QMLLars Knoll2015-06-188-151/+218
| | | | | | | | | | | | Create a specialized QmlContext instead of re-using a call context with a QQmlContextWrapper as activation object. This saves some memory and opens up the route to getting rid of the context wrapper in a future commit. Change-Id: I1591c73932a08564fddf5137ac05bbc6f31dd4d5 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Get rid of QQmlIdObjectsArrayLars Knoll2015-06-183-59/+5
| | | | | | | | | The context wrapper can do this directly, and give access to the array by index. Simplifies code, and is one less object we need to allocate on the JS heap. Change-Id: I9d9d3a47920e97c42234a27aa66cd5ae3cc28085 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Smaller cleanup in the context wrapperLars Knoll2015-06-183-14/+5
| | | | | Change-Id: If9f8139cdb67bd7a1179d8b1ab18bde04e3b2fbb Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Smaller cleanup to QQmlJavaScriptExpressionLars Knoll2015-06-185-21/+11
| | | | | | | Clean up some of the code to create binding expressions. Change-Id: I1cd826685713b44166c58b114fa91135a664591d Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Simplify property capturing codeLars Knoll2015-06-185-64/+49
| | | | | | | | | No need to inherit from a base class defined in QQmlEnginePrivate. The capture handling can be a simple value based class without virtual methods that is allocated on the stack. Change-Id: Ib0ddf4afcaf154b3f953d8c9322f5bec196d7abf Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Fix some function signatures and remove an unused functionLars Knoll2015-06-185-63/+36
| | | | | | | | The returned value of these methods is never used, so save some cycles and return void. Change-Id: I7e2430130853af12de9685c4383197c80c151175 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* QQmlBoundSignal doesn't need a vtableLars Knoll2015-06-181-1/+1
| | | | | Change-Id: I229740b6cff12a7b43a9ec5ab5b1c5a216843547 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Move setting the callback type for the endpoint to the constructorLars Knoll2015-06-184-11/+9
| | | | | Change-Id: I1881fc3e79f93e3cfe01a201d60956c460c0d196 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Save another pointer in QQmlBoundSignalLars Knoll2015-06-184-10/+4
| | | | | | | | | isEvaluating is not really needed as it's tightly coupled to the isNotifying flag in the parent class. Use that instead, to get rid of it. Change-Id: Ic7274ac54e4d380567522c8a549b98d5ed1a1798 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* No need to store the same data twiceLars Knoll2015-06-185-19/+9
| | | | | | | | Remove the index member from QQmlBoundSignal, as the NotifierEndpoint already stores the index. Change-Id: Idd8848ae1ca97b964ca1be0bab1c8aba540ace43 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Don't store the qmlscope object in a persistentLars Knoll2015-06-185-16/+6
| | | | | | | | | | This doesn't make sense, as the persistent is never being used. So either the scope object is being used from somewhere else in which case it'll be referenced and marked from there, or it's not being used in which case, we might as well collect it. Change-Id: I56cb45282cbc795d4c59314c10491dedb9b7d478 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Get rid of QQmlBoundSignalExpression::ExtraDataLars Knoll2015-06-183-138/+77
| | | | | | | | | | | | | The extra data was only used to delay initialization of the required FunctionObject to the first time evaluate got called. In addition, the constructor using ExtraData was only ever called from the debugger. In that case performance can't be critical, so we can just as well do function object creation at construction time. This saves one pointer in the object. Change-Id: I46ce9aa325f0fa95b5b0e374e9c07d673e454dd4 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Get rid of QQmlAbstractBoundSignalLars Knoll2015-06-186-63/+42
| | | | | | | | QQmlBoundSignal is the only class inheriting from it, so we might as well get rid of the abstract base class. Change-Id: I1b59a5d30d9a6ff1111e54f47530687b47f39d70 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Minor cleanupSimon Hausmann2015-06-171-2/+1
| | | | | | | | | Narrow the scope of the match offsets counter, as suggested by the clang static code analyzer. In the second case we just wrote to the variable but never read it. Change-Id: I9e5e22bd27f892e76eccfea8b02f25795b689c36 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Fix to debug flag DATABLOB_DEBUGTuomas Heimonen2015-06-171-1/+1
| | | | | Change-Id: I65ea0283c643371f3debd4a29a5fe4dbcb1c642c Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Store a Heap::String pointer in StringObjectLars Knoll2015-06-177-26/+23
| | | | | Change-Id: I926c5bb2dd4f1613af6737d4200e568f0ec13d58 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Get rid of the tmpProperty in StringObjectLars Knoll2015-06-174-34/+34
| | | | | | | | | This was a bad hack. The new code is cleaner, and should also perform faster in a couple of cases (avoiding the creation of a temporary String that is then only thrown away). Change-Id: Ia6f978e037506484adbc01a61606307d4645b343 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Fix Object::getOwnProperty APILars Knoll2015-06-175-27/+31
| | | | | | | | | Don't return a Proprety pointer, this has issues with StringObject. Instead pass in a pointer that will get filled with the correct data. Change-Id: I28536ca129f5be3a4a1bc9583223521458411195 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Simplify QJSValueIterator code and make it GC safeLars Knoll2015-06-172-12/+10
| | | | | Change-Id: Ie6e4c0d9b8a0b10bedfe32aa6344a2fa8a9a3eac Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Fix the RegExpCache to be GC safeLars Knoll2015-06-174-14/+25
| | | | | Change-Id: I6c20c2c5fcdaefa0743f7c1f50cf6dd8d8edc753 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Fix docs and remove an invalid ###Lars Knoll2015-06-171-4/+4
| | | | | Change-Id: I702529114d3637e48d0159a6b540134b3117b0d1 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Make QV4::Script GC safeLars Knoll2015-06-172-15/+12
| | | | | Change-Id: I559458278cb6a0bbbc4da441034115aa4c72b058 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Store rootcontext in a GC safe wayLars Knoll2015-06-176-12/+12
| | | | | Change-Id: If81d638c0ccd2b34df918ae5055e309f4eae031f Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Remove another wrong commentLars Knoll2015-06-171-1/+0
| | | | | | | The code below looks perfectly ok. Change-Id: I966b54b0ea1fd71898c0305da61b046195ab86a5 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Export QQuickAbstractAnimationPrivateMichal Klocek2015-06-171-1/+1
| | | | | | | | | QtLocation requires different interpolators in coordinate animation, this export is required to be able to subclass QQuickPropertyAnimationPrivate Change-Id: I23ed964d165fa5bce8487f8ac4c38ea00a3f3ba8 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Verify that debug client exists before interacting with it.Ulf Hermann2015-06-162-2/+6
| | | | | | | | We don't want the tests to crash if the connection cannot be established. Change-Id: Iebd6d008f6a043b229738d607068ea822fcded9d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Remove two ### commentsLars Knoll2015-06-151-2/+0
| | | | | | | | The comments indicated that the code wasn't GC safe, but it looks perfectly ok. So simply remove the comments. Change-Id: Iad5ed8cd615a4c135c35639cfa734c370c73e379 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Fix the GC unsafe stack variable in StringifyLars Knoll2015-06-151-6/+11
| | | | | Change-Id: Icf90f43bedebe05a148499cd2de6726eaa993293 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Fix another place where we were not compatible with a moving GCLars Knoll2015-06-151-15/+23
| | | | | | | | Don't store a vector of Heap::String's. Instead allocate them on the JS stack and simply keep a pointer to them. Change-Id: Ie12b5f4d56446234519b5e2f0b33120834e927ab Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Cleanup: Store a pointer to the engine not the contextLars Knoll2015-06-151-11/+11
| | | | | | | | The context is actually only ever used to get to the engine, so let's rather store that one instead. Change-Id: Id6ea8044ac3fb2c273b529f18c85af14e7104892 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Fix GC problem with json conversion methodsLars Knoll2015-06-152-8/+20
| | | | | | | | | The ObjectSet used to protect against recursion is not safe against a GC that moves objects around. Fix this by storing pointers to QV4::Object in there instead. Change-Id: I88bcac330246a1c9180caed13be1f6ab5c40a6ae Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Fix some function signaturesLars Knoll2015-06-156-59/+57
| | | | | | | | Add a const several places and pass values by pointer, not reference. This allows us to also get rid of some Scope's. Change-Id: I3b4c29c22511c947d024457e7b8fa2aaa6bec55d Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Remove unused typedefLars Knoll2015-06-151-2/+0
| | | | | Change-Id: I19b077334705d00a2c8b2800f89962f04eb37212 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Get rid of qv4qmlextensionsLars Knoll2015-06-157-127/+8
| | | | | | | | It only contained the proto for the value type wrapper. Instead just create it lazily, but reserve space on the js stack for it. Change-Id: I2301549b6dc4007bd5ac848e1dca25aafd583c4a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Disable pixmap cache and text input tests if QT_NO_LIBRARYUlf Hermann2015-06-151-0/+4
| | | | | | | They depend on loading plugins. Change-Id: Iee2ec4306a9ee2eae6447ee28552c010e4d31b8c Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Don't wait forever in QQmlDebugClient testUlf Hermann2015-06-151-2/+1
| | | | | | | | The test is intended to wait for 5 seconds but in fact it waited for 5 * 30.1 seconds. Change-Id: Id2af7513fc7af6ab5e67d04d802a24744483f5e1 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Initialize members of tst_QQmlEngineDebugServiceUlf Hermann2015-06-151-0/+2
| | | | | Change-Id: Id9fe7d2bd630bcfe79634b3a4465ec7ad764d18c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* QuickTest: Enable use of BLACKLIST fileCaroline Chao2015-06-155-2/+51
| | | | | | | | So qml test functions can be blacklisted. Qml test functions have the following format: TestCaseName::functionName. Change-Id: Ifcaa8d77d8f0956472aa568dc6dbfcbdde4e5063 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* qmlprofiler: Remove some dead codeUlf Hermann2015-06-152-7/+1
| | | | | Change-Id: If1f542bc73d5af259ea3c0a5da40786f8d6f3dbf Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Don't resolve the d-pointer when we don't use it.Ulf Hermann2015-06-153-4/+3
| | | | | Change-Id: Ia8551e28dcd237a536038ed7f658a3d1164706c6 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Add QQuickWindow::TextureIsOpaque as option to createTextureFromImage.Gunnar Sletta2015-06-159-39/+97
| | | | | | | | | | | | | | | | Opaque textures can be a lot faster, so give this option without forcing the user to reimplement her/his own QSGTexture class. The old behavior was that createTextureFromImage() disregarded TextureHasAlphaChannel and looked solely at the image's format. To keep this behavior intact, we introduce a second opt-in flag to switch textures from auto-detect to false, namely TextureIsOpaque. [ChangeLog][QtQuick][QQuickWindow] Add TextureIsOpaque option to createTextureFromImage() Change-Id: I248db4bc5f7920864b6aa8d831ce24d23ad370ef Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* QQuickPositioner: move paddings into extraDataLiang Qi2015-06-152-55/+74
| | | | | | | | Includes Column, Row, Grid and Flow. Task-number: QTBUG-46529 Change-Id: Ib49e4fa08d95a94b3eca9fc20865acb9281aaad1 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* QQuickTextEdit: move paddings into extraDataLiang Qi2015-06-152-53/+74
| | | | | | Task-number: QTBUG-46529 Change-Id: I67b8125d160213121b30fbb44fa834609d668099 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* QQuickTextInput: move paddings into extraDataLiang Qi2015-06-152-50/+70
| | | | | | Task-number: QTBUG-46529 Change-Id: Ifa072dccdf2dc8c52c6865d13ccf1930c92ec51d Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* QQuickText: move padding into extraDataLiang Qi2015-06-152-18/+21
| | | | | | Task-number: QTBUG-46529 Change-Id: Ifce670a59c367dc1b211ad2c7e797e3a7808cdb2 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* Mark unused parameters as Q_UNUSEDUlf Hermann2015-06-143-0/+22
| | | | | Change-Id: I4f859916debfb39d822a9c2a9c8bdf675d70d702 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* Remove explicit marking of the typedarray constructorsLars Knoll2015-06-101-3/+0
| | | | | | | These objects live on the JS stack and are thus marked implicitly. Change-Id: I8295d8096d0a47861e0092c36e16b95db458de3c Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>