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