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 13namespace webkit_glue { 14 15class WEBKIT_GLUE_EXPORT WebFileUtilitiesImpl : 16 NON_EXPORTED_BASE(public WebKit::WebFileUtilities) { 17 public: 18 WebFileUtilitiesImpl(); 19 virtual ~WebFileUtilitiesImpl(); 20 21 // WebFileUtilities methods: 22 virtual bool getFileInfo( 23 const WebKit::WebString& path, 24 WebKit::WebFileInfo& result); 25 virtual WebKit::WebString directoryName(const WebKit::WebString& path); 26 virtual WebKit::WebString baseName(const WebKit::WebString& path); 27 virtual WebKit::WebURL filePathToURL(const WebKit::WebString& path); 28 virtual base::PlatformFile openFile(const WebKit::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