1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CONTENT_CHILD_FILEAPI_WEBFILESYSTEM_IMPL_H_ 6#define CONTENT_CHILD_FILEAPI_WEBFILESYSTEM_IMPL_H_ 7 8#include "base/basictypes.h" 9#include "base/compiler_specific.h" 10#include "base/memory/ref_counted.h" 11#include "third_party/WebKit/public/platform/WebFileSystem.h" 12 13namespace base { 14class MessageLoopProxy; 15} 16 17namespace WebKit { 18class WebURL; 19class WebFileWriter; 20class WebFileWriterClient; 21} 22 23namespace content { 24 25class WebFileSystemImpl : public WebKit::WebFileSystem { 26 public: 27 explicit WebFileSystemImpl(base::MessageLoopProxy* main_thread_loop); 28 virtual ~WebFileSystemImpl(); 29 30 // WebFileSystem implementation. 31 virtual void move( 32 const WebKit::WebURL& src_path, 33 const WebKit::WebURL& dest_path, 34 WebKit::WebFileSystemCallbacks*) OVERRIDE; 35 virtual void copy( 36 const WebKit::WebURL& src_path, 37 const WebKit::WebURL& dest_path, 38 WebKit::WebFileSystemCallbacks*) OVERRIDE; 39 virtual void remove( 40 const WebKit::WebURL& path, 41 WebKit::WebFileSystemCallbacks*) OVERRIDE; 42 virtual void removeRecursively( 43 const WebKit::WebURL& path, 44 WebKit::WebFileSystemCallbacks*) OVERRIDE; 45 virtual void readMetadata( 46 const WebKit::WebURL& path, 47 WebKit::WebFileSystemCallbacks*) OVERRIDE; 48 virtual void createFile( 49 const WebKit::WebURL& path, 50 bool exclusive, 51 WebKit::WebFileSystemCallbacks*) OVERRIDE; 52 virtual void createDirectory( 53 const WebKit::WebURL& path, 54 bool exclusive, 55 WebKit::WebFileSystemCallbacks*) OVERRIDE; 56 virtual void fileExists( 57 const WebKit::WebURL& path, 58 WebKit::WebFileSystemCallbacks*) OVERRIDE; 59 virtual void directoryExists( 60 const WebKit::WebURL& path, 61 WebKit::WebFileSystemCallbacks*) OVERRIDE; 62 virtual void readDirectory( 63 const WebKit::WebURL& path, 64 WebKit::WebFileSystemCallbacks*) OVERRIDE; 65 virtual WebKit::WebFileWriter* createFileWriter( 66 const WebKit::WebURL& path, WebKit::WebFileWriterClient*) OVERRIDE; 67 virtual void createFileWriter( 68 const WebKit::WebURL& path, 69 WebKit::WebFileWriterClient*, 70 WebKit::WebFileSystemCallbacks*) OVERRIDE; 71 virtual void createSnapshotFileAndReadMetadata( 72 const WebKit::WebURL& path, 73 WebKit::WebFileSystemCallbacks*); 74 75 private: 76 scoped_refptr<base::MessageLoopProxy> main_thread_loop_; 77}; 78 79} // namespace content 80 81#endif // CONTENT_CHILD_FILEAPI_WEBFILESYSTEM_IMPL_H_ 82