| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
File is badly formated, and clang-format sanity
complains a lot on commits. Fix it.
Make callbacks in separate lines so after formatting it
looks better.
Pick-to: 6.10
Change-Id: If884af0fbdf4e60155862a6ea00091d5fa63ccec
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Set the location which should be writable as user data folder.
Fixes: QTBUG-138555
Pick-to: 6.10
Change-Id: Icaef9f732cd2d7c0d5b917dfefdf78347198d65c
Reviewed-by: Michael Brüning <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Skip percent encodig in case of setHtml call with baseUrl
with non data scheme. See for reference:
https://developer.android.com/reference/android/webkit/WebView#
loadDataWithBaseURL(java.lang.String,%20java.lang.String,
%20java.lang.String,%20java.lang.String,%20java.lang.String)
Add test case to cover the issue, note this skips the
webenigne backend as it requires qmlengine to function.
This will be cleaned up in follow up patches.
Note the base url setting is not supported on "webview2".
Fixes: QTBUG-136082
Fixes: QTBUG-134723
Pick-to: 6.10 6.9 6.8
Change-Id: I6891ec9271fcf3ee78048a6b040d39b818087fa4
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Do not rely on compile time flags, as we can run the test
with backend selected during runtime.
Introduce WebViewFactory to hide the fact that webview
tests uses quick apis. This should be all clean up when
c++ api are introduced.
Pick-to: 6.10
Change-Id: Ib630e828e6277061b84c1fe528c2d497ba4d0b4e
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid creating extra window when initializing webview2.
Simplify initialization logic and postpone initialization
to take place after construction of plugin instance.
Pick-to: 6.10
Change-Id: Ia908e4f31ce27392d4b256ceb1191f9e7f01e5bd
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
Reviewed-by: Morteza Jamshidi <[email protected]>
Reviewed-by: Kaloyan Chehlarski <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
Calling function inside assert statements means those function
calls are going away (optimized out) when compiled in release mode,
making some functionality broken.
Pick-to: 6.10
Change-Id: If2d97c36a771bc89a0dcbbef9755122972a96871
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
Reviewed-by: Morteza Jamshidi <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Make configuration more verbose. Advertise
also other backends.
Pick-to: 6.10
Change-Id: I6bfac38d1e1f88c7850ced9410477ad0de071055
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Without plugins enabled you can not see pdfs in webenigne,
which works fine with webview on mac.
Enable it also on webenigne backend.
Pick-to: 6.10
Change-Id: I2c252a6eb28d6685a1c4f8c60f0e1c9d9f83e108
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Qt webview tests expect the api calls to be synchronous, but some of
webview2 api calls are async. This changes their behavior to be
synchronous.
other fixes:
fixed stopEnabledAfterLoadStarted test to rely on webview
being async.
fixed some null pointer issues
changed m_initData to class member
Pick-to: 6.10
Task-number: QTBUG-75747
Change-Id: I979f1635cf049a90be3c8b134f61f5d6f594d971
Reviewed-by: Christian Strømme <[email protected]>
Reviewed-by: Michal Klocek <[email protected]>
|
|
|
|
|
|
|
|
| |
with this plugin qt webview uses webview2 in the backend for windows
Task-number: QTBUG-75747
Change-Id: Iab91b95386be6b32c7acfb97f029ed49a6560745
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the new window container classes we no longer need our own
implementation here in QtWebView, the new one is also much more
powerful with better integration into the Qt scene(s).
Also took the opportunity to get rid of the over complicated
interfaces.
Note: While wasm isn't officially supported, some support code was left
to make sure it functions to a similar degree as before. Once wasm has
better support for using the Window container the remaining code can be
removed.
Change-Id: If4af9a546bc230aa9fa69ba3fb6dfb8fcf1f0be6
Reviewed-by: Morten Johan Sørvig <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In practice this have been the case for anyone not installing
QtWebEngine and the platform issue that we had, and that required
special initialization set-up, hasn't been an issue and that code has
been removed from 6.5 and newer
(see: 5f15afaaf07586006b1731cadcb061fa23c71aef). With this change we'll
use the native back-end by default on macOS.
[ChangeLog][macOS] macOS will now use the native WebView backend by
default, meaning QtWebEngine is no longer required on macOS.
Change-Id: Iebcefddf93432c5184d495d286bdead679e423de
Reviewed-by: Tor Arne Vestbø <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All the backends implement url(), however it is never
used. The loadingChanged signal delivers
url which is used later by qquickwebview.
Make it less confusing and remove unused code paths.
Note actually loadingChanged should be required interface.
Change-Id: If410845a39b09c2ec4e8ffb177d334d807561860
Reviewed-by: Christian Strømme <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As referenced in android docs:
https://developer.android.com/reference/android/webkit/WebView
loaded HTML data has to be base64 encoded or use
url encoding.
To keep things aligned with webengine backend use
percent encoding, however "base64" would also give
correct result (unfortunately webengine assumes
percent encoding).
Fixes: QTBUG-129303
Pick-to: 6.8
Change-Id: Ided7ef12324d5b4854240700e5de7183069ad34a
Reviewed-by: Christian Strømme <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix handling of loadingChanged as this should come from
WebViewClient observer. This fixes flaky tests,
as they assumed 2 signals coming, but in reality
3 were emitted. In case 3rd did not come in time
test would pass.
Adjust the title test to match how it works on android.
Fix load result logic, as error assumes no load success signal
emitted and has to be one of
* LoadStartedStatus,
* LoadStoppedStatus,
* LoadSucceededStatus,
* LoadFailedStatus
Fixes: QTBUG-102712
Fixes: QTBUG-108752
Pick-to: 6.8
Change-Id: Ie3c729fa854ad1e6270a8276c1f2428af6c2614e
Reviewed-by: Christian Strømme <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Deals with:
* src/plugins/android/qandroidwebview_p.h:26:1: error: no template named 'JObject';
did you mean 'TestQTNamespace::QtJniTypes::JObject'?
* src/plugins/android/qandroidwebview.cpp:313:1: error: reference to 'QtJniMethods' is ambiguous
Pick-to: 6.8
Change-Id: I6c90b4c93ffac240708b3bdc6e4b22a3a3b41cfa
Reviewed-by: Christian Strømme <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To not have to write NSArray and NSDictionary conversion from scratch
we round-trip via JSON. One quirk of this approach is that NSDate is
supported as a standalone result object, but not nested in an array
or dictionary, as NSJSONSerialization doesn't support that. But at
least this brings us some of the way for array and dictionary support.
Fixes: QTBUG-70166
Pick-to: 6.8 6.7 6.5
Change-Id: Ied8a261e964c5adbadb503efb0bb7812ef911b83
Reviewed-by: Christian Strømme <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The mechanism which initializes Qt Web Engine via the plugin loader
does not work on some graphics drivers on Windows, which do not
support initializing graphics in DllMain(). Since Qt Web Engine is
always the backend on Windows, this patch makes Qt Web View depend
on it directly and calls initialize from QtWebView::initialize()
instead on that platform.
[ChangeLog][Windows] Fixed a freeze on startup on Windows. As part
of the solution for this, the Qt Web View library now depends
directly on Qt Web Engine on Windows, instead of indirectly via
the plugin library.
Fixes: QTBUG-117882
Change-Id: Ia1b3e54145477f645bbb97856bdbbb68b58d2785
Reviewed-by: Christian Strømme <[email protected]>
|
|
|
|
|
| |
Change-Id: Iacea0f1b0376e04a6d43f453f7103e0ee624b43c
Reviewed-by: Assam Boudjelthia <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Declare used types, use modern variadic template APIs, and native
method declarations to get rid of all hand-crafted signature
strings.
In the native methods, cast the id (that was previously created
via reinterpret_cast from 'this', pointing to the private) back to
the private pointer directly, and only maintain a set of privates
to make sure that the id we get is still representing an alive
private.
Remove some dead (commented) code, and simplify JNI_OnLoad.
Change-Id: Ie8711e5f072edde5781b33941aee4e37b8213ea2
Reviewed-by: Assam Boudjelthia <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This prevents threading issues when calling object functions in a lambda
run on the android main thread, when the QJniObject was instantiated on
the Qt main thread.
As a drive-by, store the id as a 64bit value on the C++ side. jlong is
always a 64bit type, even on 32bit Android systems, so we can't use
quintptr without truncating data.
Change-Id: I96d983eb9b2e99338768d30f7000ec9e75d3fea6
Reviewed-by: Christian Strømme <[email protected]>
Reviewed-by: Qt CI Bot <[email protected]>
Reviewed-by: Assam Boudjelthia <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
find_library(FWWebKit WebKit) stores the absolute path to the
framework of one of the sysroots, into FWWebKit.
When building with CMake 3.27 targeting multi-arch iOS, this results
in the following flag being passed to the compiler, regardless of
the architecture/sysroot:
-F/Applications/Xcode14.app/Contents/Developer/Platforms/
iPhoneOS.platform/Developer/SDKs/iPhoneOS16.2.sdk/
System/Library/Frameworks
This causes warnings when building qdarwinwebview.mm regarding
unsupported webkit features during the x86_64 simulator build. When
combined with -Werror, it fails the build.
Use qt_internal_find_apple_system_framework() instead of
find_library(), to ensure we pass '-framework WebKit' instead of the
absolute path to the framework. This avoids warnings and is
cross-sysroot compatible.
As a drive-by, also fix the lookup of the Foundation framework. It's
called Foundation, not FoundationKit.
Pick-to: 6.2 6.5 6.6
Task-number: QTBUG-118138
Change-Id: I4379f14d65a37470f08ae8e7f46e00b886eadaf1
Reviewed-by: Qt CI Bot <[email protected]>
Reviewed-by: Alexey Edelev <[email protected]>
|
|
|
|
|
|
|
|
|
| |
The operator jobject() should be removed from declared QtJniTypes in
qtbase, as it's dangerous. Prepare for that by calling object(), which
returns the wrapped jobject as well.
Change-Id: I73c52a94f604568f0ba13a4fa32a0856c6cfd1fd
Reviewed-by: Ivan Solovev <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All these TUs relied on transitive includes of qpointer.h, maybe to a
large extent via qevent.h, though, given that qevent.h is more or less
the only public QtBase header that includes qpointer.h, something else
seems to be at play here.
Said qevent.h actually needs QPointer in-name-only, so a forward
declaration would suffice. Prepare for qevent.h dropping the include.
The algorithm I used was:
If the TU mentions 'passiveGrabbers', the name of the QEvent function
that returns QPointers, and the TU doesn't have qpointer.h included
explicitly, include it. That may produce False Positives, but better
safe than sorry. Otherwise, in src/, add an include to all source and
header files which mention QPointer. Exception: if foo.h of a foo.cpp
already includes it, don't include again.
Task-number: QTBUG-117670
Change-Id: I4f4f738e6dc46aec3e5772036cf2c94e6141c535
Reviewed-by: Fabian Kosmale <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When calling the (old and outdated) variadic argument overloads of
callMethod (as opposed to the variadic template overloads), then we
cannot pass complex types.
That types declared via the Q_DECLARE_JNI_CLASS macro are trivial was an
implementation detail that we shouldn't rely on as long as those types
are not part of the public API. Cast explicitly to jobject so that we
can make those types proper QJniObjects.
Updating this code to use the new variadic template overloads is for a
follow-up commit.
Change-Id: I8bb2706f2cbe198f7fc4091a1f881c1198de4491
Reviewed-by: Christian Strømme <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Use isEqualToString to actually check the content of the NS strings.
Task-number: QTBUG-114495
Pick-to: 6.6 6.5 6.5.2
Change-Id: Iadffee7e9b47286f347731639f094ae5cb748926
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Use KVO the same way we do for the progress
Task-number: QTBUG-114495
Pick-to: 6.6 6.5 6.5.2
Change-Id: I8fd9f6adaa1fba052d25e1480836dca61558351c
Reviewed-by: Christian Strømme <[email protected]>
|
|
|
|
|
|
|
|
| |
QT_MAC_WANTS_LAYER is on by default on macOS now.
Pick-to: 6.6 6.5
Change-Id: I1788e01056a572aaa73293a596dad4068f3f3bfd
Reviewed-by: Tor Arne Vestbø <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add QWebView support for WebAssembly platform.
The underlying implementation is using <iframe> DOM element
and is limited by it's API, hence not all features of QWebView can
be implemented on wasm platform.
The QWebView's behavior on WebAssembly platform may also depend on
Cross-Origin policy settings.
Fixes: QTBUG-75183
Change-Id: I41bd18d4d66c766858a8a7c71107a21c07b213db
Reviewed-by: Mikołaj Boc <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QtAndroidWebViewController constructor blocks a qGuiThread until
the WebView is created and configured in UI thread. Such an
implementation can easily lead to the deadlock (For example in the case
of handling InputConnection - it is exactly the opposite. UI thread is
blocked and waits for handling event by qGuiThread). That's why we need
to lock AndroidDeadlockProtector before blocking qGuiThread.
This implementation resolves potential deadlock using
AndroidDeadlockProtector. If protector cannot by locked, qGuiThread will
handle events to make it possible.
Fixes: QTBUG-82810
Pick-to: 6.5 6.4 6.2 5.15
Change-Id: I71aaea9ceb7c41b818ed533ce41c70b5c0e8d7de
Reviewed-by: Michal Klocek <[email protected]>
|
|
|
|
|
|
|
| |
The warnings became fatal.
Change-Id: If58580c5554115e55656f5d97a44b48a926d724a
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds API and implementation for changing the settings of the WebView.
[ChangeLog][General] Added settings API to make it possible to
modify some of the WebView's built-in functionality.
Task-number: QTBUG-97487
Task-number: QTBUG-98549
Change-Id: Ia121175ec08c96f56fd2148b02dccbc963fff244
Reviewed-by: Qt CI Bot <[email protected]>
Reviewed-by: Michal Klocek <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using the WebView with QQuickWidget is not really a use-case the
WebView is well suited for, due to the native WebView being an overlay,
however it should not crash or trigger an assert, so this change tries
to avoid some of the caveats when mixing with QQuickWidget. For example,
we cannot under any circumstances call winId() before the window the
QQuickWidget lives under, is backed by a platform window. The native
WebView is therefore not added before the platform window is created.
Pick-to: 6.4 6.2 5.15
Fixes: QTBUG-46084
Change-Id: I815d37cdd0328b3a258ef60294b5ea282f41cfc6
Reviewed-by: Christian Strømme <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We've been requiring C++17 since Qt 6.0, and our qAsConst use finally
starts to bother us (QTBUG-99313), so time to port away from it
now.
Since qAsConst has exactly the same semantics as std::as_const (down
to rvalue treatment, constexpr'ness and noexcept'ness), there's really
nothing more to it than a global search-and-replace.
Task-number: QTBUG-99313
Change-Id: Ib5e494e50a24a7e9af542cc362b15ca1f167106d
Reviewed-by: Ivan Solovev <[email protected]>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-105718
Change-Id: I824b873d98c922af8a4a290dcd797a2135d1147f
Reviewed-by: Qt CI Bot <[email protected]>
Reviewed-by: Jörg Bornemann <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CMakeLists.txt and .cmake files of significant size
(more than 2 lines according to our check in tst_license.pl)
now have the copyright and license header.
Existing copyright statements remain intact
Task-number: QTBUG-88621
Change-Id: Iff8b50e402d070ba5fa2562fef50b7d7d3743cb4
Reviewed-by: Qt CI Bot <[email protected]>
Reviewed-by: Jörg Bornemann <[email protected]>
|
|
|
|
|
|
| |
Pick-to: 6.4 6.3
Change-Id: I1832215bb1c0904aa21b511db79803f2d6570324
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.
Pick-to: 6.4
Task-number: QTBUG-67283
Change-Id: I0f719de9e6e1fd4a7c50a247831e5a768e08df14
Reviewed-by: Jörg Bornemann <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
The cookie API that was added in 317e13cb2d97 missed the registration
and implementation for the native java functions needed for notifying
when a cookie got added/removed.
Fixes: QTBUG-102801
Pick-to: 6.3
Change-Id: I7594f75abba17b6ff1843d5349af085f90aae9b1
Reviewed-by: Assam Boudjelthia <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove usages of outdated LGPL3 header that references
LICENSES.LGPLv3 instead of LICENSES.LGPL3. Use BSD instead in the
examples, updated LGPL otherwise.
Also remove the now unreferenced LICENSE.LGPLv3, LICENSE.GPLv2
files, and instead the newly referenced files instead.
Pick-to: 6.2 6.3
Change-Id: I01e1325ee2c7a147e095c08b370b88ded9a8daff
Reviewed-by: Jani Heikkinen <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Setting and deleting cookies, changes for android, darwin and webengine plugins
Pick-to: 6.3
Task-number: QTBUG-96204
Change-Id: I4f79d34384e490b70a1e9f89196dd113733d5fe1
Reviewed-by: Christian Strømme <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Added "Using The Module" section that documents how to include the
module in CMake.
- Removed version numbers from documentation.
- Added CMake import section in the QtWebView namespace documentation.
- Removed references to UWP.
Pick-to: 6.2 6.2.0
Fixes: QTBUG-94935
Change-Id: If5c1f63179506b03653fcbbcbb3bdce5951cce3a
Reviewed-by: Michal Klocek <[email protected]>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-95170
Pick-to: 6.2
Change-Id: Id3a2ece3a3d2fa2eadb78fa5dc558466654c42a6
Reviewed-by: Kai Koehne <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
Move quick sources to sepatrate qml module so new
qml registration system can be used. This drops
dependency of QWebView module on Quick.
Pick-to: 6.2
Change-Id: I10adb5e898ae2ffe4a46f37d759983047ea89483
Reviewed-by: Qt CI Bot <[email protected]>
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
|
|
|
|
|
|
|
| |
Pick-to: 6.2
Change-Id: I4cd3c9384014d698f160fe57d81c7d9d8aa83a4c
Reviewed-by: Qt CI Bot <[email protected]>
Reviewed-by: Fabian Kosmale <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Depend on CorePrivate
Pick-to: 6.2
Change-Id: I078fee4b95907a8ad17d918244b56a6969a4dd0e
Reviewed-by: Fabian Kosmale <[email protected]>
Reviewed-by: Qt CI Bot <[email protected]>
|
|
|
|
|
|
|
| |
Change-Id: I376ba7f2b32afb5e668e92be7a38a59164ec956b
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
(cherry picked from commit e81774fc6bbf39ba9e186a1220d1f57dcdb51ad2)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
|
|
|
|
|
|
|
| |
Change-Id: I72f893a07c9d48e0b1db9f0c9422710020038bcd
Reviewed-by: Jani Heikkinen <[email protected]>
(cherry picked from commit e6e02a173f147176d42fa685cde62558cd7a4d1c)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
|
|
|
|
|
|
| |
Pick-to: 6.2
Change-Id: I04c6f3f6bdfadcddac6d79440d6e292241bc50cd
Reviewed-by: Christian Strømme <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Update dependencies to latest shas. Fix compilation issues.
Task-number: QTBUG-88620
Change-Id: I0c82431e6ffd142302cce12e6ee74d2139e1e42f
Reviewed-by: Christian Strømme <[email protected]>
Reviewed-by: Joerg Bornemann <[email protected]>
|