<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[168382] trunk/Source/WebCore</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/168382">168382</a></dd>
<dt>Author</dt> <dd>ap@apple.com</dd>
<dt>Date</dt> <dd>2014-05-06 15:11:07 -0700 (Tue, 06 May 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>Eliminate BlobStorageData
https://bugs.webkit.org/show_bug.cgi?id=132617
Reviewed by Anders Carlsson.
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* platform/network/BlobData.h:
(WebCore::BlobData::create):
(WebCore::BlobData::BlobData):
* platform/network/BlobRegistryImpl.cpp:
(WebCore::loadResourceSynchronously):
(WebCore::BlobRegistryImpl::appendStorageItems):
(WebCore::BlobRegistryImpl::registerFileBlobURL):
(WebCore::BlobRegistryImpl::registerBlobURL):
(WebCore::BlobRegistryImpl::registerBlobURLForSlice):
(WebCore::BlobRegistryImpl::getBlobDataFromURL):
(WebCore::BlobRegistryImpl::blobSize):
* platform/network/BlobRegistryImpl.h:
* platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::createAsync):
(WebCore::BlobResourceHandle::loadResourceSynchronously):
(WebCore::BlobResourceHandle::BlobResourceHandle):
(WebCore::BlobResourceHandle::doStart):
(WebCore::BlobResourceHandle::getSizeForNext):
(WebCore::BlobResourceHandle::didGetSize):
(WebCore::BlobResourceHandle::seek):
(WebCore::BlobResourceHandle::readSync):
(WebCore::BlobResourceHandle::readDataSync):
(WebCore::BlobResourceHandle::readFileSync):
(WebCore::BlobResourceHandle::readAsync):
(WebCore::BlobResourceHandle::readDataAsync):
(WebCore::BlobResourceHandle::readFileAsync):
(WebCore::BlobResourceHandle::notifyResponseOnSuccess):
* platform/network/BlobResourceHandle.h:
* platform/network/BlobStorageData.h: Removed.
* platform/network/FormData.cpp:
(WebCore::appendBlobResolved):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::addEncodedBlobToSoupMessageBody):</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxproj">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkBlobDatah">trunk/Source/WebCore/platform/network/BlobData.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkBlobRegistryImplcpp">trunk/Source/WebCore/platform/network/BlobRegistryImpl.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkBlobRegistryImplh">trunk/Source/WebCore/platform/network/BlobRegistryImpl.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkBlobResourceHandlecpp">trunk/Source/WebCore/platform/network/BlobResourceHandle.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkBlobResourceHandleh">trunk/Source/WebCore/platform/network/BlobResourceHandle.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkFormDatacpp">trunk/Source/WebCore/platform/network/FormData.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworksoupResourceHandleSoupcpp">trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreplatformnetworkBlobStorageDatah">trunk/Source/WebCore/platform/network/BlobStorageData.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (168381 => 168382)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-05-06 21:45:08 UTC (rev 168381)
+++ trunk/Source/WebCore/ChangeLog        2014-05-06 22:11:07 UTC (rev 168382)
</span><span class="lines">@@ -1,3 +1,47 @@
</span><ins>+2014-05-06 Alexey Proskuryakov <ap@apple.com>
+
+ Eliminate BlobStorageData
+ https://bugs.webkit.org/show_bug.cgi?id=132617
+
+ Reviewed by Anders Carlsson.
+
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/network/BlobData.h:
+ (WebCore::BlobData::create):
+ (WebCore::BlobData::BlobData):
+ * platform/network/BlobRegistryImpl.cpp:
+ (WebCore::loadResourceSynchronously):
+ (WebCore::BlobRegistryImpl::appendStorageItems):
+ (WebCore::BlobRegistryImpl::registerFileBlobURL):
+ (WebCore::BlobRegistryImpl::registerBlobURL):
+ (WebCore::BlobRegistryImpl::registerBlobURLForSlice):
+ (WebCore::BlobRegistryImpl::getBlobDataFromURL):
+ (WebCore::BlobRegistryImpl::blobSize):
+ * platform/network/BlobRegistryImpl.h:
+ * platform/network/BlobResourceHandle.cpp:
+ (WebCore::BlobResourceHandle::createAsync):
+ (WebCore::BlobResourceHandle::loadResourceSynchronously):
+ (WebCore::BlobResourceHandle::BlobResourceHandle):
+ (WebCore::BlobResourceHandle::doStart):
+ (WebCore::BlobResourceHandle::getSizeForNext):
+ (WebCore::BlobResourceHandle::didGetSize):
+ (WebCore::BlobResourceHandle::seek):
+ (WebCore::BlobResourceHandle::readSync):
+ (WebCore::BlobResourceHandle::readDataSync):
+ (WebCore::BlobResourceHandle::readFileSync):
+ (WebCore::BlobResourceHandle::readAsync):
+ (WebCore::BlobResourceHandle::readDataAsync):
+ (WebCore::BlobResourceHandle::readFileAsync):
+ (WebCore::BlobResourceHandle::notifyResponseOnSuccess):
+ * platform/network/BlobResourceHandle.h:
+ * platform/network/BlobStorageData.h: Removed.
+ * platform/network/FormData.cpp:
+ (WebCore::appendBlobResolved):
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::addEncodedBlobToSoupMessageBody):
+
</ins><span class="cx"> 2014-05-06 Simon Fraser <simon.fraser@apple.com>
</span><span class="cx">
</span><span class="cx"> Fix the iOS build.
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (168381 => 168382)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-05-06 21:45:08 UTC (rev 168381)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-05-06 22:11:07 UTC (rev 168382)
</span><span class="lines">@@ -19567,7 +19567,6 @@
</span><span class="cx"> <ClInclude Include="..\platform\network\BlobRegistry.h" />
</span><span class="cx"> <ClInclude Include="..\platform\network\BlobRegistryImpl.h" />
</span><span class="cx"> <ClInclude Include="..\platform\network\BlobResourceHandle.h" />
</span><del>- <ClInclude Include="..\platform\network\BlobStorageData.h" />
</del><span class="cx"> <ClInclude Include="..\platform\network\CookieStorage.h" />
</span><span class="cx"> <ClInclude Include="..\platform\network\Credential.h" />
</span><span class="cx"> <ClInclude Include="..\platform\network\CredentialStorage.h" />
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (168381 => 168382)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-05-06 21:45:08 UTC (rev 168381)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-05-06 22:11:07 UTC (rev 168382)
</span><span class="lines">@@ -8659,9 +8659,6 @@
</span><span class="cx"> <ClInclude Include="..\platform\network\BlobResourceHandle.h">
</span><span class="cx"> <Filter>platform\network</Filter>
</span><span class="cx"> </ClInclude>
</span><del>- <ClInclude Include="..\platform\network\BlobStorageData.h">
- <Filter>platform\network</Filter>
- </ClInclude>
</del><span class="cx"> <ClInclude Include="..\platform\network\CookieStorage.h">
</span><span class="cx"> <Filter>platform\network</Filter>
</span><span class="cx"> </ClInclude>
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (168381 => 168382)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-05-06 21:45:08 UTC (rev 168381)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-05-06 22:11:07 UTC (rev 168382)
</span><span class="lines">@@ -1146,7 +1146,6 @@
</span><span class="cx">                 2EDEF1F5121B0EFC00726DB2 /* BlobRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EDEF1EF121B0EFC00726DB2 /* BlobRegistry.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 2EDEF1F6121B0EFC00726DB2 /* BlobRegistryImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2EDEF1F0121B0EFC00726DB2 /* BlobRegistryImpl.cpp */; };
</span><span class="cx">                 2EDEF1F7121B0EFC00726DB2 /* BlobRegistryImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EDEF1F1121B0EFC00726DB2 /* BlobRegistryImpl.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                2EDEF1F8121B0EFC00726DB2 /* BlobStorageData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EDEF1F2121B0EFC00726DB2 /* BlobStorageData.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 2EDF369C122C94B4002F7D4E /* FileReaderSync.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2EDF369A122C94B4002F7D4E /* FileReaderSync.cpp */; };
</span><span class="cx">                 2EDF369D122C94B4002F7D4E /* FileReaderSync.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EDF369B122C94B4002F7D4E /* FileReaderSync.h */; };
</span><span class="cx">                 2EDF369F122C94C8002F7D4E /* FileException.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EDF369E122C94C8002F7D4E /* FileException.h */; };
</span><span class="lines">@@ -8062,7 +8061,6 @@
</span><span class="cx">                 2EDEF1EF121B0EFC00726DB2 /* BlobRegistry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BlobRegistry.h; sourceTree = "<group>"; };
</span><span class="cx">                 2EDEF1F0121B0EFC00726DB2 /* BlobRegistryImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BlobRegistryImpl.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 2EDEF1F1121B0EFC00726DB2 /* BlobRegistryImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BlobRegistryImpl.h; sourceTree = "<group>"; };
</span><del>-                2EDEF1F2121B0EFC00726DB2 /* BlobStorageData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BlobStorageData.h; sourceTree = "<group>"; };
</del><span class="cx">                 2EDF369A122C94B4002F7D4E /* FileReaderSync.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FileReaderSync.cpp; path = fileapi/FileReaderSync.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 2EDF369B122C94B4002F7D4E /* FileReaderSync.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FileReaderSync.h; path = fileapi/FileReaderSync.h; sourceTree = "<group>"; };
</span><span class="cx">                 2EDF369E122C94C8002F7D4E /* FileException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FileException.h; path = fileapi/FileException.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -16064,7 +16062,6 @@
</span><span class="cx">                                 2EDEF1F1121B0EFC00726DB2 /* BlobRegistryImpl.h */,
</span><span class="cx">                                 2EB4BCD0121F03E300EC4885 /* BlobResourceHandle.cpp */,
</span><span class="cx">                                 2EB4BCD1121F03E300EC4885 /* BlobResourceHandle.h */,
</span><del>-                                2EDEF1F2121B0EFC00726DB2 /* BlobStorageData.h */,
</del><span class="cx">                                 E13F01EA1270E10D00DFBA71 /* CookieStorage.h */,
</span><span class="cx">                                 514C76580CE923A1007EF3CD /* Credential.cpp */,
</span><span class="cx">                                 514C76590CE923A1007EF3CD /* Credential.h */,
</span><span class="lines">@@ -23104,7 +23101,6 @@
</span><span class="cx">                                 2EDEF1F5121B0EFC00726DB2 /* BlobRegistry.h in Headers */,
</span><span class="cx">                                 2EDEF1F7121B0EFC00726DB2 /* BlobRegistryImpl.h in Headers */,
</span><span class="cx">                                 2EB4BCD3121F03E300EC4885 /* BlobResourceHandle.h in Headers */,
</span><del>-                                2EDEF1F8121B0EFC00726DB2 /* BlobStorageData.h in Headers */,
</del><span class="cx">                                 A5F36D3B18F758720054C024 /* PageScriptDebugServer.h in Headers */,
</span><span class="cx">                                 976D6C7F122B8A3D001FD1F7 /* BlobURL.h in Headers */,
</span><span class="cx">                                 93F199BE08245E59001E9ABC /* BlockExceptions.h in Headers */,
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkBlobDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/BlobData.h (168381 => 168382)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/BlobData.h        2014-05-06 21:45:08 UTC (rev 168381)
+++ trunk/Source/WebCore/platform/network/BlobData.h        2014-05-06 22:11:07 UTC (rev 168382)
</span><span class="lines">@@ -35,6 +35,7 @@
</span><span class="cx"> #include "URL.h"
</span><span class="cx"> #include <wtf/Forward.h>
</span><span class="cx"> #include <wtf/PassOwnPtr.h>
</span><ins>+#include <wtf/RefCounted.h>
</ins><span class="cx"> #include <wtf/ThreadSafeRefCounted.h>
</span><span class="cx"> #include <wtf/text/WTFString.h>
</span><span class="cx">
</span><span class="lines">@@ -154,10 +155,12 @@
</span><span class="cx">
</span><span class="cx"> typedef Vector<BlobDataItem> BlobDataItemList;
</span><span class="cx">
</span><del>-class BlobData {
- WTF_MAKE_FAST_ALLOCATED;
</del><ins>+class BlobData : public RefCounted<BlobData> {
</ins><span class="cx"> public:
</span><del>- BlobData() { }
</del><ins>+ static PassRefPtr<BlobData> create()
+ {
+ return adoptRef(new BlobData);
+ }
</ins><span class="cx">
</span><span class="cx"> const String& contentType() const { return m_contentType; }
</span><span class="cx"> void setContentType(const String&);
</span><span class="lines">@@ -172,10 +175,8 @@
</span><span class="cx">
</span><span class="cx"> private:
</span><span class="cx"> friend class BlobRegistryImpl;
</span><del>- friend class BlobStorageData;
</del><span class="cx">
</span><del>- // This is only exposed to BlobStorageData.
- void appendData(const RawData&, long long offset, long long length);
</del><ins>+ BlobData() { }
</ins><span class="cx">
</span><span class="cx"> String m_contentType;
</span><span class="cx"> String m_contentDisposition;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkBlobRegistryImplcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/BlobRegistryImpl.cpp (168381 => 168382)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/BlobRegistryImpl.cpp        2014-05-06 21:45:08 UTC (rev 168381)
+++ trunk/Source/WebCore/platform/network/BlobRegistryImpl.cpp        2014-05-06 22:11:07 UTC (rev 168382)
</span><span class="lines">@@ -34,9 +34,9 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(BLOB)
</span><span class="cx">
</span><ins>+#include "BlobData.h"
</ins><span class="cx"> #include "BlobPart.h"
</span><span class="cx"> #include "BlobResourceHandle.h"
</span><del>-#include "BlobStorageData.h"
</del><span class="cx"> #include "FileMetadata.h"
</span><span class="cx"> #include "FileSystem.h"
</span><span class="cx"> #include "ResourceError.h"
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx">
</span><span class="cx"> static void loadResourceSynchronously(NetworkingContext*, const ResourceRequest& request, StoredCredentials, ResourceError& error, ResourceResponse& response, Vector<char>& data)
</span><span class="cx"> {
</span><del>- BlobStorageData* blobData = static_cast<BlobRegistryImpl&>(blobRegistry()).getBlobDataFromURL(request.url());
</del><ins>+ BlobData* blobData = static_cast<BlobRegistryImpl&>(blobRegistry()).getBlobDataFromURL(request.url());
</ins><span class="cx"> BlobResourceHandle::loadResourceSynchronously(blobData, request, error, response, data);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -87,7 +87,7 @@
</span><span class="cx"> return handle.release();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void BlobRegistryImpl::appendStorageItems(BlobStorageData* blobStorageData, const BlobDataItemList& items, long long offset, long long length)
</del><ins>+void BlobRegistryImpl::appendStorageItems(BlobData* blobData, const BlobDataItemList& items, long long offset, long long length)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(length != BlobDataItem::toEndOfFile);
</span><span class="cx">
</span><span class="lines">@@ -106,10 +106,10 @@
</span><span class="cx"> long long currentLength = iter->length - offset;
</span><span class="cx"> long long newLength = currentLength > length ? length : currentLength;
</span><span class="cx"> if (iter->type == BlobDataItem::Data)
</span><del>- blobStorageData->m_data.appendData(iter->data, iter->offset + offset, newLength);
</del><ins>+ blobData->appendData(iter->data, iter->offset + offset, newLength);
</ins><span class="cx"> else {
</span><span class="cx"> ASSERT(iter->type == BlobDataItem::File);
</span><del>- blobStorageData->m_data.appendFile(iter->path, iter->offset + offset, newLength, iter->expectedModificationTime);
</del><ins>+ blobData->appendFile(iter->path, iter->offset + offset, newLength, iter->expectedModificationTime);
</ins><span class="cx"> }
</span><span class="cx"> length -= newLength;
</span><span class="cx"> offset = 0;
</span><span class="lines">@@ -122,15 +122,16 @@
</span><span class="cx"> ASSERT(isMainThread());
</span><span class="cx"> registerBlobResourceHandleConstructor();
</span><span class="cx">
</span><del>- RefPtr<BlobStorageData> blobStorageData = BlobStorageData::create(contentType);
</del><ins>+ RefPtr<BlobData> blobData = BlobData::create();
+ blobData->setContentType(contentType);
</ins><span class="cx">
</span><span class="cx"> // FIXME: Factor out size and modification tracking for a cleaner implementation.
</span><span class="cx"> FileMetadata metadata;
</span><span class="cx"> if (!getFileMetadata(path, metadata))
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- blobStorageData->m_data.appendFile(path, 0, metadata.length, metadata.modificationTime);
- m_blobs.set(url.string(), blobStorageData);
</del><ins>+ blobData->appendFile(path, 0, metadata.length, metadata.modificationTime);
+ m_blobs.set(url.string(), blobData.release());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> unsigned long long BlobRegistryImpl::registerBlobURL(const URL& url, Vector<BlobPart> blobParts, const String& contentType)
</span><span class="lines">@@ -138,7 +139,8 @@
</span><span class="cx"> ASSERT(isMainThread());
</span><span class="cx"> registerBlobResourceHandleConstructor();
</span><span class="cx">
</span><del>- RefPtr<BlobStorageData> blobStorageData = BlobStorageData::create(contentType);
</del><ins>+ RefPtr<BlobData> blobData = BlobData::create();
+ blobData->setContentType(contentType);
</ins><span class="cx">
</span><span class="cx"> // The blob data is stored in the "canonical" way. That is, it only contains a list of Data and File items.
</span><span class="cx"> // 1) The Data item is denoted by the raw data and the range.
</span><span class="lines">@@ -153,7 +155,7 @@
</span><span class="cx"> unsigned long long partSize = part.data().size();
</span><span class="cx"> RefPtr<RawData> rawData = RawData::create(part.moveData());
</span><span class="cx"> size += partSize;
</span><del>- blobStorageData->m_data.appendData(rawData.release(), 0, partSize);
</del><ins>+ blobData->appendData(rawData.release(), 0, partSize);
</ins><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx"> case BlobPart::Blob: {
</span><span class="lines">@@ -161,22 +163,21 @@
</span><span class="cx"> return 0;
</span><span class="cx"> unsigned long long partSize = blobSize(part.url()); // As a side effect, this calculates sizes of all files in the blob.
</span><span class="cx"> size += partSize;
</span><del>- appendStorageItems(blobStorageData.get(), m_blobs.get(part.url().string())->items(), 0, partSize);
</del><ins>+ appendStorageItems(blobData.get(), m_blobs.get(part.url().string())->items(), 0, partSize);
</ins><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- m_blobs.set(url.string(), blobStorageData);
</del><ins>+ m_blobs.set(url.string(), blobData.release());
</ins><span class="cx"> return size;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void BlobRegistryImpl::registerBlobURL(const URL& url, const URL& srcURL)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(isMainThread());
</span><del>- registerBlobResourceHandleConstructor();
</del><span class="cx">
</span><del>- RefPtr<BlobStorageData> src = m_blobs.get(srcURL.string());
</del><ins>+ BlobData* src = getBlobDataFromURL(srcURL);
</ins><span class="cx"> if (!src)
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="lines">@@ -186,8 +187,8 @@
</span><span class="cx"> unsigned long long BlobRegistryImpl::registerBlobURLForSlice(const URL& url, const URL& srcURL, long long start, long long end)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(isMainThread());
</span><del>- BlobStorageData* originalStorageData = m_blobs.get(srcURL.string());
- if (!originalStorageData)
</del><ins>+ BlobData* originalData = getBlobDataFromURL(srcURL);
+ if (!originalData)
</ins><span class="cx"> return 0;
</span><span class="cx">
</span><span class="cx"> unsigned long long originalSize = blobSize(srcURL);
</span><span class="lines">@@ -212,11 +213,12 @@
</span><span class="cx"> end = originalSize;
</span><span class="cx">
</span><span class="cx"> unsigned long long newLength = end - start;
</span><del>- RefPtr<BlobStorageData> newStorageData = BlobStorageData::create(originalStorageData->contentType());
</del><ins>+ RefPtr<BlobData> newData = BlobData::create();
+ newData->setContentType(originalData->contentType());
</ins><span class="cx">
</span><del>- appendStorageItems(newStorageData.get(), originalStorageData->items(), start, newLength);
</del><ins>+ appendStorageItems(newData.get(), originalData->items(), start, newLength);
</ins><span class="cx">
</span><del>- m_blobs.set(url.string(), newStorageData.release());
</del><ins>+ m_blobs.set(url.string(), newData.release());
</ins><span class="cx"> return newLength;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -226,7 +228,7 @@
</span><span class="cx"> m_blobs.remove(url.string());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-BlobStorageData* BlobRegistryImpl::getBlobDataFromURL(const URL& url) const
</del><ins>+BlobData* BlobRegistryImpl::getBlobDataFromURL(const URL& url) const
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(isMainThread());
</span><span class="cx"> return m_blobs.get(url.string());
</span><span class="lines">@@ -235,12 +237,12 @@
</span><span class="cx"> unsigned long long BlobRegistryImpl::blobSize(const URL& url)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(isMainThread());
</span><del>- BlobStorageData* storageData = m_blobs.get(url.string());
- if (!storageData)
</del><ins>+ BlobData* data = getBlobDataFromURL(url);
+ if (!data)
</ins><span class="cx"> return 0;
</span><span class="cx">
</span><span class="cx"> unsigned long long result = 0;
</span><del>- for (const BlobDataItem& item : storageData->items()) {
</del><ins>+ for (const BlobDataItem& item : data->items()) {
</ins><span class="cx"> if (item.length == BlobDataItem::toEndOfFile) {
</span><span class="cx"> FileMetadata metadata;
</span><span class="cx"> if (!getFileMetadata(item.path, metadata))
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkBlobRegistryImplh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/BlobRegistryImpl.h (168381 => 168382)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/BlobRegistryImpl.h        2014-05-06 21:45:08 UTC (rev 168381)
+++ trunk/Source/WebCore/platform/network/BlobRegistryImpl.h        2014-05-06 22:11:07 UTC (rev 168382)
</span><span class="lines">@@ -31,8 +31,8 @@
</span><span class="cx"> #ifndef BlobRegistryImpl_h
</span><span class="cx"> #define BlobRegistryImpl_h
</span><span class="cx">
</span><ins>+#include "BlobData.h"
</ins><span class="cx"> #include "BlobRegistry.h"
</span><del>-#include "BlobStorageData.h"
</del><span class="cx"> #include <wtf/HashMap.h>
</span><span class="cx"> #include <wtf/text/StringHash.h>
</span><span class="cx"> #include <wtf/text/WTFString.h>
</span><span class="lines">@@ -50,12 +50,12 @@
</span><span class="cx"> public:
</span><span class="cx"> virtual ~BlobRegistryImpl();
</span><span class="cx">
</span><del>- BlobStorageData* getBlobDataFromURL(const URL&) const;
</del><ins>+ BlobData* getBlobDataFromURL(const URL&) const;
</ins><span class="cx">
</span><span class="cx"> PassRefPtr<ResourceHandle> createResourceHandle(const ResourceRequest&, ResourceHandleClient*);
</span><span class="cx">
</span><span class="cx"> private:
</span><del>- void appendStorageItems(BlobStorageData*, const BlobDataItemList&, long long offset, long long length);
</del><ins>+ void appendStorageItems(BlobData*, const BlobDataItemList&, long long offset, long long length);
</ins><span class="cx">
</span><span class="cx"> virtual void registerFileBlobURL(const WebCore::URL&, const String& path, const String& contentType) override;
</span><span class="cx"> virtual unsigned long long registerBlobURL(const URL&, Vector<BlobPart>, const String& contentType) override;
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx">
</span><span class="cx"> unsigned long long blobSize(const URL&);
</span><span class="cx">
</span><del>- HashMap<String, RefPtr<BlobStorageData>> m_blobs;
</del><ins>+ HashMap<String, RefPtr<BlobData>> m_blobs;
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkBlobResourceHandlecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/BlobResourceHandle.cpp (168381 => 168382)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/BlobResourceHandle.cpp        2014-05-06 21:45:08 UTC (rev 168381)
+++ trunk/Source/WebCore/platform/network/BlobResourceHandle.cpp        2014-05-06 22:11:07 UTC (rev 168382)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> #include "BlobResourceHandle.h"
</span><span class="cx">
</span><span class="cx"> #include "AsyncFileStream.h"
</span><del>-#include "BlobStorageData.h"
</del><ins>+#include "BlobData.h"
</ins><span class="cx"> #include "FileStream.h"
</span><span class="cx"> #include "FileSystem.h"
</span><span class="cx"> #include "HTTPParsers.h"
</span><span class="lines">@@ -135,7 +135,7 @@
</span><span class="cx"> ///////////////////////////////////////////////////////////////////////////////
</span><span class="cx"> // BlobResourceHandle
</span><span class="cx">
</span><del>-PassRefPtr<BlobResourceHandle> BlobResourceHandle::createAsync(BlobStorageData* blobData, const ResourceRequest& request, ResourceHandleClient* client)
</del><ins>+PassRefPtr<BlobResourceHandle> BlobResourceHandle::createAsync(BlobData* blobData, const ResourceRequest& request, ResourceHandleClient* client)
</ins><span class="cx"> {
</span><span class="cx"> // FIXME: Should probably call didFail() instead of blocking the load without explanation.
</span><span class="cx"> if (!equalIgnoringCase(request.httpMethod(), "GET"))
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx"> return adoptRef(new BlobResourceHandle(blobData, request, client, true));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void BlobResourceHandle::loadResourceSynchronously(BlobStorageData* blobData, const ResourceRequest& request, ResourceError& error, ResourceResponse& response, Vector<char>& data)
</del><ins>+void BlobResourceHandle::loadResourceSynchronously(BlobData* blobData, const ResourceRequest& request, ResourceError& error, ResourceResponse& response, Vector<char>& data)
</ins><span class="cx"> {
</span><span class="cx"> if (!equalIgnoringCase(request.httpMethod(), "GET")) {
</span><span class="cx"> error = ResourceError(webKitBlobResourceDomain, methodNotAllowed, response.url(), "Request method must be GET");
</span><span class="lines">@@ -156,7 +156,7 @@
</span><span class="cx"> handle->start();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-BlobResourceHandle::BlobResourceHandle(PassRefPtr<BlobStorageData> blobData, const ResourceRequest& request, ResourceHandleClient* client, bool async)
</del><ins>+BlobResourceHandle::BlobResourceHandle(BlobData* blobData, const ResourceRequest& request, ResourceHandleClient* client, bool async)
</ins><span class="cx"> : ResourceHandle(0, request, client, false, false)
</span><span class="cx"> , m_blobData(blobData)
</span><span class="cx"> , m_async(async)
</span><span class="lines">@@ -224,6 +224,8 @@
</span><span class="cx">
</span><span class="cx"> void BlobResourceHandle::doStart()
</span><span class="cx"> {
</span><ins>+ ASSERT(isMainThread());
+
</ins><span class="cx"> // Do not continue if the request is aborted or an error occurs.
</span><span class="cx"> if (m_aborted || m_errorCode)
</span><span class="cx"> return;
</span><span class="lines">@@ -255,6 +257,8 @@
</span><span class="cx">
</span><span class="cx"> void BlobResourceHandle::getSizeForNext()
</span><span class="cx"> {
</span><ins>+ ASSERT(isMainThread());
+
</ins><span class="cx"> // Do we finish validating and counting size for all items?
</span><span class="cx"> if (m_sizeItemCount >= m_blobData->items().size()) {
</span><span class="cx"> seek();
</span><span class="lines">@@ -287,6 +291,8 @@
</span><span class="cx">
</span><span class="cx"> void BlobResourceHandle::didGetSize(long long size)
</span><span class="cx"> {
</span><ins>+ ASSERT(isMainThread());
+
</ins><span class="cx"> // Do not continue if the request is aborted or an error occurs.
</span><span class="cx"> if (m_aborted || m_errorCode)
</span><span class="cx"> return;
</span><span class="lines">@@ -316,6 +322,8 @@
</span><span class="cx">
</span><span class="cx"> void BlobResourceHandle::seek()
</span><span class="cx"> {
</span><ins>+ ASSERT(isMainThread());
+
</ins><span class="cx"> // Convert from the suffix length to the range.
</span><span class="cx"> if (m_rangeSuffixLength != positionNotSpecified) {
</span><span class="cx"> m_rangeOffset = m_totalRemainingSize - m_rangeSuffixLength;
</span><span class="lines">@@ -345,6 +353,8 @@
</span><span class="cx">
</span><span class="cx"> int BlobResourceHandle::readSync(char* buf, int length)
</span><span class="cx"> {
</span><ins>+ ASSERT(isMainThread());
+
</ins><span class="cx"> ASSERT(!m_async);
</span><span class="cx"> Ref<BlobResourceHandle> protect(*this);
</span><span class="cx">
</span><span class="lines">@@ -391,6 +401,8 @@
</span><span class="cx">
</span><span class="cx"> int BlobResourceHandle::readDataSync(const BlobDataItem& item, char* buf, int length)
</span><span class="cx"> {
</span><ins>+ ASSERT(isMainThread());
+
</ins><span class="cx"> ASSERT(!m_async);
</span><span class="cx">
</span><span class="cx"> long long remaining = item.length - m_currentItemReadSize;
</span><span class="lines">@@ -411,6 +423,8 @@
</span><span class="cx">
</span><span class="cx"> int BlobResourceHandle::readFileSync(const BlobDataItem& item, char* buf, int length)
</span><span class="cx"> {
</span><ins>+ ASSERT(isMainThread());
+
</ins><span class="cx"> ASSERT(!m_async);
</span><span class="cx">
</span><span class="cx"> if (!m_fileOpened) {
</span><span class="lines">@@ -444,6 +458,7 @@
</span><span class="cx">
</span><span class="cx"> void BlobResourceHandle::readAsync()
</span><span class="cx"> {
</span><ins>+ ASSERT(isMainThread());
</ins><span class="cx"> ASSERT(m_async);
</span><span class="cx">
</span><span class="cx"> // Do not continue if the request is aborted or an error occurs.
</span><span class="lines">@@ -467,6 +482,7 @@
</span><span class="cx">
</span><span class="cx"> void BlobResourceHandle::readDataAsync(const BlobDataItem& item)
</span><span class="cx"> {
</span><ins>+ ASSERT(isMainThread());
</ins><span class="cx"> ASSERT(m_async);
</span><span class="cx"> Ref<BlobResourceHandle> protect(*this);
</span><span class="cx">
</span><span class="lines">@@ -479,6 +495,7 @@
</span><span class="cx">
</span><span class="cx"> void BlobResourceHandle::readFileAsync(const BlobDataItem& item)
</span><span class="cx"> {
</span><ins>+ ASSERT(isMainThread());
</ins><span class="cx"> ASSERT(m_async);
</span><span class="cx">
</span><span class="cx"> if (m_fileOpened) {
</span><span class="lines">@@ -577,6 +594,8 @@
</span><span class="cx">
</span><span class="cx"> void BlobResourceHandle::notifyResponseOnSuccess()
</span><span class="cx"> {
</span><ins>+ ASSERT(isMainThread());
+
</ins><span class="cx"> bool isRangeRequest = m_rangeOffset != positionNotSpecified;
</span><span class="cx"> ResourceResponse response(firstRequest().url(), m_blobData->contentType(), m_totalRemainingSize, String(), String());
</span><span class="cx"> response.setExpectedContentLength(m_totalRemainingSize);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkBlobResourceHandleh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/BlobResourceHandle.h (168381 => 168382)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/BlobResourceHandle.h        2014-05-06 21:45:08 UTC (rev 168381)
+++ trunk/Source/WebCore/platform/network/BlobResourceHandle.h        2014-05-06 22:11:07 UTC (rev 168382)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> class AsyncFileStream;
</span><del>-class BlobStorageData;
</del><ins>+class BlobData;
</ins><span class="cx"> class FileStream;
</span><span class="cx"> class ResourceHandleClient;
</span><span class="cx"> class ResourceRequest;
</span><span class="lines">@@ -50,9 +50,9 @@
</span><span class="cx">
</span><span class="cx"> class BlobResourceHandle : public FileStreamClient, public ResourceHandle {
</span><span class="cx"> public:
</span><del>- static PassRefPtr<BlobResourceHandle> createAsync(BlobStorageData*, const ResourceRequest&, ResourceHandleClient*);
</del><ins>+ static PassRefPtr<BlobResourceHandle> createAsync(BlobData*, const ResourceRequest&, ResourceHandleClient*);
</ins><span class="cx">
</span><del>- static void loadResourceSynchronously(BlobStorageData* blobData, const ResourceRequest& request, ResourceError& error, ResourceResponse& response, Vector<char>& data);
</del><ins>+ static void loadResourceSynchronously(BlobData* blobData, const ResourceRequest& request, ResourceError& error, ResourceResponse& response, Vector<char>& data);
</ins><span class="cx">
</span><span class="cx"> // FileStreamClient methods.
</span><span class="cx"> virtual void didGetSize(long long) override;
</span><span class="lines">@@ -70,7 +70,7 @@
</span><span class="cx"> private:
</span><span class="cx"> friend void delayedStartBlobResourceHandle(void*);
</span><span class="cx">
</span><del>- BlobResourceHandle(PassRefPtr<BlobStorageData>, const ResourceRequest&, ResourceHandleClient*, bool async);
</del><ins>+ BlobResourceHandle(BlobData*, const ResourceRequest&, ResourceHandleClient*, bool async);
</ins><span class="cx"> virtual ~BlobResourceHandle();
</span><span class="cx">
</span><span class="cx"> void doStart();
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx"> void notifyFail(int errorCode);
</span><span class="cx"> void notifyFinish();
</span><span class="cx">
</span><del>- RefPtr<BlobStorageData> m_blobData;
</del><ins>+ RefPtr<BlobData> m_blobData;
</ins><span class="cx"> bool m_async;
</span><span class="cx"> RefPtr<AsyncFileStream> m_asyncStream; // For asynchronous loading.
</span><span class="cx"> RefPtr<FileStream> m_stream; // For synchronous loading.
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkBlobStorageDatah"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/platform/network/BlobStorageData.h (168381 => 168382)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/BlobStorageData.h        2014-05-06 21:45:08 UTC (rev 168381)
+++ trunk/Source/WebCore/platform/network/BlobStorageData.h        2014-05-06 22:11:07 UTC (rev 168382)
</span><span class="lines">@@ -1,63 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef BlobStorageData_h
-#define BlobStorageData_h
-
-#include "BlobData.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class BlobStorageData : public RefCounted<BlobStorageData> {
-public:
- static PassRefPtr<BlobStorageData> create(const String& contentType)
- {
- return adoptRef(new BlobStorageData(contentType));
- }
-
- const String& contentType() const { return m_data.contentType(); }
- const BlobDataItemList& items() const { return m_data.items(); }
-
-private:
- friend class BlobRegistryImpl;
-
- BlobStorageData(const String& contentType)
- {
- m_data.setContentType(contentType);
- }
-
- BlobData m_data;
-};
-
-} // namespace WebCore
-
-#endif // BlobStorageData_h
</del></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkFormDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/FormData.cpp (168381 => 168382)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/FormData.cpp        2014-05-06 21:45:08 UTC (rev 168381)
+++ trunk/Source/WebCore/platform/network/FormData.cpp        2014-05-06 22:11:07 UTC (rev 168382)
</span><span class="lines">@@ -24,7 +24,6 @@
</span><span class="cx"> #include "FormData.h"
</span><span class="cx">
</span><span class="cx"> #include "BlobRegistryImpl.h"
</span><del>-#include "BlobStorageData.h"
</del><span class="cx"> #include "BlobURL.h"
</span><span class="cx"> #include "Chrome.h"
</span><span class="cx"> #include "ChromeClient.h"
</span><span class="lines">@@ -302,7 +301,7 @@
</span><span class="cx"> LOG_ERROR("Tried to resolve a blob without a usable registry");
</span><span class="cx"> return;
</span><span class="cx"> }
</span><del>- BlobStorageData* blobData = static_cast<BlobRegistryImpl&>(blobRegistry()).getBlobDataFromURL(URL(ParsedURLString, url));
</del><ins>+ BlobData* blobData = static_cast<BlobRegistryImpl&>(blobRegistry()).getBlobDataFromURL(URL(ParsedURLString, url));
</ins><span class="cx"> if (!blobData) {
</span><span class="cx"> LOG_ERROR("Could not get blob data from a registry");
</span><span class="cx"> return;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworksoupResourceHandleSoupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp (168381 => 168382)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp        2014-05-06 21:45:08 UTC (rev 168381)
+++ trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp        2014-05-06 22:11:07 UTC (rev 168382)
</span><span class="lines">@@ -66,7 +66,6 @@
</span><span class="cx"> #if ENABLE(BLOB)
</span><span class="cx"> #include "BlobData.h"
</span><span class="cx"> #include "BlobRegistryImpl.h"
</span><del>-#include "BlobStorageData.h"
</del><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(GTK)
</span><span class="lines">@@ -798,7 +797,7 @@
</span><span class="cx">
</span><span class="cx"> static void addEncodedBlobToSoupMessageBody(SoupMessage* message, const FormDataElement& element, unsigned long& totalBodySize)
</span><span class="cx"> {
</span><del>- RefPtr<BlobStorageData> blobData = static_cast<BlobRegistryImpl&>(blobRegistry()).getBlobDataFromURL(URL(ParsedURLString, element.m_url));
</del><ins>+ RefPtr<BlobData> blobData = static_cast<BlobRegistryImpl&>(blobRegistry()).getBlobDataFromURL(URL(ParsedURLString, element.m_url));
</ins><span class="cx"> if (!blobData)
</span><span class="cx"> return;
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>