Index: content/browser/fileapi/fileapi_message_filter.h |
diff --git a/content/browser/fileapi/fileapi_message_filter.h b/content/browser/fileapi/fileapi_message_filter.h |
index 873d01063fc23fe44c754c85e5dd1cf19a98515a..6a3b2319871604828df9d4a027b7e1c6cd44a18d 100644 |
--- a/content/browser/fileapi/fileapi_message_filter.h |
+++ b/content/browser/fileapi/fileapi_message_filter.h |
@@ -45,6 +45,7 @@ class URLRequestContextGetter; |
} // namespace net |
namespace webkit_blob { |
+class BlobStorageHost; |
class ShareableFileReference; |
} |
@@ -111,6 +112,11 @@ class CONTENT_EXPORT FileAPIMessageFilter : public BrowserMessageFilter { |
void OnReadDirectory(int request_id, const GURL& path); |
void OnWrite(int request_id, |
const GURL& path, |
+ const std::string& blob_uuid, |
+ int64 offset); |
+ void OnWriteDeprecated( |
+ int request_id, |
+ const GURL& path, |
const GURL& blob_url, |
int64 offset); |
void OnTruncate(int request_id, const GURL& path, int64 length); |
@@ -131,14 +137,26 @@ class CONTENT_EXPORT FileAPIMessageFilter : public BrowserMessageFilter { |
// Handlers for BlobHostMsg_ family messages. |
- void OnStartBuildingBlob(const GURL& url); |
- void OnAppendBlobDataItemToBlob( |
- const GURL& url, const webkit_blob::BlobData::Item& item); |
- void OnAppendSharedMemoryToBlob( |
- const GURL& url, base::SharedMemoryHandle handle, size_t buffer_size); |
- void OnFinishBuildingBlob(const GURL& url, const std::string& content_type); |
- void OnCloneBlob(const GURL& url, const GURL& src_url); |
- void OnRemoveBlob(const GURL& url); |
+ void OnStartBuildingBlob(const std::string& uuid); |
+ void OnAppendBlobDataItemToBlob(const std::string& uuid, |
+ const webkit_blob::BlobData::Item& item); |
+ void OnAppendSharedMemoryToBlob(const std::string& uuid, |
+ base::SharedMemoryHandle handle, |
+ size_t buffer_size); |
+ void OnFinishBuildingBlob(const std::string& uuid, |
+ const std::string& content_type); |
+ void OnCancelBuildingBlob(const std::string& uuid); |
+ void OnIncrementBlobRefCount(const std::string& uuid); |
+ void OnDecrementBlobRefCount(const std::string& uuid); |
+ void OnRegisterPublicBlobURL(const GURL& public_url, const std::string& uuid); |
+ void OnRevokePublicBlobURL(const GURL& public_url); |
+ |
+ // Extra methods to establish a mapping from old-style blobURLs to uuids, |
+ // and to clone them. These won't be here for long, just during a |
+ // transition period. See crbug/174200 |
+ void OnDeprecatedRegisterBlobURL(const GURL& url, const std::string& uuid); |
+ void OnDeprecatedCloneBlobURL(const GURL& url, const GURL& existing_url); |
+ void OnDeprecatedRevokeBlobURL(const GURL& url); |
// Handlers for StreamHostMsg_ family messages. |
// |
@@ -225,9 +243,9 @@ class CONTENT_EXPORT FileAPIMessageFilter : public BrowserMessageFilter { |
scoped_ptr<fileapi::FileSystemOperationRunner> operation_runner_; |
- // Keep track of blob URLs registered in this process. Need to unregister |
- // all of them when the renderer process dies. |
- base::hash_set<std::string> blob_urls_; |
+ // Keeps track of blobs used in this process and cleans up |
+ // when the renderer process dies. |
+ scoped_ptr<webkit_blob::BlobStorageHost> blob_storage_host_; |
// Keep track of stream URLs registered in this process. Need to unregister |
// all of them when the renderer process dies. |