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

beidson at apple.com beidson at apple.com
Wed Dec 22 14:30:56 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit b8c5981af68dc36127f8adc4bd6f190e297f22f4
Author: beidson at apple.com <beidson at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Oct 12 02:19:59 2010 +0000

    Build fix for Windows in https://bugs.webkit.org/show_bug.cgi?id=47354
    
    Reviewed by BUILD FIX.
    
    * UIProcess/cf/WebPageProxyCF.cpp:
    (WebKit::WebPageProxy::sessionStateData): Change to use CF APIs that exist on Windows.
    (WebKit::WebPageProxy::restoreFromSessionStateData): Ditto.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69556 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index fceee5e..2635a90 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,13 @@
+2010-10-11  Brady Eidson  <beidson at apple.com>
+
+        Reviewed by BUILD FIX.
+
+        Build fix for Windows in https://bugs.webkit.org/show_bug.cgi?id=47354
+
+        * UIProcess/cf/WebPageProxyCF.cpp:
+        (WebKit::WebPageProxy::sessionStateData): Change to use CF APIs that exist on Windows.
+        (WebKit::WebPageProxy::restoreFromSessionStateData): Ditto.
+
 2010-10-11  Sam Weinig  <sam at webkit.org>
 
         Reviewed by Anders Carlsson.
diff --git a/WebKit2/UIProcess/cf/WebPageProxyCF.cpp b/WebKit2/UIProcess/cf/WebPageProxyCF.cpp
index f0d4ed2..386b1c3 100644
--- a/WebKit2/UIProcess/cf/WebPageProxyCF.cpp
+++ b/WebKit2/UIProcess/cf/WebPageProxyCF.cpp
@@ -52,7 +52,17 @@ PassRefPtr<WebData> WebPageProxy::sessionStateData(WebPageProxySessionStateFilte
     
     RetainPtr<CFDictionaryRef> stateDictionary(AdoptCF, CFDictionaryCreate(0, keys, values, 1, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks));
 
-    RetainPtr<CFDataRef> stateCFData(AdoptCF, CFPropertyListCreateData(0, stateDictionary.get(), kCFPropertyListBinaryFormat_v1_0, 0, 0));
+    RetainPtr<CFWriteStreamRef> writeStream(AdoptCF, CFWriteStreamCreateWithAllocatedBuffers(0, 0));
+    if (!writeStream)
+        return 0;
+    
+    if (!CFWriteStreamOpen(writeStream.get()))
+        return 0;
+        
+    if (!CFPropertyListWriteToStream(stateDictionary.get(), writeStream.get(), kCFPropertyListBinaryFormat_v1_0, 0))
+        return 0;
+        
+    RetainPtr<CFDataRef> stateCFData(AdoptCF, (CFDataRef)CFWriteStreamCopyProperty(writeStream.get(), kCFStreamPropertyDataWritten));
 
     CFIndex length = CFDataGetLength(stateCFData.get());
     Vector<unsigned char> stateVector(length + 4);
@@ -84,9 +94,10 @@ void WebPageProxy::restoreFromSessionStateData(WebData* webData)
     
     RetainPtr<CFDataRef> data(AdoptCF, CFDataCreate(0, webData->bytes() + 4, webData->size() - 4));
 
-    CFErrorRef propertyListError = 0;
-    RetainPtr<CFPropertyListRef> propertyList(AdoptCF, CFPropertyListCreateWithData(0, data.get(), kCFPropertyListImmutable, 0, &propertyListError));
+    CFStringRef propertyListError = 0;
+    RetainPtr<CFPropertyListRef> propertyList(AdoptCF, CFPropertyListCreateFromXMLData(0, data.get(), kCFPropertyListImmutable, &propertyListError));
     if (propertyListError) {
+        CFRelease(propertyListError);
         LOG(SessionState, "Could not read session state property list");
         return;
     }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list