[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