| 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); | 
|  |