| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some
exceptions, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one
(in those files which will be under GPL 3 with exceptions)
Change-Id: I1c2917ddcb2436477aefde3dc640155d5131a664
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
From Qt 5.7 -> examples are lisenced under BSD license, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
Updated license headers to use new BSD header instead of LGPL21 one
(in those files which will be under BSD)
Change-Id: I67629f4d4480e9ba566d7539d62c7cd4e89342e3
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
Updated license headers to use new LGPL header instead of LGPL21 one
(in those files which will be under LGPL v3)
Change-Id: I2fe282e6b9d52f9635cd69e3e8de53724cbb8b0a
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|\
| |
| |
| | |
Change-Id: I0b933efe65501476b0004afd6f7c36672baa897c
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/webchannel/qmetaobjectpublisher.cpp
src/webchannel/webchannel.pro
Change-Id: Ia573d780424399a8fa6e5a809148c888b223446a
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since QJSValue is part of the QML module then it should check if that is
available before using it so we add a QT_NO_JSVALUE define to help with
this.
Task-number: QTBUG-46850
Change-Id: I1974518a5c134dbb8508a46505b43c820a7a700a
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
|
| |\ \
| | |/
| | |
| | | |
Change-Id: Idcdb6378bb72a87af378d747e01401e5ea4e6f7f
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
LGPLv3 refers to it but does not include it in its body.
Change-Id: Ib056b47dde3341ef9a52ffff13eed18cf3504738
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This will cause the transport to be removed from the "transports" member
of the QQmlWebChannel. Otherwise it would linger around eating resources.
Thanks to Jannis Voelker for pointing it out.
Change-Id: I5aca499dfd0bdefc075fa5717436ab0919ec6ab1
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Uniformly use the <Module/class.h> style, like
https://wiki.qt.io/Coding_Conventions
mandates.
Change-Id: Ia2de5fb5ba4e3229c614c204d43349bd7fcbeaab
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The transport owns the socket and should therefore delete it.
Kudos to Jannis Voelker for pointing it out.
Change-Id: Ie6df93c92e00ac64bc4c329b68cbc9c6598257ab
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
|/ /
| |
| |
| | |
Change-Id: I631db196a1969efc3f45678f00819ac8105e9c82
|
| |
| |
| |
| |
| |
| |
| |
| | |
When we build without qml module we cannot use QJSValue in
qmetaobjectpublisher
Change-Id: I79d06d8cc6d43fdad57cbab17ebc1756444a7311
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QDialog for instance adds a setter for the modal property already
exposed by QWidget.
Object.defineProperty requires configurable set to true in order to
add that setter at a later stage.
Adds some reusable autotest logic with a soft dependency on QJSEngine to
test some of the C++/JS integration aspects.
Task-number: QTBUG-46548
Change-Id: Ibd49274f7d334c068c4006fb09417abf911c24e9
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
Change-Id: Ia5b809f6aeaa29c6acd6f45b696da285fe06b5f2
|
| |
| |
| |
| | |
Change-Id: Ifbc3cf81b3e260c54351406d1a2815e3110de89d
|
| |
| |
| |
| |
| |
| | |
Change-Id: I047ec612d73227925dd55436920adda20bfcb7f6
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
Change-Id: I7616cd4cde8d4be615a566e6992233485e5c2403
|
| | |
| | |
| | |
| | | |
Change-Id: I146ebe43f06b4492487298b086b79ff6ff611629
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ib45c48613c687fdfcafd121ed9d4932cbc116799
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When wrapping a registered object the code generated a new
ID for an already known object. That new ID wasn't stored
but returned to the client including the objects information.
That resulted in a new created object on client side but
the remote object (on the server) was not accessible.
This patch fixes the issue by just returning the known ID
of a known object. Because the client already has a local
representation of that object it does not have to unwrap
the object description.
Change-Id: I31964823c84c84fd7ebce4386865c18fb5518be7
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
|/ /
| |
| |
| | |
Change-Id: I61e5bc4b85f9456b0e3f0084027104d6ace56e70
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.
Change-Id: Iebed549451f58a9fbdd86adf5d0340412d7766d7
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This merge required extensive conflict handling because
the bug fix in 5.4 to properly wrap and forward QObjects
referenced by published objects' properties clashed with
some feature additions in dev, namely the client separation
logic.
All unit test pass for me locally now again.
Conflicts:
.qmake.conf
src/webchannel/qmetaobjectpublisher.cpp
tests/auto/qml/tst_webchannel.qml
Change-Id: If3d00e13b265c6ab9fb2c38023014f97f8e7779b
|
| |
| |
| |
| | |
Change-Id: If89108e0788406443c6314db1c120819430b63ef
|
| |
| |
| |
| |
| | |
Change-Id: I4aff7f943394724446d969a6c4e89c067a9a37b4
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Also adapt the .pro file so that future updates can just be triggered
by 'make qmltypes'.
Change-Id: Ide120291c89e4e37991e87663b32be03af0e3f88
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Implemented a remove method in SignalHandler that allows
us to remove and disconnect an object from SignalHandler
w/o decrementing the connection counter until it hits
zero or deleting the object
That same functionality was used to remove an object from
internal lists when receiving a destroyed signal from an
object. In case of deregistering an object we haven't
received a destoryed signal but simulated reception of that
signal and so that code was not called in that case.
Change-Id: Ie20cf628a2de028375f5d29f913682e25ebf8d44
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The issue is that objects that get deleted will not be
removed from the internal lists.
This patch checks for destroyed signals in cases when
no transport is available (no connection established).
cherry picked from commit 037c67962de3d74669c55a9db456ffd38a28480f
Change-Id: I24e345dcbfe88e15031d288eb65abb2c3066d4c0
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Similar to the support for factory-methods, we must wrap objects in
properties to make them accessible to clients. This patch adds the
required code for that. Besides support for simple properties that
reference an object, this patch also adds support for list properties
that contain objects.
The client-side unwrap of properties is delayed until all objects
are initialized, as a property might reference another registered
object.
Change-Id: I9fb90a8eab4c66d2f4231fdb482e0d97d128df3e
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The tests have been flaky on the CI. And indeed, running the tests
locally under valgrind, which heavily influences the timings, I could
reproduce failures on my local machine as well.
The failure was due to multiple things, but most notably boils down
to intermittend property update noficiations. To reduce that, the
myFactory.lastObj property is propagated up. This way, any change to
that property won't be propagated to the clients and influence the
test.
Furthermore, the failing tests are hardened by also checking the
server messages, which is crucial to correct the flow of messages.
Finally, a bug was found, where an empty property change could be
broadcasted to all clients, when only a specific client's object got
its properties changed. This is also fixed by this patch now.
Change-Id: I2c7ba53253e2841db1a290872dacb097a7b984cf
Reviewed-by: Bernd Lamecker <bernd.lamecker@basyskom.com>
Reviewed-by: Risto Avila <risto.avila@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Signals and property changes caused by dynamically created
qobjects (qobjects returned from a method call at runtime)
should not be broadcasted to any client but only sent to clients
which know these qobjects.
Also added testcases for the changes.
Change-Id: I9aacfa9e7e9df9314b44c6ba8e7339a2069e3c37
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently, a new client gets a list of _all_ registered QObjects,
whether they were explicitly registered or not.
This leaks internal information which the clients cannot use right away
anyway.
Change-Id: I4b25a731e9bc2d646f903057b409aecd34dc7f11
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead, send the data as a response to the initialization request
message. This simplifies the code and makes it more predictable, as we
do not spam all clients with initialization broadcasts anymore.
Note that the pending initialization "feature" is removed, but I don't
see a need for it anymore. If you want to delay client initialization,
do it on the client side.
Change-Id: I1ab71fd6c9e809ccb6085f1a3fbac3eb9b2e910b
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
examples/webchannel/webchannel.pro
Change-Id: Ia768202d177a24ae90358b5d88621a5fa88f9002
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The conversion from QJSValue to QJsonArray seems to work just fine
with Qt 5.4. Originally, this work-around was introduced to fix the QML
tests, which still pass without this code now.
Change-Id: Id52a5a16ebe25914f01d597778152e0595c9f1f4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The web channel always connects to that signal automatically for
internal book-keeping purposes. Thus we do not have to connect to the
signal for wrapped objects. This simplifies the tests and reduces the
IPC traffic for wrapped objects.
Change-Id: Iaf8d9ce0b87874917cdcdf9013e21a53ee36b53a
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I1358cab3e60158b7b21b38907f872a0a7a007e71
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Implemented a C++ Server, providing a chatservice through a simple
QObject using QWebChannel and also both a QML and HTML Client to
interact with the server.
The examples show how to use properties, signals and methods,
separated in server and clients.
This reverts commit e8c280a15f7822fa5a563388615313858fd90848.
The integration issues w.r.t. unconditional usage of the
websockets module have been resolved.
Change-Id: I4a07646dcd5e6050d3bd6b9bd1c5b07dbc7d7d69
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
| |
| |
| |
| |
| |
| |
| | |
This reverts commit e9ec067e628564e0b065c625dcd7e695857706ac which breaks qt5.git integration
Change-Id: I92f23d1c0891ed0e52348ab36b73541027095146
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Implemented a C++ Server, providing a chatservice through a simple
QObject using QWebChannel and also both a QML and HTML Client to
interact with the server.
The examples show how to use properties, signals and methods,
separated in server and clients.
Change-Id: I20c84c2104d0bb599ead1771aad499e59657f83e
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
|\ \
| |/
| |
| | |
Change-Id: I7179dcfb603cb01a62b66d0860fb57f9ef98d6d8
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For static linkage we need to explicitly reference the plugin factory class, to
prevent the linker from discarding the symbol. The Qt build system takes care of
generating the necessary code for referencing the symbol and linking that reference
into the application - see also qt.prf. For the build system to do this automatically,
it needs to know the class name, which is stored in the qmldir file.
This patch adds the missing class name. The first failure for this was when
building the tests/auto/qml test, which specifies an IMPORTPATH that causes the
qml import scanner to find the erroneous qmldir file and error out (see
qt.prf). However otherwise this error would've appeared when trying to link an
app on say iOS for example.
Change-Id: Ia28307593e651d038ff1daaea7597f6eb5e40eb1
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The issue is that objects that get deleted will not be
removed from the internal lists.
This patch checks for destroyed signals in cases when
no transport is available (no connection established).
Change-Id: I384b9e9dc280887d41bbfa59476400e9d8b1199b
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
qwclient can connect to any qwebchannel server using a websocket
transport. The service can then be used through a REPL.
It can, for instance, be used with the standalone example server.
Change-Id: Ie73d19b0376caf2fcf6ae02ec19a56e27bddfd33
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
|\ \
| |/
| |
| | |
Change-Id: Ibbab64e34150e1131fadf37f2e84a0a3f618974f
|
| |
| |
| |
| |
| |
| |
| |
| | |
Some testcases do not consider all messages. These changes make
the test wait at specific points until these messages are sent.
Change-Id: Ie8f4b9492fefade0be91e7f829824db39d61ddee
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Renamed LICENSE.LGPL to LICENSE.LGPLv21
- Added LICENSE.LGPLv3 & LICENSE.GPLv2
- Removed LICENSE.GPL
Furthermore we need to update the sync.profile to not
point to the dev branch in order to integrate
this patch in the CI.
Change-Id: I06b5496b5d865e2da4808532362616429c969658
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This was a historic artefact which should not be required anymore.
Back then it was added when trying to improve the perceived performance
of the webchannel on an embedded device. Nowadays, using the built-in
WebKit IPC mechanism instead of WebSockets, paired with the rest of
the code cleanup and other changes, it should not be required anymore.
Change-Id: I4b2d76d84aaf92e12592a0b2bcf94710b697846e
Reviewed-by: Lutz Schönemann <lutz.schoenemann@basyskom.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The JavaScript API page is important to the rest of the documentation
but there was no link to it.
Task-number: QTBUG-40756
Change-Id: Id741a67ac2b57e21da548c2961c622c7516ac8cf
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|