[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

paroga at webkit.org paroga at webkit.org
Wed Dec 22 13:38:22 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit b655549c6218a1ddd9048acec93053ca41687530
Author: paroga at webkit.org <paroga at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Sep 22 07:37:18 2010 +0000

    2010-09-22  Patrick Gansterer  <paroga at webkit.org>
    
            Reviewed by Adam Roben.
    
            [WIN] Add internetHandle to WebCoreSynchronousLoader.
            https://bugs.webkit.org/show_bug.cgi?id=46185
    
            For loading content via network the WebCoreSynchronousLoader needs its own (synchronous) internetHandle.
            This also adds asynchronousInternetHandle() to create a static asynchronous internetHandle.
    
            * platform/network/win/ResourceHandleWin.cpp:
            (WebCore::createInternetHandle):
            (WebCore::asynchronousInternetHandle):
            (WebCore::WebCoreSynchronousLoader::internetHandle):
            (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Create synchronous internetHandle.
            (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): Delete synchronous internetHandle.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68020 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index fda5b1c..45322c4 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,20 @@
+2010-09-22  Patrick Gansterer  <paroga at webkit.org>
+
+        Reviewed by Adam Roben.
+
+        [WIN] Add internetHandle to WebCoreSynchronousLoader.
+        https://bugs.webkit.org/show_bug.cgi?id=46185
+
+        For loading content via network the WebCoreSynchronousLoader needs its own (synchronous) internetHandle.
+        This also adds asynchronousInternetHandle() to create a static asynchronous internetHandle.
+
+        * platform/network/win/ResourceHandleWin.cpp:
+        (WebCore::createInternetHandle):
+        (WebCore::asynchronousInternetHandle):
+        (WebCore::WebCoreSynchronousLoader::internetHandle):
+        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Create synchronous internetHandle.
+        (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): Delete synchronous internetHandle.
+
 2010-09-22  Kwang Yul Seo  <skyul at company100.net>
 
         Reviewed by Chris Fleizach.
diff --git a/WebCore/platform/network/win/ResourceHandleWin.cpp b/WebCore/platform/network/win/ResourceHandleWin.cpp
index 67c54bc..8f102dd 100644
--- a/WebCore/platform/network/win/ResourceHandleWin.cpp
+++ b/WebCore/platform/network/win/ResourceHandleWin.cpp
@@ -65,6 +65,23 @@ static const ResourceHandleEventHandler messageHandlers[] = {
     &ResourceHandle::onRequestComplete
 };
 
+static inline HINTERNET createInternetHandle(const String& userAgent, bool asynchronous)
+{
+    String userAgentString = userAgent;
+    HINTERNET internetHandle = InternetOpenW(userAgentString.charactersWithNullTermination(), INTERNET_OPEN_TYPE_PRECONFIG, 0, 0, asynchronous ? INTERNET_FLAG_ASYNC : 0);
+
+    if (asynchronous)
+        InternetSetStatusCallback(internetHandle, &ResourceHandle::internetStatusCallback);
+
+    return internetHandle;
+}
+
+static HINTERNET asynchronousInternetHandle(const String& userAgent)
+{
+    static HINTERNET internetHandle = createInternetHandle(userAgent, true);
+    return internetHandle;
+}
+
 static String queryHTTPHeader(HINTERNET requestHandle, DWORD infoLevel)
 {
     DWORD bufferSize = 0;
@@ -142,6 +159,9 @@ static void initializeOffScreenResourceHandleWindow()
 class WebCoreSynchronousLoader : public ResourceHandleClient, public Noncopyable {
 public:
     WebCoreSynchronousLoader(ResourceError&, ResourceResponse&, Vector<char>&, const String& userAgent);
+    ~WebCoreSynchronousLoader();
+
+    HINTERNET internetHandle() const { return m_internetHandle; }
 
     virtual void didReceiveResponse(ResourceHandle*, const ResourceResponse&);
     virtual void didReceiveData(ResourceHandle*, const char*, int, int lengthReceived);
@@ -152,13 +172,20 @@ private:
     ResourceError& m_error;
     ResourceResponse& m_response;
     Vector<char>& m_data;
+    HINTERNET m_internetHandle;
 };
 
 WebCoreSynchronousLoader::WebCoreSynchronousLoader(ResourceError& error, ResourceResponse& response, Vector<char>& data, const String& userAgent)
     : m_error(error)
     , m_response(response)
     , m_data(data)
+    , m_internetHandle(createInternetHandle(userAgent, false))
+{
+}
+
+WebCoreSynchronousLoader::~WebCoreSynchronousLoader()
 {
+    InternetCloseHandle(m_internetHandle);
 }
 
 void WebCoreSynchronousLoader::didReceiveResponse(ResourceHandle*, const ResourceResponse& response)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list