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 3 // found in the LICENSE file. 4 5 #ifndef WEBFILEUTILITIES_IMPL_H_ 6 #define WEBFILEUTILITIES_IMPL_H_ 7 8 #include "base/platform_file.h" 9 #include "third_party/WebKit/public/platform/WebFileInfo.h" 10 #include "third_party/WebKit/public/platform/WebFileUtilities.h" 11 #include "webkit/glue/webkit_glue_export.h" 12 13 namespace webkit_glue { 14 15 class WEBKIT_GLUE_EXPORT WebFileUtilitiesImpl : 16 NON_EXPORTED_BASE(public blink::WebFileUtilities) { 17 public: 18 WebFileUtilitiesImpl(); 19 virtual ~WebFileUtilitiesImpl(); 20 21 // WebFileUtilities methods: 22 virtual bool getFileInfo( 23 const blink::WebString& path, 24 blink::WebFileInfo& result); 25 virtual blink::WebString directoryName(const blink::WebString& path); 26 virtual blink::WebString baseName(const blink::WebString& path); 27 virtual blink::WebURL filePathToURL(const blink::WebString& path); 28 virtual base::PlatformFile openFile(const blink::WebString& path, int mode); 29 virtual void closeFile(base::PlatformFile& handle); 30 virtual int readFromFile(base::PlatformFile handle, char* data, int length); 31 32 void set_sandbox_enabled(bool sandbox_enabled) { 33 sandbox_enabled_ = sandbox_enabled; 34 } 35 36 protected: 37 bool sandbox_enabled_; 38 }; 39 40 } // namespace webkit_glue 41 42 #endif // WEBFILEUTILITIES_IMPL_H_ 43