Index: content/browser/fileapi/fileapi_message_filter.cc |
diff --git a/content/browser/fileapi/fileapi_message_filter.cc b/content/browser/fileapi/fileapi_message_filter.cc |
index 66db0d781467ea7c72839c4d3b688f6f550d3499..b4b5aefc866fdaa0d599b4f093b8f8cf462f43fe 100644 |
--- a/content/browser/fileapi/fileapi_message_filter.cc |
+++ b/content/browser/fileapi/fileapi_message_filter.cc |
@@ -195,6 +195,7 @@ bool FileAPIMessageFilter::OnMessageReceived( |
IPC_MESSAGE_HANDLER(StreamHostMsg_SyncAppendSharedMemory, |
OnAppendSharedMemoryToStream) |
IPC_MESSAGE_HANDLER(StreamHostMsg_FinishBuilding, OnFinishBuildingStream) |
+ IPC_MESSAGE_HANDLER(StreamHostMsg_AbortBuilding, OnAbortBuildingStream) |
IPC_MESSAGE_HANDLER(StreamHostMsg_Clone, OnCloneStream) |
IPC_MESSAGE_HANDLER(StreamHostMsg_Remove, OnRemoveStream) |
IPC_MESSAGE_UNHANDLED(handled = false) |
@@ -676,6 +677,13 @@ void FileAPIMessageFilter::OnFinishBuildingStream(const GURL& url) { |
stream->Finalize(); |
} |
+void FileAPIMessageFilter::OnAbortBuildingStream(const GURL& url) { |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
+ scoped_refptr<Stream> stream(GetStreamForURL(url)); |
+ if (stream.get()) |
+ stream->Abort(); |
+} |
+ |
void FileAPIMessageFilter::OnCloneStream( |
const GURL& url, const GURL& src_url) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |