summaryrefslogtreecommitdiffstats
path: root/src/plugins/android/qandroidwebview.cpp
diff options
context:
space:
mode:
authorAgnieszka Jaworska <agnieszka@elmstonesystems.co.uk>2021-09-21 15:17:55 +0100
committerAgnieszka Jaworska <agnieszka@elmstonesystems.co.uk>2021-12-14 12:33:54 +0000
commit317e13cb2d97001518d7635579d49861f72708df (patch)
tree43aa771a2d79f19a4bed2be39072da435b143d83 /src/plugins/android/qandroidwebview.cpp
parentedc41a87d181c8898184a7b8f21ceb752f41893b (diff)
Add support functions to manage cookies
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 <christian.stromme@qt.io>
Diffstat (limited to 'src/plugins/android/qandroidwebview.cpp')
-rw-r--r--src/plugins/android/qandroidwebview.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/plugins/android/qandroidwebview.cpp b/src/plugins/android/qandroidwebview.cpp
index 9c7d6f4..cd4f9d8 100644
--- a/src/plugins/android/qandroidwebview.cpp
+++ b/src/plugins/android/qandroidwebview.cpp
@@ -209,6 +209,33 @@ void QAndroidWebViewPrivate::runJavaScriptPrivate(const QString &script,
callbackId);
}
+void QAndroidWebViewPrivate::setCookie(const QString &domain, const QString &name, const QString &value)
+{
+ QNativeInterface::QAndroidApplication::runOnAndroidMainThread([=]() {
+ m_viewController.callMethod<void>("setCookie",
+ "(Ljava/lang/String;Ljava/lang/String;)V",
+ static_cast<jstring>(QJniObject::fromString(domain).object()),
+ static_cast<jstring>(QJniObject::fromString(name + "=" + value).object()));
+ });
+}
+
+void QAndroidWebViewPrivate::deleteCookie(const QString &domain, const QString &name)
+{
+ QNativeInterface::QAndroidApplication::runOnAndroidMainThread([=]() {
+ m_viewController.callMethod<void>("setCookie",
+ "(Ljava/lang/String;Ljava/lang/String;)V",
+ static_cast<jstring>(QJniObject::fromString(domain).object()),
+ static_cast<jstring>(QJniObject::fromString(name + "=" + "").object()));
+ });
+}
+
+void QAndroidWebViewPrivate::deleteAllCookies()
+{
+ QNativeInterface::QAndroidApplication::runOnAndroidMainThread([=]() {
+ m_viewController.callMethod<void>("removeCookies");
+ });
+}
+
void QAndroidWebViewPrivate::setVisible(bool visible)
{
m_window->setVisible(visible);