diff options
Diffstat (limited to 'Source/WebCore/platform/network/qt/QtNAMThreadSafeProxy.cpp')
-rw-r--r-- | Source/WebCore/platform/network/qt/QtNAMThreadSafeProxy.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Source/WebCore/platform/network/qt/QtNAMThreadSafeProxy.cpp b/Source/WebCore/platform/network/qt/QtNAMThreadSafeProxy.cpp index e0d6e69..a98b4f4 100644 --- a/Source/WebCore/platform/network/qt/QtNAMThreadSafeProxy.cpp +++ b/Source/WebCore/platform/network/qt/QtNAMThreadSafeProxy.cpp @@ -35,6 +35,18 @@ QtNAMThreadSafeProxy::QtNAMThreadSafeProxy(QNetworkAccessManager *manager) connect(this, SIGNAL(localSetCookiesRequested(const QUrl&, const QString&)), SLOT(localSetCookies(const QUrl&, const QString&))); connect(this, SIGNAL(localCookiesForUrlRequested(const QUrl&, bool*, QList<QNetworkCookie>*)), SLOT(localCookiesForUrl(const QUrl&, bool*, QList<QNetworkCookie>*))); connect(this, SIGNAL(localWillLoadFromCacheRequested(const QUrl&, bool*, bool*)), SLOT(localWillLoadFromCache(const QUrl&, bool*, bool*))); + connect(this, SIGNAL(hasCookieJarRequested(bool*, bool*)), SLOT(hasCookieJar(bool*, bool*))); +} + +bool QtNAMThreadSafeProxy::hasCookieJar() +{ + bool result; + bool done = false; + emit hasCookieJarRequested(&done, &result); + QMutexLocker lock(&m_resultMutex); + while (!done) + m_resultWaitCondition.wait(&m_resultMutex); + return result; } void QtNAMThreadSafeProxy::localSetCookies(const QUrl& url, const QString& cookies) @@ -69,6 +81,14 @@ void QtNAMThreadSafeProxy::localWillLoadFromCache(const QUrl& url, bool* done, b m_resultWaitCondition.wakeAll(); } +void QtNAMThreadSafeProxy::hasCookieJar(bool* done, bool* result) +{ + QMutexLocker lock(&m_resultMutex); + *result = !!m_manager->cookieJar(); + *done = true; + m_resultWaitCondition.wakeAll(); +} + QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy(QNetworkAccessManager *manager) : m_manager(manager) , m_reply(0) |