| Index: content/child/fileapi/webfilesystem_impl.h
|
| diff --git a/content/child/fileapi/webfilesystem_impl.h b/content/child/fileapi/webfilesystem_impl.h
|
| index d439158a6e2ed803baf497e562d126501994fcb7..f800ff9ba41a3c7b0052088d178aa62797fa34ae 100644
|
| --- a/content/child/fileapi/webfilesystem_impl.h
|
| +++ b/content/child/fileapi/webfilesystem_impl.h
|
| @@ -5,9 +5,10 @@
|
| #ifndef CONTENT_CHILD_FILEAPI_WEBFILESYSTEM_IMPL_H_
|
| #define CONTENT_CHILD_FILEAPI_WEBFILESYSTEM_IMPL_H_
|
|
|
| +#include <map>
|
| +
|
| #include "base/basictypes.h"
|
| #include "base/compiler_specific.h"
|
| -#include "base/id_map.h"
|
| #include "base/memory/ref_counted.h"
|
| #include "base/threading/non_thread_safe.h"
|
| #include "third_party/WebKit/public/platform/WebFileSystem.h"
|
| @@ -23,6 +24,13 @@ class WebFileWriter;
|
| class WebFileWriterClient;
|
| }
|
|
|
| +// TODO(kinuko): Remove this hack after the two-sided patch lands.
|
| +#ifdef NON_SELFDESTRUCT_WEBFILESYSTEMCALLBACKS
|
| + typedef WebKit::WebFileSystemCallbacks WebFileSystemCallbacksType;
|
| +#else
|
| + typedef WebKit::WebFileSystemCallbacks* WebFileSystemCallbacksType;
|
| +#endif
|
| +
|
| namespace content {
|
|
|
| class WebFileSystemImpl
|
| @@ -52,62 +60,67 @@ class WebFileSystemImpl
|
| const WebKit::WebURL& storage_partition,
|
| const WebKit::WebFileSystemType type,
|
| bool create,
|
| - WebKit::WebFileSystemCallbacks*);
|
| + WebFileSystemCallbacksType);
|
| virtual void deleteFileSystem(
|
| const WebKit::WebURL& storage_partition,
|
| const WebKit::WebFileSystemType type,
|
| - WebKit::WebFileSystemCallbacks*);
|
| + WebFileSystemCallbacksType);
|
| virtual void move(
|
| const WebKit::WebURL& src_path,
|
| const WebKit::WebURL& dest_path,
|
| - WebKit::WebFileSystemCallbacks*) OVERRIDE;
|
| + WebFileSystemCallbacksType) OVERRIDE;
|
| virtual void copy(
|
| const WebKit::WebURL& src_path,
|
| const WebKit::WebURL& dest_path,
|
| - WebKit::WebFileSystemCallbacks*) OVERRIDE;
|
| + WebFileSystemCallbacksType) OVERRIDE;
|
| virtual void remove(
|
| const WebKit::WebURL& path,
|
| - WebKit::WebFileSystemCallbacks*) OVERRIDE;
|
| + WebFileSystemCallbacksType) OVERRIDE;
|
| virtual void removeRecursively(
|
| const WebKit::WebURL& path,
|
| - WebKit::WebFileSystemCallbacks*) OVERRIDE;
|
| + WebFileSystemCallbacksType) OVERRIDE;
|
| virtual void readMetadata(
|
| const WebKit::WebURL& path,
|
| - WebKit::WebFileSystemCallbacks*) OVERRIDE;
|
| + WebFileSystemCallbacksType) OVERRIDE;
|
| virtual void createFile(
|
| const WebKit::WebURL& path,
|
| bool exclusive,
|
| - WebKit::WebFileSystemCallbacks*) OVERRIDE;
|
| + WebFileSystemCallbacksType) OVERRIDE;
|
| virtual void createDirectory(
|
| const WebKit::WebURL& path,
|
| bool exclusive,
|
| - WebKit::WebFileSystemCallbacks*) OVERRIDE;
|
| + WebFileSystemCallbacksType) OVERRIDE;
|
| virtual void fileExists(
|
| const WebKit::WebURL& path,
|
| - WebKit::WebFileSystemCallbacks*) OVERRIDE;
|
| + WebFileSystemCallbacksType) OVERRIDE;
|
| virtual void directoryExists(
|
| const WebKit::WebURL& path,
|
| - WebKit::WebFileSystemCallbacks*) OVERRIDE;
|
| + WebFileSystemCallbacksType) OVERRIDE;
|
| virtual void readDirectory(
|
| const WebKit::WebURL& path,
|
| - WebKit::WebFileSystemCallbacks*) OVERRIDE;
|
| + WebFileSystemCallbacksType) OVERRIDE;
|
| virtual WebKit::WebFileWriter* createFileWriter(
|
| - const WebKit::WebURL& path, WebKit::WebFileWriterClient*) OVERRIDE;
|
| + const WebKit::WebURL& path,
|
| + WebKit::WebFileWriterClient*);
|
| virtual void createFileWriter(
|
| const WebKit::WebURL& path,
|
| WebKit::WebFileWriterClient*,
|
| - WebKit::WebFileSystemCallbacks*) OVERRIDE;
|
| + WebFileSystemCallbacksType) OVERRIDE;
|
| virtual void createSnapshotFileAndReadMetadata(
|
| const WebKit::WebURL& path,
|
| - WebKit::WebFileSystemCallbacks*);
|
| + WebFileSystemCallbacksType);
|
|
|
| - int RegisterCallbacks(WebKit::WebFileSystemCallbacks* callbacks);
|
| - WebKit::WebFileSystemCallbacks* GetAndUnregisterCallbacks(
|
| + int RegisterCallbacks(WebFileSystemCallbacksType callbacks);
|
| + WebFileSystemCallbacksType GetAndUnregisterCallbacks(
|
| int callbacks_id);
|
|
|
| private:
|
| + typedef std::map<int, WebFileSystemCallbacksType> CallbacksMap;
|
| +
|
| scoped_refptr<base::MessageLoopProxy> main_thread_loop_;
|
| - IDMap<WebKit::WebFileSystemCallbacks> callbacks_;
|
| +
|
| + CallbacksMap callbacks_;
|
| + int next_callbacks_id_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(WebFileSystemImpl);
|
| };
|
|
|