Index: Source/core/fileapi/BlobRegistry.cpp |
diff --git a/Source/core/fileapi/BlobRegistry.cpp b/Source/core/fileapi/BlobRegistry.cpp |
index fb902a95a027f5aee3a9d4c0248fa86fdaa62a13..b649b2697be18fb74ad64bd53abff6d6dc652d6e 100644 |
--- a/Source/core/fileapi/BlobRegistry.cpp |
+++ b/Source/core/fileapi/BlobRegistry.cpp |
@@ -273,6 +273,24 @@ void BlobRegistry::finalizeStream(const KURL& url) |
} |
} |
+static void abortStreamTask(void* context) |
+{ |
+ OwnPtr<BlobRegistryContext> blobRegistryContext = adoptPtr(static_cast<BlobRegistryContext*>(context)); |
+ if (WebBlobRegistry* registry = blobRegistry()) |
+ registry->abortStream(blobRegistryContext->url); |
+} |
+ |
+void BlobRegistry::abortStream(const KURL& url) |
+{ |
+ if (isMainThread()) { |
+ if (WebBlobRegistry* registry = blobRegistry()) |
+ registry->abortStream(url); |
+ } else { |
+ OwnPtr<BlobRegistryContext> context = adoptPtr(new BlobRegistryContext(url)); |
+ callOnMainThread(&abortStreamTask, context.leakPtr()); |
+ } |
+} |
+ |
static void unregisterStreamURLTask(void* context) |
{ |
OwnPtr<BlobRegistryContext> blobRegistryContext = adoptPtr(static_cast<BlobRegistryContext*>(context)); |