OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/fileapi/fileapi_message_filter.h" | 5 #include "content/browser/fileapi/fileapi_message_filter.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
188 OnAppendSharedMemoryToBlob) | 188 OnAppendSharedMemoryToBlob) |
189 IPC_MESSAGE_HANDLER(BlobHostMsg_FinishBuilding, OnFinishBuildingBlob) | 189 IPC_MESSAGE_HANDLER(BlobHostMsg_FinishBuilding, OnFinishBuildingBlob) |
190 IPC_MESSAGE_HANDLER(BlobHostMsg_Clone, OnCloneBlob) | 190 IPC_MESSAGE_HANDLER(BlobHostMsg_Clone, OnCloneBlob) |
191 IPC_MESSAGE_HANDLER(BlobHostMsg_Remove, OnRemoveBlob) | 191 IPC_MESSAGE_HANDLER(BlobHostMsg_Remove, OnRemoveBlob) |
192 IPC_MESSAGE_HANDLER(StreamHostMsg_StartBuilding, OnStartBuildingStream) | 192 IPC_MESSAGE_HANDLER(StreamHostMsg_StartBuilding, OnStartBuildingStream) |
193 IPC_MESSAGE_HANDLER(StreamHostMsg_AppendBlobDataItem, | 193 IPC_MESSAGE_HANDLER(StreamHostMsg_AppendBlobDataItem, |
194 OnAppendBlobDataItemToStream) | 194 OnAppendBlobDataItemToStream) |
195 IPC_MESSAGE_HANDLER(StreamHostMsg_SyncAppendSharedMemory, | 195 IPC_MESSAGE_HANDLER(StreamHostMsg_SyncAppendSharedMemory, |
196 OnAppendSharedMemoryToStream) | 196 OnAppendSharedMemoryToStream) |
197 IPC_MESSAGE_HANDLER(StreamHostMsg_FinishBuilding, OnFinishBuildingStream) | 197 IPC_MESSAGE_HANDLER(StreamHostMsg_FinishBuilding, OnFinishBuildingStream) |
| 198 IPC_MESSAGE_HANDLER(StreamHostMsg_AbortBuilding, OnAbortBuildingStream) |
198 IPC_MESSAGE_HANDLER(StreamHostMsg_Clone, OnCloneStream) | 199 IPC_MESSAGE_HANDLER(StreamHostMsg_Clone, OnCloneStream) |
199 IPC_MESSAGE_HANDLER(StreamHostMsg_Remove, OnRemoveStream) | 200 IPC_MESSAGE_HANDLER(StreamHostMsg_Remove, OnRemoveStream) |
200 IPC_MESSAGE_UNHANDLED(handled = false) | 201 IPC_MESSAGE_UNHANDLED(handled = false) |
201 IPC_END_MESSAGE_MAP_EX() | 202 IPC_END_MESSAGE_MAP_EX() |
202 return handled; | 203 return handled; |
203 } | 204 } |
204 | 205 |
205 FileAPIMessageFilter::~FileAPIMessageFilter() {} | 206 FileAPIMessageFilter::~FileAPIMessageFilter() {} |
206 | 207 |
207 void FileAPIMessageFilter::BadMessageReceived() { | 208 void FileAPIMessageFilter::BadMessageReceived() { |
(...skipping 461 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
669 stream->AddData(static_cast<char*>(shared_memory.memory()), buffer_size); | 670 stream->AddData(static_cast<char*>(shared_memory.memory()), buffer_size); |
670 } | 671 } |
671 | 672 |
672 void FileAPIMessageFilter::OnFinishBuildingStream(const GURL& url) { | 673 void FileAPIMessageFilter::OnFinishBuildingStream(const GURL& url) { |
673 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 674 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
674 scoped_refptr<Stream> stream(GetStreamForURL(url)); | 675 scoped_refptr<Stream> stream(GetStreamForURL(url)); |
675 if (stream.get()) | 676 if (stream.get()) |
676 stream->Finalize(); | 677 stream->Finalize(); |
677 } | 678 } |
678 | 679 |
| 680 void FileAPIMessageFilter::OnAbortBuildingStream(const GURL& url) { |
| 681 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| 682 scoped_refptr<Stream> stream(GetStreamForURL(url)); |
| 683 if (stream.get()) |
| 684 stream->Abort(); |
| 685 } |
| 686 |
679 void FileAPIMessageFilter::OnCloneStream( | 687 void FileAPIMessageFilter::OnCloneStream( |
680 const GURL& url, const GURL& src_url) { | 688 const GURL& url, const GURL& src_url) { |
681 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 689 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
682 // Abort if there's no Stream instance for |src_url| (source Stream which | 690 // Abort if there's no Stream instance for |src_url| (source Stream which |
683 // we're going to make |url| point to) in the registry. | 691 // we're going to make |url| point to) in the registry. |
684 if (!GetStreamForURL(src_url)) | 692 if (!GetStreamForURL(src_url)) |
685 return; | 693 return; |
686 | 694 |
687 stream_context_->registry()->CloneStream(url, src_url); | 695 stream_context_->registry()->CloneStream(url, src_url); |
688 stream_urls_.insert(url.spec()); | 696 stream_urls_.insert(url.spec()); |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
849 const FileSystemURL& url, int permissions, base::PlatformFileError* error) { | 857 const FileSystemURL& url, int permissions, base::PlatformFileError* error) { |
850 return CheckFileSystemPermissionsForProcess(context_, process_id_, url, | 858 return CheckFileSystemPermissionsForProcess(context_, process_id_, url, |
851 permissions, error); | 859 permissions, error); |
852 } | 860 } |
853 | 861 |
854 scoped_refptr<Stream> FileAPIMessageFilter::GetStreamForURL(const GURL& url) { | 862 scoped_refptr<Stream> FileAPIMessageFilter::GetStreamForURL(const GURL& url) { |
855 return stream_context_->registry()->GetStream(url); | 863 return stream_context_->registry()->GetStream(url); |
856 } | 864 } |
857 | 865 |
858 } // namespace content | 866 } // namespace content |
OLD | NEW |