Chromium Code Reviews| Index: Source/modules/filesystem/LocalFileSystem.h |
| diff --git a/Source/modules/filesystem/LocalFileSystem.h b/Source/modules/filesystem/LocalFileSystem.h |
| index 867db6c7bf5a65512524817f1a574dd5bce183d1..52337f0537dede085e85f3a3fe1a8d097a6d3584 100644 |
| --- a/Source/modules/filesystem/LocalFileSystem.h |
| +++ b/Source/modules/filesystem/LocalFileSystem.h |
| @@ -35,6 +35,7 @@ |
| #include "core/workers/WorkerClients.h" |
| #include "platform/FileSystemType.h" |
| #include "wtf/Forward.h" |
| +#include "wtf/Functional.h" |
| namespace WebCore { |
| @@ -42,6 +43,12 @@ class AsyncFileSystemCallbacks; |
| class FileSystemClient; |
| class ExecutionContext; |
| +struct RefCountedFileSystemCallbacks : RefCounted<RefCountedFileSystemCallbacks> { |
|
kinuko
2014/05/22 10:37:42
This can be hidden in .cpp file.
Xi Han
2014/05/22 14:21:41
Done.
|
| + RefCountedFileSystemCallbacks(PassOwnPtr<AsyncFileSystemCallbacks> callbacks) |
| + : callbacks(callbacks) { } |
| + PassOwnPtr<AsyncFileSystemCallbacks> callbacks; |
|
kinuko
2014/05/22 10:37:42
Usually we don't use PassOwnPtr for storage type
Xi Han
2014/05/22 14:21:41
Oh, I see, great catch, thanks.
|
| +}; |
| + |
| class LocalFileSystem FINAL : public NoBaseWillBeGarbageCollectedFinalized<LocalFileSystem>, public WillBeHeapSupplement<Page>, public WillBeHeapSupplement<WorkerClients> { |
| WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(LocalFileSystem); |
| WTF_MAKE_NONCOPYABLE(LocalFileSystem); |
| @@ -63,10 +70,14 @@ public: |
| WillBeHeapSupplement<Page>::trace(visitor); |
| WillBeHeapSupplement<WorkerClients>::trace(visitor); |
| } |
| - |
| protected: |
| explicit LocalFileSystem(PassOwnPtr<FileSystemClient>); |
| - |
| +private: |
| + void fileSystemNotAllowedInternal(PassRefPtr<ExecutionContext>, PassRefPtr<RefCountedFileSystemCallbacks>); |
| + void fileSystemAllowedInternal(PassRefPtr<ExecutionContext>, FileSystemType, PassRefPtr<RefCountedFileSystemCallbacks>); |
| + void resolveURLInternal(const KURL&, PassRefPtr<RefCountedFileSystemCallbacks>); |
| + void deleteFileSystemInternal(PassRefPtr<ExecutionContext>, FileSystemType, PassRefPtr<RefCountedFileSystemCallbacks>); |
| + void requestFileSystemAccesssAsyncInternal(PassRefPtr<ExecutionContext>, const Closure&, const Closure&); |
| OwnPtr<FileSystemClient> m_client; |
| }; |