diff options
Diffstat (limited to 'WebCore/platform/network/ResourceHandle.cpp')
-rw-r--r-- | WebCore/platform/network/ResourceHandle.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/WebCore/platform/network/ResourceHandle.cpp b/WebCore/platform/network/ResourceHandle.cpp index 0575523..2da1d77 100644 --- a/WebCore/platform/network/ResourceHandle.cpp +++ b/WebCore/platform/network/ResourceHandle.cpp @@ -27,6 +27,7 @@ #include "ResourceHandle.h" #include "ResourceHandleInternal.h" +#include "BlobRegistry.h" #include "DNS.h" #include "Logging.h" #include "ResourceHandleClient.h" @@ -54,6 +55,14 @@ ResourceHandle::ResourceHandle(const ResourceRequest& request, ResourceHandleCli PassRefPtr<ResourceHandle> ResourceHandle::create(const ResourceRequest& request, ResourceHandleClient* client, Frame* frame, bool defersLoading, bool shouldContentSniff) { +#if ENABLE(BLOB) + if (request.url().protocolIs("blob")) { + PassRefPtr<ResourceHandle> handle = blobRegistry().createResourceHandle(request, client); + if (handle) + return handle; + } +#endif + RefPtr<ResourceHandle> newHandle(adoptRef(new ResourceHandle(request, client, defersLoading, shouldContentSniff))); if (newHandle->d->m_scheduledFailureType != NoFailure) |