[Qt] Remove references to PagePointer in the FrameNetworkingContext
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 16 Jan 2012 14:28:27 +0000 (14:28 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 16 Jan 2012 14:28:27 +0000 (14:28 +0000)
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

Source/WebKit2/ChangeLog
Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
Source/WebKit2/WebProcess/qt/QtNetworkAccessManager.cpp
Source/WebKit2/WebProcess/qt/QtNetworkAccessManager.h

index 7de491c..d067c73 100644 (file)
@@ -1,3 +1,16 @@
+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
index 3d0e222..42fee34 100644 (file)
@@ -1439,12 +1439,6 @@ void WebFrameLoaderClient::didChangeScrollOffset()
 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();
 }
 
index 57b953f..178a565 100644 (file)
@@ -41,25 +41,14 @@ QtNetworkAccessManager::QtNetworkAccessManager(WebProcess* webProcess)
 {
 }
 
-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)
index 8d9eb1d..1af6fc2 100644 (file)
@@ -38,15 +38,15 @@ class WebProcess;
 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;