summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-04-231-0/+20
|\ \ \ | |/ / | | | | | | Change-Id: Ied4f48229353749c4573d5c1b4817f0d00db1715
| * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-201-0/+20
| |\ \ | | |/ | | | | | | Change-Id: I5e513b5e3adb6fc5d352663c9f6fd00219b302e3
| | * Merge remote-tracking branch 'origin/5.12.3' into 5.12Qt Forward Merge Bot2019-04-171-0/+20
| | |\ | | | | | | | | | | | | Change-Id: I1be343e2b85d2e66675c97eccccb3b9923446aef
| | | * Add changes file for Qt 5.12.3v5.12.35.12.3Antti Kokko2019-04-021-0/+20
| | |/ | | | | | | | | | | | | | | | | | | + 05327921fd125a6e33cb32344ac54a7b023f8c62 Bump version Change-Id: I76187606b86ac0d726998a27ac30a35cda8e4a31 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* | | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-04-135-9/+12
|\ \ \ | |/ / | | | | | | Change-Id: I8b70f062015311e0e3827fe001155d6ce1e146d2
| * | Automatically register the latest import versionv5.13.0-beta3Kai Koehne2019-04-125-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This follows what was done in d28c9f6a for Qt Quick Controls 2. The latest import version (e.g. 1.14 in Qt 5.14) will automatically be registered whenever the Qt version is bumped. This avoids needing to wait until a new type is added (or a new revision is added to an existing type) before being able to use the newest Qt Quick version. Change-Id: I2570c2bc50c629101adb763e5e5f90bc3ded8bac Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
* | | Return a Promise when no callback is provided for a function callAndrew Webster2019-04-102-1/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | This returns a Promise if Promise is supported and no callback is provided. The Promise resolves when the function call succeeds, or rejects when it fails. Change-Id: I529f5c2c0ff8997820f3d1b4d4b364cd8521e9b5 Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
* | | Unwrap property updates in case they are QObjectsAndrew Webster2019-04-102-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an object is initialized, QObject properties are properly unwrapped. However, before this patch, updates made to QObject properties were not unwrapped and thus could not be used from ECMAScript. For example, given a property defined as such: Q_PROPERTY(QObject* theProp READ theProp NOTIFY thePropChanged) The property "theProp" is correctly unwrapped when the parent object is created. However, it would not have been unwrapped when "thePropChanged" is emitted. This patch corrects that. Change-Id: If8f67560d9fb2a4bd909d2ab30305ceab30f8d31 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
* | | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-04-061-0/+25
|\ \ \ | |/ / | | | | | | Change-Id: Icd2d943af2304b3df3b1bc43bd8b55d9fd772964
| * | Merge remote-tracking branch 'origin/5.12' into 5.13v5.13.0-beta2Qt Forward Merge Bot2019-04-011-0/+25
| |\ \ | | |/ | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I1983581b7f4d6eb10a223a94234b388e38226a07
| | * Bump versionKari Oikarinen2019-03-211-1/+1
| | | | | | | | | | | | Change-Id: I711c7bd9ad459aacace55fc0228808d884fc9286
| | * Merge remote-tracking branch 'origin/5.12.2' into 5.12Qt Forward Merge Bot2019-03-151-0/+25
| | |\ | | | | | | | | | | | | Change-Id: I89ee14855ca6e6ebb3182124584a0b00d792206f
| | | * Add changes file for Qt 5.12.2v5.12.25.12.2Antti Kokko2019-02-261-0/+25
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 45bc3ab0bbc292be26b2bf0596487d9c7f2059d3 Bump version + c80cbce7ac3b38a45a38b57795c7eb19e5177a17 Remove warning when the notify signal has more than one argument + 38f097ba76fe5b26ccc15a5599e312336200e564 Correctly convert enums and QFlags from and to JSON + 38b5128c63ba38303f0587e03536ed546c1f2eca Correctly unwrap registered objects + d14c6aa5855ebfb8bb624efd7817bb3cdd4c96e4 Also add already wrapped objects to the transport-to-objects map Change-Id: I8f186bc47f8df9608c340a02183fbc06429f4c14 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* | | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-03-303-4/+7
|\ \ \ | |/ / | | | | | | Change-Id: Ida698daaae6d184137358ee49fa2d27b6654d8b3
| * | Update plugins.qmltypes for Qt 5.13Kai Koehne2019-03-262-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-73739 Change-Id: I475d01064a76d73641ac8717cc51133863d22507 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Milian Wolff <milian.wolff@kdab.com> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| * | Doc: Fix some qdoc errorsNico Vertriest2019-03-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | - add documentation to parameter \a objects - correct link to example code Change-Id: Idedfd749dad01315ee0073ca5a87399b9fa30d70 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
* | | Implement actual overload resolutionArno Rehn2019-03-296-43/+293
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements host-side overload resolution. If a client invokes a method by its name instead of its id, the overload resolution tries to find the best match for the given arguments. The JavaScript client implementation now defaults to invocation-by-name, except when a method is invoked by its full signature. In that case, the invocation is still performed by method id. Change-Id: I09f12bdbfee2e84ff66a1454608468113f96e3ed Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
* | | Always rebuild the class info for wrapped objectsMilian Wolff2019-03-253-16/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a new transport is accessing a previously wrapped object, we used to send potentially outdated property values. [ChangeLog][QWebChannel][General] Send current property values when another transport is accessing a previously wrapped object. Fixes: QTBUG-62388 Change-Id: I5cd5772b42c3cb9860e945bb85f77f0e3b6d6ea0 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | Publish overloaded methods and signals to JavaScriptMilian Wolff2019-03-258-88/+226
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, we only published the first method or signal of any given name. We keep this behavior for the nice JavaScript notation that looks like a normal JavaScript method call `foo.bar(...)`. When you need to call a different overloaded method, this patch offers you to specify the explicit signature on the JavaScript side. I.e. when we have an object with `foo(int i)` and `foo(const QString &str, int i)`, then on the JavaScript a call to `obj.foo(...)` will always call the first method like before. But now you can specify the full QMetaMethod signature and call matching methods explicitly via `obj["foo(int)"]` or `obj["foo(QString,int)"]`. Automatic overload resolution on the C++ side for the nice notation cannot easily be implemented: We need to know the return value of the called function, otherwise we cannot construct a valid QGenericReturnArgument. Furthermore, we wouldn't be able to differentiate between e.g. any numeric types on the C++ side, since JavaScript only has a single `double` type internally. [ChangeLog][QWebChannel][General] It is now possible to explicitly call overloaded methods or connect to overloaded signals by specifying the full method or signal signature in string form on the JavaScript side. Fixes: QTBUG-73010 Change-Id: I4645edee97af56fd8d126e77d70dc33ed3513deb Reviewed-by: Arno Rehn <a.rehn@menlosystems.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io> Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
* | | Only connect to signal once per client objectMilian Wolff2019-03-252-3/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | We only disconnect once when all signals are disconnected, so we should also only connect at most once per signal. Change-Id: Ib3a866c3942bec5e06e3b301315bc83cdb972fab Reviewed-by: Arno Rehn <a.rehn@menlosystems.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-02-263-0/+40
|\ \ \ | |/ / | | | | | | Change-Id: Ife028425ea8c14d972c2df59071a9333352af7d1
| * | Merge remote-tracking branch 'origin/5.12' into 5.13v5.13.0-beta1Liang Qi2019-02-253-0/+40
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | Conflicts: src/webchannel/qmetaobjectpublisher.cpp Done-With: Arno Rehn <a.rehn@menlosystems.com> Change-Id: I763a76cf055547c5c5e59511ded51c467d6c7526
| | * Also add already wrapped objects to the transport-to-objects mapArno Rehn2019-02-043-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a crash: Previously, when a connection was closed, the transport was not removed from the list of transports of a wrapped objects. This was because the transport was not added to the transport-to-object map in the first place. When a property update was pushed, the now dangling pointer to the "old" transport caused a crash. Change-Id: Ib980f0b874851f8f85f7a3d76d51a2c884504b96 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| | * Correctly unwrap registered objectsArno Rehn2019-02-043-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, only implicitly wrapped objects have been successfully unwrapped. "Officially" registered objects were not, and thus could not be passed to properties or as method arguments. Change-Id: I6b8644ed3be8db3a66c2c1d5bc167fc33a0b4165 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | Bump versionKari Oikarinen2019-02-251-1/+1
| | | | | | | | | | | | Change-Id: I9c07b1adc8b6afea8c81db167d9705bf27bbd2af
* | | Convert QObjects in QVariantMapsAndrew Webster2019-02-066-3/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QObjects that are present in an array are already converted to an object identifier. This does the same for variant maps, which end up as ECMAScript objects. This allows QObjects put into a QVariantMap to be properly deserialized. For example, if a property is declared as such: Q_PROPERTY(QVariantMap propName READ propName CONSTANT) And propName is: QVariantMap propName() const { QVariantMap map; map.insert("theProperty", QVariant::fromValue(someQObject)); return map; } The "theProperty" property will now properly refer to the object. Change-Id: I3c6e71b860f6825a31eb337aeffa55302287c8ff Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
* | | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-02-055-5/+6228
|\ \ \ | |/ / | | | | | | Change-Id: I07c095f8aa52f4aac1b91d645d65ba5143ed56ef
| * | Merge remote-tracking branch 'origin/5.12' into 5.13v5.13.0-alpha1Qt Forward Merge Bot2019-02-025-5/+6228
| |\ \ |/ / / | | _ | | Change-Id: I6b83cc26dddfafe3bebe1bfb3640e2daf2d9a8fb
| * Merge remote-tracking branch 'origin/5.12.1' into 5.12Qt Forward Merge Bot2019-02-012-0/+6137
| |\ | | | | | | | | | Change-Id: I49e55df5f1c518ec62800572601e493f483faada
| | * Add changes file for Qt 5.12.1v5.12.15.12.1Antti Kokko2019-01-101-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + faab35b4f88c634510e56adcfa6f12f0fef548bb Bump version + 94fee0eaa3a5ce98bae8e5d68c91c0366fa94cdc Add changes file for Qt 5.11.3 + 7aba0a480990090fd4412a262c93ec684b7ab908 Add binary compatibility file for QtWebChannel for Qt 5.12 + 68ab691b04d14c8a5582c14842246b1041436094 Bump version Change-Id: I6aed56c63e3ff8dba742e354d6f8ff5c7cbdb69a Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
| | * Merge 5.12 into 5.12.1Kari Oikarinen2019-01-082-1/+21
| | |\ | | | | | | | | | | | | Change-Id: If92a74443a5747c3307b2683461ad677659de135
| | * | Add binary compatibility file for QtWebChannel for Qt 5.12Milla Pohjanheimo2018-12-181-0/+6117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Binary compatibility file added. Change-Id: I3faf447d11526f599fe826ac02d7f4c0815a7e8f Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
| * | | Correctly convert enums and QFlags from and to JSONArno Rehn2019-01-313-0/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, enums declared with Q_ENUM were stringified in the conversion to JSON and QFlags did not work at all. The conversion of QJsonValue(int) to enum worked fine, however. This patch implements some extra logic for detecting enums and QFlags, thus correctly converting to and from integers. [ChangeLog] Enum values and QFlags are now correctly converted to and from integers in the JS interface Fixes: QTBUG-72924 Change-Id: I23d4a1120b805201c8d450edbd990aad5ad258a2 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * | | Remove warning when the notify signal has more than one argumentArno Rehn2019-01-231-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The warning was not meaningful, since nothing depends on the notify signal having only zero or one argument(s). Removing this decreases warning noise in some applications. Change-Id: Ieb716ad9ac51296a1e17899018d4e6190043b8d5 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2019-01-220-0/+0
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I5e399965c268c2cd7c5dd0828729a6fbd6d97795
| * | | Bump versionKari Oikarinen2019-01-141-1/+1
| | |/ | |/| | | | | | | Change-Id: I892ab0f1a27edf60c9d5272b47e32a2e4639197f
* | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2019-01-100-0/+0
|\ \ \ | |/ / | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ic305f3a787440ede5bafae447a36b2e5309b6ed2
| * | Bump versionKari Oikarinen2019-01-071-1/+1
| | | | | | | | | | | | Change-Id: Ie6430e1d4bb43842fc6e4c7e8d0c2ff0fefdd049
* | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-12-151-0/+20
|\ \ \ | |/ / | | | | | | Change-Id: Id336e25d2784734713791dfa3c9d021e96132304
| * | Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-12-111-0/+20
| |\ \ | | |/ | |/| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I082cae93f544eba0d9715f2692d7a7126a2afb32
| | * Merge remote-tracking branch 'origin/5.11.3' into 5.11Qt Forward Merge Bot2018-12-041-0/+20
| | |\ | | | | | | | | | | | | Change-Id: I33faf6450edbb6c0cfaf89bd052f7a5760a8cc77
| | | * Add changes file for Qt 5.11.3v5.11.35.11.3Antti Kokko2018-11-191-0/+20
| | |/ | | | | | | | | | | | | | | | | | | + faab35b4f88c634510e56adcfa6f12f0fef548bb Bump version Change-Id: I3a87f22c8808024a9c6c4ead87806b70920a5f57 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| | * Bump versionOswald Buddenhagen2018-11-081-1/+1
| | | | | | | | | | | | Change-Id: I30b6595d3e3c9c1b8a6c15fa3826f86f24ece528
* | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-12-081-0/+18
|\ \ \ | |/ / | | | | | | Change-Id: I1ed83af458389618a3499f01f4323444ce6a633c
| * | Merge remote-tracking branch 'origin/5.12.0' into 5.12Qt Forward Merge Bot2018-12-051-0/+18
| |\ \ | | | | | | | | | | | | Change-Id: I9d8a04fcac43b26645e90ecf558094fc425ff4c6
| | * | Add changes file for Qt 5.12.0v5.12.0-rc2v5.12.0-rc1v5.12.05.12.0Antti Kokko2018-11-071-0/+18
| |/ / | | | | | | | | | | | | Change-Id: I7619308282f325996ee3bd938cef81856d1968db Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
* | | Prevent crashes by fixing mapping of transport to wrapped objectsMilian Wolff2018-10-253-2/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an already-wrapped object was used by a secondary transport, the mapping was not updated. This could then lead to crashes when the transport was destroyed. [ChangeLog][General] Fix crash when wrapped objects are shared across multiple transports. Task-number: QTBUG-62388 Change-Id: I3c3b7302205e10f04695f1a202325704d90950d2 Reviewed-by: Kai Dohmen <psykai1993@googlemail.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | Fix UBSAN warning when downcasting partially destroyed objectMilian Wolff2018-10-251-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the runtime warning cought by UBSAN: src/webchannel/qwebchannel.cpp:84:96: runtime error: downcast of address 0x6030001b1570 which does not point to an object of type 'QWebChannelAbst Change-Id: I9c78f94bc97961ef69b71ecca8a9301d81feaf3a Reviewed-by: Kai Dohmen <psykai1993@googlemail.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | Bump versionOswald Buddenhagen2018-10-111-1/+1
| | | | | | | | | | | | Change-Id: If7467d4b9aac42d4b956af6bfb54898d0a6acf20
* | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-09-151-0/+24
|\ \ \ | |/ / | | | | | | Change-Id: Ibd509b061b8192c6a18cf09e846b2eefe3cd3ddd