Title: [172761] branches/safari-600.1-branch/Source
- Revision
- 172761
- Author
- [email protected]
- Date
- 2014-08-19 14:31:59 -0700 (Tue, 19 Aug 2014)
Log Message
Merged r172502. <rdar://problem/18022784>
Modified Paths
Diff
Modified: branches/safari-600.1-branch/Source/WebCore/ChangeLog (172760 => 172761)
--- branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-08-19 21:28:41 UTC (rev 172760)
+++ branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-08-19 21:31:59 UTC (rev 172761)
@@ -1,5 +1,26 @@
2014-08-19 Dana Burkart <[email protected]>
+ Merge r172502
+
+ 2014-08-12 Pratik Solanki <[email protected]>
+
+ Cached file backed resources don't make it to the Web Process when NETWORK_CFDATA_ARRAY_CALLBACK is enabled
+ https://bugs.webkit.org/show_bug.cgi?id=135727
+ <rdar://problem/17947880>
+
+ Reviewed by Darin Adler.
+
+ Add SharedBuffer::existingCFData() which returns CFDataRef if it has one. Refactor
+ this code out of createCFData().
+
+ * WebCore.exp.in:
+ * platform/SharedBuffer.h:
+ * platform/mac/SharedBufferMac.mm:
+ (WebCore::SharedBuffer::existingCFData): Added.
+ (WebCore::SharedBuffer::createCFData):
+
+2014-08-19 Dana Burkart <[email protected]>
+
Merge r172481
2014-08-11 Roger Fong <[email protected]>
Modified: branches/safari-600.1-branch/Source/WebCore/WebCore.exp.in (172760 => 172761)
--- branches/safari-600.1-branch/Source/WebCore/WebCore.exp.in 2014-08-19 21:28:41 UTC (rev 172760)
+++ branches/safari-600.1-branch/Source/WebCore/WebCore.exp.in 2014-08-19 21:31:59 UTC (rev 172761)
@@ -242,6 +242,7 @@
__ZN7WebCore12SharedBuffer11adoptVectorERN3WTF6VectorIcLm0ENS1_15CrashOnOverflowEEE
__ZN7WebCore12SharedBuffer12createCFDataEv
__ZN7WebCore12SharedBuffer12createNSDataEv
+__ZN7WebCore12SharedBuffer14existingCFDataEv
__ZN7WebCore12SharedBuffer24createWithContentsOfFileERKN3WTF6StringE
__ZN7WebCore12SharedBuffer6appendEPKcj
__ZN7WebCore12SharedBuffer6appendEPS0_
Modified: branches/safari-600.1-branch/Source/WebCore/platform/SharedBuffer.h (172760 => 172761)
--- branches/safari-600.1-branch/Source/WebCore/platform/SharedBuffer.h 2014-08-19 21:28:41 UTC (rev 172760)
+++ branches/safari-600.1-branch/Source/WebCore/platform/SharedBuffer.h 2014-08-19 21:31:59 UTC (rev 172761)
@@ -74,6 +74,7 @@
#endif
#if USE(CF)
RetainPtr<CFDataRef> createCFData();
+ CFDataRef existingCFData();
static PassRefPtr<SharedBuffer> wrapCFData(CFDataRef);
#endif
Modified: branches/safari-600.1-branch/Source/WebCore/platform/mac/SharedBufferMac.mm (172760 => 172761)
--- branches/safari-600.1-branch/Source/WebCore/platform/mac/SharedBufferMac.mm 2014-08-19 21:28:41 UTC (rev 172760)
+++ branches/safari-600.1-branch/Source/WebCore/platform/mac/SharedBufferMac.mm 2014-08-19 21:31:59 UTC (rev 172761)
@@ -128,16 +128,24 @@
return adoptNS((NSData *)createCFData().leakRef());
}
-RetainPtr<CFDataRef> SharedBuffer::createCFData()
+CFDataRef SharedBuffer::existingCFData()
{
if (m_cfData)
- return m_cfData;
+ return m_cfData.get();
#if USE(NETWORK_CFDATA_ARRAY_CALLBACK)
if (m_dataArray.size() == 1)
- return m_dataArray.at(0);
+ return m_dataArray.at(0).get();
#endif
+ return nullptr;
+}
+
+RetainPtr<CFDataRef> SharedBuffer::createCFData()
+{
+ if (CFDataRef cfData = existingCFData())
+ return cfData;
+
#if ENABLE(DISK_IMAGE_CACHE)
if (isMemoryMapped())
return adoptCF((CFDataRef)adoptNS([[WebCoreSharedBufferData alloc] initWithMemoryMappedSharedBuffer:*this]).leakRef());
Modified: branches/safari-600.1-branch/Source/WebKit2/ChangeLog (172760 => 172761)
--- branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-08-19 21:28:41 UTC (rev 172760)
+++ branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-08-19 21:31:59 UTC (rev 172761)
@@ -1,3 +1,24 @@
+2014-08-19 Dana Burkart <[email protected]>
+
+ Merge r172502
+
+ 2014-08-12 Pratik Solanki <[email protected]>
+
+ Cached file backed resources don't make it to the Web Process when NETWORK_CFDATA_ARRAY_CALLBACK is enabled
+ https://bugs.webkit.org/show_bug.cgi?id=135727
+ <rdar://problem/17947880>
+
+ Reviewed by Darin Adler.
+
+ tryGetShareableHandleFromSharedBuffer() assumed that we have a file backed resource only if
+ we had a CFDataRef (platformData()) in SharedBuffer. This is wrong when we use the data
+ array callbacks since the file backed buffer could be in the data array. Instead of relying
+ on hasPlatformData(), explicitly ask the SharedBuffer to give us a CFDataRef if it has one
+ so that SharedBuffer can take care of the data array case.
+
+ * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
+ (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
+
2014-08-18 Dana Burkart <[email protected]>
Merge r172680
Modified: branches/safari-600.1-branch/Source/WebKit2/NetworkProcess/mac/NetworkResourceLoaderMac.mm (172760 => 172761)
--- branches/safari-600.1-branch/Source/WebKit2/NetworkProcess/mac/NetworkResourceLoaderMac.mm 2014-08-19 21:28:41 UTC (rev 172760)
+++ branches/safari-600.1-branch/Source/WebKit2/NetworkProcess/mac/NetworkResourceLoaderMac.mm 2014-08-19 21:31:59 UTC (rev 172761)
@@ -93,14 +93,14 @@
if (!cache)
return;
- if (!buffer->hasPlatformData())
+ CFDataRef data = ""
+ if (!data)
return;
- RetainPtr<CFDataRef> data = ""
- if (_CFURLCacheIsResponseDataMemMapped(cache, data.get()) == kCFBooleanFalse)
+ if (_CFURLCacheIsResponseDataMemMapped(cache, data) == kCFBooleanFalse)
return;
- tryGetShareableHandleFromCFData(handle, data.get());
+ tryGetShareableHandleFromCFData(handle, data);
}
#endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes