Changeset View
Changeset View
Standalone View
Standalone View
webenginepart/src/webenginepartcookiejar.cpp
Show All 29 Lines | |||||
30 | #include <QStringList> | 30 | #include <QStringList> | ||
31 | #include <QDBusInterface> | 31 | #include <QDBusInterface> | ||
32 | #include <QDBusReply> | 32 | #include <QDBusReply> | ||
33 | #include <QDebug> | 33 | #include <QDebug> | ||
34 | #include <QWidget> | 34 | #include <QWidget> | ||
35 | #include <QDateTime> | 35 | #include <QDateTime> | ||
36 | #include <QTimeZone> | 36 | #include <QTimeZone> | ||
37 | #include <QApplication> | 37 | #include <QApplication> | ||
38 | #include <kio_version.h> | ||||
38 | 39 | | |||
39 | const QVariant WebEnginePartCookieJar::s_findCookieFields = QVariant::fromValue(QList<int>{ | 40 | const QVariant WebEnginePartCookieJar::s_findCookieFields = QVariant::fromValue(QList<int>{ | ||
40 | static_cast<int>(CookieDetails::domain), | 41 | static_cast<int>(CookieDetails::domain), | ||
41 | static_cast<int>(CookieDetails::path), | 42 | static_cast<int>(CookieDetails::path), | ||
42 | static_cast<int>(CookieDetails::name), | 43 | static_cast<int>(CookieDetails::name), | ||
43 | static_cast<int>(CookieDetails::host), | 44 | static_cast<int>(CookieDetails::host), | ||
44 | static_cast<int>(CookieDetails::value), | 45 | static_cast<int>(CookieDetails::value), | ||
45 | static_cast<int>(CookieDetails::expirationDate), | 46 | static_cast<int>(CookieDetails::expirationDate), | ||
▲ Show 20 Lines • Show All 100 Lines • ▼ Show 20 Line(s) | 134 | { | |||
146 | if (!m_cookieServer.isValid()) { | 147 | if (!m_cookieServer.isValid()) { | ||
147 | return; | 148 | return; | ||
148 | } | 149 | } | ||
149 | 150 | | |||
150 | if (cookie.expirationDate().isValid()) { | 151 | if (cookie.expirationDate().isValid()) { | ||
151 | //There's a bug in KCookieJar which causes the expiration date to be interpreted as local time | 152 | //There's a bug in KCookieJar which causes the expiration date to be interpreted as local time | ||
152 | //instead of GMT as it should. The bug is fixed in KIO 5.50 | 153 | //instead of GMT as it should. The bug is fixed in KIO 5.50 | ||
153 | #if KIO_VERSION < QT_VERSION_CHECK(5,50,0) | 154 | #if KIO_VERSION < QT_VERSION_CHECK(5,50,0) | ||
155 | QTimeZone local = QTimeZone::systemTimeZone(); | ||||
156 | int offset = local.offsetFromUtc(QDateTime::currentDateTime()); | ||||
154 | QDateTime dt = cookie.expirationDate(); | 157 | QDateTime dt = cookie.expirationDate(); | ||
155 | dt.setTimeZone(QTimeZone("GMT")); | 158 | dt.setTime(dt.time().addSecs(offset)); | ||
156 | cookie.setExpirationDate(dt); | 159 | cookie.setExpirationDate(dt); | ||
157 | #endif | 160 | #endif | ||
158 | } | 161 | } | ||
159 | QUrl url = constructUrlForCookie(cookie); | 162 | QUrl url = constructUrlForCookie(cookie); | ||
160 | if (url.isEmpty()) { | 163 | if (url.isEmpty()) { | ||
161 | return; | 164 | return; | ||
162 | } | 165 | } | ||
163 | QByteArray header("Set-Cookie: "); | 166 | QByteArray header("Set-Cookie: "); | ||
▲ Show 20 Lines • Show All 162 Lines • Show Last 20 Lines |