Title: [169883] trunk/Source
Revision
169883
Author
[email protected]
Date
2014-06-12 00:25:31 -0700 (Thu, 12 Jun 2014)

Log Message

Avoid creating a CFData when checking if a resource is file backed
https://bugs.webkit.org/show_bug.cgi?id=133783

Reviewed by Andreas Kling.

Source/WebCore:
Export SharedBuffer::hasPlatformData().

No new tests because no functional changes.

* WebCore.exp.in:
* platform/SharedBuffer.h:

Source/WebKit2:
When a resource is file backed, we have it as a single CFDataRef in SharedBuffer. Add an
early return in tryGetShareableHandleFromSharedBuffer() so we don't end up creating a new
CFDataRef if we don't already have one in SharedBuffer. If we had to create a CFDataRef, the
it can't have been a file backed resource.

* NetworkProcess/mac/NetworkResourceLoaderMac.mm:
(WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (169882 => 169883)


--- trunk/Source/WebCore/ChangeLog	2014-06-12 06:36:20 UTC (rev 169882)
+++ trunk/Source/WebCore/ChangeLog	2014-06-12 07:25:31 UTC (rev 169883)
@@ -1,3 +1,17 @@
+2014-06-12  Pratik Solanki  <[email protected]>
+
+        Avoid creating a CFData when checking if a resource is file backed
+        https://bugs.webkit.org/show_bug.cgi?id=133783
+
+        Reviewed by Andreas Kling.
+
+        Export SharedBuffer::hasPlatformData().
+
+        No new tests because no functional changes.
+
+        * WebCore.exp.in:
+        * platform/SharedBuffer.h:
+
 2014-06-11  Myles C. Maxfield  <[email protected]>
 
         SVGGlyphToPathTranslator ASSERTs when encountering a missing glyph in an SVG font

Modified: trunk/Source/WebCore/WebCore.exp.in (169882 => 169883)


--- trunk/Source/WebCore/WebCore.exp.in	2014-06-12 06:36:20 UTC (rev 169882)
+++ trunk/Source/WebCore/WebCore.exp.in	2014-06-12 07:25:31 UTC (rev 169883)
@@ -1598,6 +1598,7 @@
 __ZNK7WebCore12RenderObject7childAtEj
 __ZNK7WebCore12RenderWidget14windowClipRectEv
 __ZNK7WebCore12SharedBuffer11getSomeDataERPKcj
+__ZNK7WebCore12SharedBuffer15hasPlatformDataEv
 __ZNK7WebCore12SharedBuffer4dataEv
 __ZNK7WebCore12SharedBuffer4sizeEv
 __ZNK7WebCore12TextEncoding6decodeEPKcmbRb

Modified: trunk/Source/WebCore/platform/SharedBuffer.h (169882 => 169883)


--- trunk/Source/WebCore/platform/SharedBuffer.h	2014-06-12 06:36:20 UTC (rev 169882)
+++ trunk/Source/WebCore/platform/SharedBuffer.h	2014-06-12 07:25:31 UTC (rev 169883)
@@ -171,6 +171,7 @@
     void createPurgeableBuffer() const;
 
     void tryReplaceContentsWithPlatformBuffer(SharedBuffer*);
+    bool hasPlatformData() const;
 
 private:
     SharedBuffer();
@@ -187,7 +188,6 @@
 
     void clearPlatformData();
     void maybeTransferPlatformData();
-    bool hasPlatformData() const;
 
     void copyBufferAndClear(char* destination, unsigned bytesToCopy) const;
 

Modified: trunk/Source/WebKit2/ChangeLog (169882 => 169883)


--- trunk/Source/WebKit2/ChangeLog	2014-06-12 06:36:20 UTC (rev 169882)
+++ trunk/Source/WebKit2/ChangeLog	2014-06-12 07:25:31 UTC (rev 169883)
@@ -1,3 +1,18 @@
+2014-06-12  Pratik Solanki  <[email protected]>
+
+        Avoid creating a CFData when checking if a resource is file backed
+        https://bugs.webkit.org/show_bug.cgi?id=133783
+
+        Reviewed by Andreas Kling.
+
+        When a resource is file backed, we have it as a single CFDataRef in SharedBuffer. Add an
+        early return in tryGetShareableHandleFromSharedBuffer() so we don't end up creating a new
+        CFDataRef if we don't already have one in SharedBuffer. If we had to create a CFDataRef, the
+        it can't have been a file backed resource.
+
+        * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
+        (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
+
 2014-06-11  Gyuyoung Kim  <[email protected]>
 
         Fix build break on EFL and GTK ports since r169820

Modified: trunk/Source/WebKit2/NetworkProcess/mac/NetworkResourceLoaderMac.mm (169882 => 169883)


--- trunk/Source/WebKit2/NetworkProcess/mac/NetworkResourceLoaderMac.mm	2014-06-12 06:36:20 UTC (rev 169882)
+++ trunk/Source/WebKit2/NetworkProcess/mac/NetworkResourceLoaderMac.mm	2014-06-12 07:25:31 UTC (rev 169883)
@@ -93,6 +93,9 @@
     if (!cache)
         return;
 
+    if (!buffer->hasPlatformData())
+        return;
+
     RetainPtr<CFDataRef> data = ""
     if (_CFURLCacheIsResponseDataMemMapped(cache, data.get()) == kCFBooleanFalse)
         return;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to