Diff
Modified: trunk/Source/WebCore/ChangeLog (144670 => 144671)
--- trunk/Source/WebCore/ChangeLog 2013-03-04 21:54:52 UTC (rev 144670)
+++ trunk/Source/WebCore/ChangeLog 2013-03-04 22:05:57 UTC (rev 144671)
@@ -1,3 +1,32 @@
+2013-03-04 Alexey Proskuryakov <[email protected]>
+
+ Small BlobResourceHandle cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=111352
+
+ Reviewed by Sam Weinig.
+
+ 1. Don't use PassRefPtr<BlobStorageData> when ownership is not being passed.
+ 2. Added OVERRIDE to some functions.
+ 3. Added const to ResourceHandle::firstRequest().
+
+ * platform/network/BlobRegistryImpl.cpp:
+ (WebCore::loadResourceSynchronously):
+ (WebCore::BlobRegistryImpl::createResourceHandle):
+ (WebCore::BlobRegistryImpl::getBlobDataFromURL):
+ * platform/network/BlobRegistryImpl.h:
+ (BlobRegistryImpl):
+ * platform/network/BlobResourceHandle.cpp:
+ (WebCore::BlobResourceHandle::createAsync):
+ (WebCore::BlobResourceHandle::loadResourceSynchronously):
+ * platform/network/BlobResourceHandle.h:
+ (BlobResourceHandle):
+ * platform/network/FormData.cpp:
+ (WebCore::appendBlobResolved):
+ * platform/network/ResourceHandle.cpp:
+ (WebCore::ResourceHandle::firstRequest):
+ * platform/network/ResourceHandle.h:
+ (ResourceHandle):
+
2013-03-04 Vsevolod Vlasov <[email protected]>
Web Inspector: Introduce WebInspector.EventTarget interface for interfaces that dispatch events.
Modified: trunk/Source/WebCore/platform/network/BlobRegistryImpl.cpp (144670 => 144671)
--- trunk/Source/WebCore/platform/network/BlobRegistryImpl.cpp 2013-03-04 21:54:52 UTC (rev 144670)
+++ trunk/Source/WebCore/platform/network/BlobRegistryImpl.cpp 2013-03-04 22:05:57 UTC (rev 144671)
@@ -57,7 +57,7 @@
static void loadResourceSynchronously(NetworkingContext*, const ResourceRequest& request, StoredCredentials, ResourceError& error, ResourceResponse& response, Vector<char>& data)
{
- RefPtr<BlobStorageData> blobData = static_cast<BlobRegistryImpl&>(blobRegistry()).getBlobDataFromURL(request.url());
+ BlobStorageData* blobData = static_cast<BlobRegistryImpl&>(blobRegistry()).getBlobDataFromURL(request.url());
BlobResourceHandle::loadResourceSynchronously(blobData, request, error, response, data);
}
@@ -80,7 +80,7 @@
PassRefPtr<ResourceHandle> BlobRegistryImpl::createResourceHandle(const ResourceRequest& request, ResourceHandleClient* client)
{
- RefPtr<BlobResourceHandle> handle = BlobResourceHandle::createAsync(m_blobs.get(request.url().string()), request, client);
+ RefPtr<BlobResourceHandle> handle = BlobResourceHandle::createAsync(getBlobDataFromURL(request.url()), request, client);
if (!handle)
return 0;
@@ -191,10 +191,10 @@
m_blobs.remove(url.string());
}
-PassRefPtr<BlobStorageData> BlobRegistryImpl::getBlobDataFromURL(const KURL& url) const
+BlobStorageData* BlobRegistryImpl::getBlobDataFromURL(const KURL& url) const
{
ASSERT(isMainThread());
- return m_blobs.get(url.string());
+ return m_blobs.get(url.string()).get();
}
} // namespace WebCore
Modified: trunk/Source/WebCore/platform/network/BlobRegistryImpl.h (144670 => 144671)
--- trunk/Source/WebCore/platform/network/BlobRegistryImpl.h 2013-03-04 21:54:52 UTC (rev 144670)
+++ trunk/Source/WebCore/platform/network/BlobRegistryImpl.h 2013-03-04 22:05:57 UTC (rev 144671)
@@ -50,7 +50,7 @@
public:
virtual ~BlobRegistryImpl();
- PassRefPtr<BlobStorageData> getBlobDataFromURL(const KURL&) const;
+ BlobStorageData* getBlobDataFromURL(const KURL&) const;
PassRefPtr<ResourceHandle> createResourceHandle(const ResourceRequest&, ResourceHandleClient*);
Modified: trunk/Source/WebCore/platform/network/BlobResourceHandle.cpp (144670 => 144671)
--- trunk/Source/WebCore/platform/network/BlobResourceHandle.cpp 2013-03-04 21:54:52 UTC (rev 144670)
+++ trunk/Source/WebCore/platform/network/BlobResourceHandle.cpp 2013-03-04 22:05:57 UTC (rev 144671)
@@ -82,10 +82,10 @@
public:
BlobResourceSynchronousLoader(ResourceError&, ResourceResponse&, Vector<char>&);
- virtual void didReceiveResponse(ResourceHandle*, const ResourceResponse&);
- virtual void didReceiveData(ResourceHandle*, const char*, int, int /*encodedDataLength*/);
- virtual void didFinishLoading(ResourceHandle*, double /*finishTime*/);
- virtual void didFail(ResourceHandle*, const ResourceError&);
+ virtual void didReceiveResponse(ResourceHandle*, const ResourceResponse&) OVERRIDE;
+ virtual void didReceiveData(ResourceHandle*, const char*, int, int /*encodedDataLength*/) OVERRIDE;
+ virtual void didFinishLoading(ResourceHandle*, double /*finishTime*/) OVERRIDE;
+ virtual void didFail(ResourceHandle*, const ResourceError&) OVERRIDE;
private:
ResourceError& m_error;
@@ -133,7 +133,7 @@
///////////////////////////////////////////////////////////////////////////////
// BlobResourceHandle
-PassRefPtr<BlobResourceHandle> BlobResourceHandle::createAsync(PassRefPtr<BlobStorageData> blobData, const ResourceRequest& request, ResourceHandleClient* client)
+PassRefPtr<BlobResourceHandle> BlobResourceHandle::createAsync(BlobStorageData* blobData, const ResourceRequest& request, ResourceHandleClient* client)
{
// FIXME: Should probably call didFail() instead of blocking the load without explanation.
if (!equalIgnoringCase(request.httpMethod(), "GET"))
@@ -142,7 +142,7 @@
return adoptRef(new BlobResourceHandle(blobData, request, client, true));
}
-void BlobResourceHandle::loadResourceSynchronously(PassRefPtr<BlobStorageData> blobData, const ResourceRequest& request, ResourceError& error, ResourceResponse& response, Vector<char>& data)
+void BlobResourceHandle::loadResourceSynchronously(BlobStorageData* blobData, const ResourceRequest& request, ResourceError& error, ResourceResponse& response, Vector<char>& data)
{
if (!equalIgnoringCase(request.httpMethod(), "GET")) {
error = ResourceError(webKitBlobResourceDomain, methodNotAllowed, response.url(), "Request method must be GET");
Modified: trunk/Source/WebCore/platform/network/BlobResourceHandle.h (144670 => 144671)
--- trunk/Source/WebCore/platform/network/BlobResourceHandle.h 2013-03-04 21:54:52 UTC (rev 144670)
+++ trunk/Source/WebCore/platform/network/BlobResourceHandle.h 2013-03-04 22:05:57 UTC (rev 144671)
@@ -50,17 +50,17 @@
class BlobResourceHandle : public FileStreamClient, public ResourceHandle {
public:
- static PassRefPtr<BlobResourceHandle> createAsync(PassRefPtr<BlobStorageData>, const ResourceRequest&, ResourceHandleClient*);
+ static PassRefPtr<BlobResourceHandle> createAsync(BlobStorageData*, const ResourceRequest&, ResourceHandleClient*);
- static void loadResourceSynchronously(PassRefPtr<BlobStorageData> blobData, const ResourceRequest& request, ResourceError& error, ResourceResponse& response, Vector<char>& data);
+ static void loadResourceSynchronously(BlobStorageData* blobData, const ResourceRequest& request, ResourceError& error, ResourceResponse& response, Vector<char>& data);
// FileStreamClient methods.
- virtual void didGetSize(long long);
- virtual void didOpen(bool);
- virtual void didRead(int);
+ virtual void didGetSize(long long) OVERRIDE;
+ virtual void didOpen(bool) OVERRIDE;
+ virtual void didRead(int) OVERRIDE;
// ResourceHandle methods.
- virtual void cancel();
+ virtual void cancel() OVERRIDE;
void start();
int readSync(char*, int);
Modified: trunk/Source/WebCore/platform/network/FormData.cpp (144670 => 144671)
--- trunk/Source/WebCore/platform/network/FormData.cpp 2013-03-04 21:54:52 UTC (rev 144670)
+++ trunk/Source/WebCore/platform/network/FormData.cpp 2013-03-04 22:05:57 UTC (rev 144671)
@@ -326,7 +326,7 @@
LOG_ERROR("Tried to resolve a blob without a usable registry");
return;
}
- RefPtr<BlobStorageData> blobData = static_cast<BlobRegistryImpl&>(blobRegistry()).getBlobDataFromURL(KURL(ParsedURLString, url));
+ BlobStorageData* blobData = static_cast<BlobRegistryImpl&>(blobRegistry()).getBlobDataFromURL(KURL(ParsedURLString, url));
if (!blobData) {
LOG_ERROR("Could not get blob data from a registry");
return;
Modified: trunk/Source/WebCore/platform/network/ResourceHandle.cpp (144670 => 144671)
--- trunk/Source/WebCore/platform/network/ResourceHandle.cpp 2013-03-04 21:54:52 UTC (rev 144670)
+++ trunk/Source/WebCore/platform/network/ResourceHandle.cpp 2013-03-04 22:05:57 UTC (rev 144671)
@@ -147,7 +147,7 @@
d->m_client = client;
}
-ResourceRequest& ResourceHandle::firstRequest()
+ResourceRequest& ResourceHandle::firstRequest() const
{
return d->m_firstRequest;
}
Modified: trunk/Source/WebCore/platform/network/ResourceHandle.h (144670 => 144671)
--- trunk/Source/WebCore/platform/network/ResourceHandle.h 2013-03-04 21:54:52 UTC (rev 144670)
+++ trunk/Source/WebCore/platform/network/ResourceHandle.h 2013-03-04 22:05:57 UTC (rev 144671)
@@ -194,7 +194,7 @@
void didChangePriority(ResourceLoadPriority);
- ResourceRequest& firstRequest();
+ ResourceRequest& firstRequest() const;
const String& lastHTTPMethod() const;
void fireFailure(Timer<ResourceHandle>*);
Modified: trunk/Source/WebCore/platform/network/chromium/ResourceHandle.cpp (144670 => 144671)
--- trunk/Source/WebCore/platform/network/chromium/ResourceHandle.cpp 2013-03-04 21:54:52 UTC (rev 144670)
+++ trunk/Source/WebCore/platform/network/chromium/ResourceHandle.cpp 2013-03-04 22:05:57 UTC (rev 144671)
@@ -202,7 +202,7 @@
return 0;
}
-ResourceRequest& ResourceHandle::firstRequest()
+ResourceRequest& ResourceHandle::firstRequest() const
{
return d->request();
}