Index: WebCore/fileapi/FileReaderLoader.cpp |
=================================================================== |
--- WebCore/fileapi/FileReaderLoader.cpp (revision 140218) |
+++ WebCore/fileapi/FileReaderLoader.cpp (working copy) |
@@ -36,12 +36,12 @@ |
#include "Blob.h" |
#include "BlobURL.h" |
+#include "BlobRegistry.h" |
#include "FileReaderLoaderClient.h" |
#include "ResourceRequest.h" |
#include "ResourceResponse.h" |
#include "ScriptExecutionContext.h" |
#include "TextResourceDecoder.h" |
-#include "ThreadableBlobRegistry.h" |
#include "ThreadableLoader.h" |
#include <wtf/ArrayBuffer.h> |
#include <wtf/PassRefPtr.h> |
@@ -69,18 +69,20 @@ |
{ |
terminate(); |
if (!m_urlForReading.isEmpty()) |
- ThreadableBlobRegistry::unregisterBlobURL(m_urlForReading); |
+ blobRegistry().revokePublicBlobURL(m_urlForReading); |
} |
void FileReaderLoader::start(ScriptExecutionContext* scriptExecutionContext, Blob* blob) |
{ |
+ ASSERT(m_urlForReading.isEmpty()); // Instances can not be reused. |
+ |
// The blob is read by routing through the request handling layer given a temporary public url. |
m_urlForReading = BlobURL::createPublicURL(scriptExecutionContext->securityOrigin()); |
if (m_urlForReading.isEmpty()) { |
failed(FileError::SECURITY_ERR); |
return; |
} |
- ThreadableBlobRegistry::registerBlobURL(scriptExecutionContext->securityOrigin(), m_urlForReading, blob->url()); |
+ blobRegistry().registerPublicBlobURL(scriptExecutionContext->securityOrigin(), m_urlForReading, blob->blobDataHandle()); |
// Construct and load the request. |
ResourceRequest request(m_urlForReading); |