https://bugs.webkit.org/show_bug.cgi?id=76342
Patch by Alexander Færøy <alexander.faeroy@nokia.com> on 2012-01-16
Reviewed by Simon Hausmann.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createNetworkingContext):
* WebProcess/qt/QtNetworkAccessManager.cpp:
(WebKit::QtNetworkAccessManager::obtainOriginatingWebPage):
* WebProcess/qt/QtNetworkAccessManager.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@105062
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2012-01-16 Alexander Færøy <alexander.faeroy@nokia.com>
+
+ [Qt] Remove references to PagePointer in the FrameNetworkingContext
+ https://bugs.webkit.org/show_bug.cgi?id=76342
+
+ Reviewed by Simon Hausmann.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createNetworkingContext):
+ * WebProcess/qt/QtNetworkAccessManager.cpp:
+ (WebKit::QtNetworkAccessManager::obtainOriginatingWebPage):
+ * WebProcess/qt/QtNetworkAccessManager.h:
+
2012-01-14 Dan Bernstein <mitz@apple.com>
<rdar://problem/10696295> Crash in WebProcess at com.apple.CFNetwork: URLCredentialStorage::CreateCurrentPersistentCredentials + 298
PassRefPtr<FrameNetworkingContext> WebFrameLoaderClient::createNetworkingContext()
{
RefPtr<WebFrameNetworkingContext> context = WebFrameNetworkingContext::create(m_frame);
-#if PLATFORM(QT)
- // We encapsulate the WebPage pointer as a property of the originating QObject.
- QObject* originatingObject = context->originatingObject();
- ASSERT(originatingObject);
- originatingObject->setProperty("PagePointer", QVariant::fromValue(static_cast<void*>(m_frame->page())));
-#endif
return context.release();
}
{
}
-QtNetworkAccessManager::QtNetworkAccessManager(QObject* parent)
- : QNetworkAccessManager(parent)
- , m_webProcess(0)
-{
-}
-
WebPage* QtNetworkAccessManager::obtainOriginatingWebPage(const QNetworkRequest& request)
{
QObject* originatingObject = request.originatingObject();
if (!originatingObject)
return 0;
- QVariant pagePtr = originatingObject->property("PagePointer");
- if (!pagePtr.isValid() || !pagePtr.canConvert<void*>())
- return 0;
-
- WebPage* webPage = static_cast<WebPage*>(pagePtr.value<void*>());
- Q_ASSERT(webPage);
- return webPage;
+ qulonglong pageID = originatingObject->property("pageID").toULongLong();
+ return m_webProcess->webPage(pageID);
}
QNetworkReply* QtNetworkAccessManager::createRequest(Operation operation, const QNetworkRequest& request, QIODevice* outData)
class QtNetworkAccessManager : public QNetworkAccessManager {
Q_OBJECT
public:
- QtNetworkAccessManager(QObject* parent);
QtNetworkAccessManager(WebProcess*);
void registerApplicationScheme(const WebPage*, const QString& scheme);
protected:
virtual QNetworkReply* createRequest(Operation, const QNetworkRequest&, QIODevice* outgoingData = 0) OVERRIDE;
- static WebPage* obtainOriginatingWebPage(const QNetworkRequest&);
private:
+ WebPage* obtainOriginatingWebPage(const QNetworkRequest&);
+
QMultiHash<const WebPage*, QString> m_applicationSchemes;
WebProcess* m_webProcess;