[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-10851-g50815da
jocelyn.turcotte at nokia.com
jocelyn.turcotte at nokia.com
Wed Dec 22 18:21:16 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 36e9e69c92fd31f38f30ddac2392230b592997e2
Author: jocelyn.turcotte at nokia.com <jocelyn.turcotte at nokia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Dec 10 03:36:23 2010 +0000
2010-12-09 Jocelyn Turcotte <jocelyn.turcotte at nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt][WK2] Use a single QNetworkAccessManager per web process.
https://bugs.webkit.org/show_bug.cgi?id=50757
This allows a better management of network resources and the use
of global cookie jar and disk cache across all frames.
* WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
(WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
(WebCore::WebFrameNetworkingContext::networkAccessManager):
* WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::shutdownIfPossible):
* WebProcess/WebProcess.h:
(WebKit::WebProcess::networkAccessManager):
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::platformShutdown):
* WebProcess/qt/WebProcessQt.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::platformShutdown):
* WebProcess/win/WebProcessWin.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::platformShutdown):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73677 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 934a56a..8e35c50 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,33 @@
+2010-12-09 Jocelyn Turcotte <jocelyn.turcotte at nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Use a single QNetworkAccessManager per web process.
+ https://bugs.webkit.org/show_bug.cgi?id=50757
+
+ This allows a better management of network resources and the use
+ of global cookie jar and disk cache across all frames.
+
+ * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
+ (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
+ (WebCore::WebFrameNetworkingContext::networkAccessManager):
+ * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ (WebKit::WebProcess::initializeWebProcess):
+ (WebKit::WebProcess::shutdownIfPossible):
+ * WebProcess/WebProcess.h:
+ (WebKit::WebProcess::networkAccessManager):
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ (WebKit::WebProcess::platformShutdown):
+ * WebProcess/qt/WebProcessQt.cpp:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ (WebKit::WebProcess::platformShutdown):
+ * WebProcess/win/WebProcessWin.cpp:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ (WebKit::WebProcess::platformShutdown):
+
2010-12-09 Mark Rowe <mrowe at apple.com>
Fix the 32-bit build.
diff --git a/WebKit2/WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp b/WebKit2/WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp
index 5fd8bbc..55552e1 100644
--- a/WebKit2/WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp
+++ b/WebKit2/WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp
@@ -21,6 +21,7 @@
#include "WebFrameNetworkingContext.h"
+#include "WebProcess.h"
#include <QNetworkAccessManager>
#include <QObject>
@@ -29,7 +30,6 @@ namespace WebCore {
WebFrameNetworkingContext::WebFrameNetworkingContext(Frame* frame)
: FrameNetworkingContext(frame)
, m_originatingObject(0)
- , m_networkAccessManager(new QNetworkAccessManager)
{
}
@@ -45,7 +45,7 @@ QObject* WebFrameNetworkingContext::originatingObject() const
QNetworkAccessManager* WebFrameNetworkingContext::networkAccessManager() const
{
- return m_networkAccessManager;
+ return WebKit::WebProcess::shared().networkAccessManager();
}
}
diff --git a/WebKit2/WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h b/WebKit2/WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h
index 3e94319..9c87785 100644
--- a/WebKit2/WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h
+++ b/WebKit2/WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h
@@ -35,7 +35,6 @@ private:
virtual QNetworkAccessManager* networkAccessManager() const;
QObject* m_originatingObject;
- QNetworkAccessManager* m_networkAccessManager;
};
}
diff --git a/WebKit2/WebProcess/WebProcess.cpp b/WebKit2/WebProcess/WebProcess.cpp
index 5047086..678119e 100644
--- a/WebKit2/WebProcess/WebProcess.cpp
+++ b/WebKit2/WebProcess/WebProcess.cpp
@@ -101,6 +101,9 @@ WebProcess::WebProcess()
#if USE(ACCELERATED_COMPOSITING) && PLATFORM(MAC)
, m_compositingRenderServerPort(MACH_PORT_NULL)
#endif
+#if PLATFORM(QT)
+ , m_networkAccessManager(0)
+#endif
{
#if USE(PLATFORM_STRATEGIES)
// Initialize our platform strategies.
@@ -178,6 +181,8 @@ void WebProcess::initializeWebProcess(const WebProcessCreationParameters& parame
#if PLATFORM(WIN)
setShouldPaintNativeControls(parameters.shouldPaintNativeControls);
#endif
+
+ platformInitializeWebProcess(parameters, arguments);
}
void WebProcess::setShouldTrackVisitedLinks(bool shouldTrackVisitedLinks)
@@ -463,6 +468,8 @@ void WebProcess::shutdownIfPossible()
m_connection->invalidate();
m_connection = nullptr;
+ platformShutdown();
+
m_runLoop->stop();
}
diff --git a/WebKit2/WebProcess/WebProcess.h b/WebKit2/WebProcess/WebProcess.h
index 4cba630..ecc9da0 100644
--- a/WebKit2/WebProcess/WebProcess.h
+++ b/WebKit2/WebProcess/WebProcess.h
@@ -41,6 +41,10 @@
#include "MachPort.h"
#endif
+#if PLATFORM(QT)
+class QNetworkAccessManager;
+#endif
+
namespace WebCore {
class IntSize;
class PageGroup;
@@ -88,6 +92,10 @@ public:
WebPageGroupProxy* webPageGroup(const WebPageGroupData&);
static WebCore::PageGroup* sharedPageGroup();
+#if PLATFORM(QT)
+ QNetworkAccessManager* networkAccessManager() { return m_networkAccessManager; }
+#endif
+
// Will shut down the web process if there are no live pages or downloads.
void shutdownIfPossible();
@@ -97,6 +105,8 @@ private:
WebProcess();
void initializeWebProcess(const WebProcessCreationParameters&, CoreIPC::ArgumentDecoder*);
+ void platformInitializeWebProcess(const WebProcessCreationParameters&, CoreIPC::ArgumentDecoder*);
+ void platformShutdown();
void setShouldTrackVisitedLinks(bool);
void registerURLSchemeAsEmptyDocument(const String&);
void registerURLSchemeAsSecure(const String&) const;
@@ -148,6 +158,10 @@ private:
mach_port_t m_compositingRenderServerPort;
#endif
+#if PLATFORM(QT)
+ QNetworkAccessManager* m_networkAccessManager;
+#endif
+
HashMap<uint64_t, WebFrame*> m_frameMap;
HashSet<String, CaseFoldingHash> m_mimeTypesWithCustomRepresentations;
diff --git a/WebKit2/WebProcess/mac/WebProcessMac.mm b/WebKit2/WebProcess/mac/WebProcessMac.mm
index 8aeccbd..0cabeb2 100644
--- a/WebKit2/WebProcess/mac/WebProcessMac.mm
+++ b/WebKit2/WebProcess/mac/WebProcessMac.mm
@@ -101,4 +101,12 @@ void WebProcess::platformClearResourceCaches()
[[NSURLCache sharedURLCache] removeAllCachedResponses];
}
+void WebProcess::platformInitializeWebProcess(const WebProcessCreationParameters&, CoreIPC::ArgumentDecoder*)
+{
+}
+
+void WebProcess::platformShutdown()
+{
+}
+
} // namespace WebKit
diff --git a/WebKit2/WebProcess/qt/WebProcessQt.cpp b/WebKit2/WebProcess/qt/WebProcessQt.cpp
index 292eaa2..81fb935 100644
--- a/WebKit2/WebProcess/qt/WebProcessQt.cpp
+++ b/WebKit2/WebProcess/qt/WebProcessQt.cpp
@@ -25,6 +25,9 @@
#include "WebProcess.h"
+#include "WebProcessCreationParameters.h"
+#include <QNetworkAccessManager>
+
namespace WebKit {
void WebProcess::platformSetCacheModel(CacheModel)
@@ -36,4 +39,15 @@ void WebProcess::platformClearResourceCaches()
{
}
+void WebProcess::platformInitializeWebProcess(const WebProcessCreationParameters& parameters, CoreIPC::ArgumentDecoder* arguments)
+{
+ m_networkAccessManager = new QNetworkAccessManager;
+}
+
+void WebProcess::platformShutdown()
+{
+ delete m_networkAccessManager;
+ m_networkAccessManager = 0;
+}
+
} // namespace WebKit
diff --git a/WebKit2/WebProcess/win/WebProcessWin.cpp b/WebKit2/WebProcess/win/WebProcessWin.cpp
index 7c82b0e..e3ac8d4 100644
--- a/WebKit2/WebProcess/win/WebProcessWin.cpp
+++ b/WebKit2/WebProcess/win/WebProcessWin.cpp
@@ -102,4 +102,12 @@ void WebProcess::platformClearResourceCaches()
#endif
}
+void WebProcess::platformInitializeWebProcess(const WebProcessCreationParameters&, CoreIPC::ArgumentDecoder*)
+{
+}
+
+void WebProcess::platformShutdown()
+{
+}
+
} // namespace WebKit
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list