diff options
author | Agnieszka Jaworska <agnieszka@elmstonesystems.co.uk> | 2021-09-21 15:17:55 +0100 |
---|---|---|
committer | Agnieszka Jaworska <agnieszka@elmstonesystems.co.uk> | 2021-12-14 12:33:54 +0000 |
commit | 317e13cb2d97001518d7635579d49861f72708df (patch) | |
tree | 43aa771a2d79f19a4bed2be39072da435b143d83 /src/plugins/android/qandroidwebview.cpp | |
parent | edc41a87d181c8898184a7b8f21ceb752f41893b (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.cpp | 27 |
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); |