blob: e2d24f242329f63c7933103bc766c0af9777f4a8 [file] [log] [blame]
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef WEBFILEUTILITIES_IMPL_H_
#define WEBFILEUTILITIES_IMPL_H_
#include "base/platform_file.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebFileUtilities.h"
#include "webkit/glue/webkit_glue_export.h"
namespace webkit_glue {
class WEBKIT_GLUE_EXPORT WebFileUtilitiesImpl :
NON_EXPORTED_BASE(public WebKit::WebFileUtilities) {
public:
WebFileUtilitiesImpl();
virtual ~WebFileUtilitiesImpl();
// WebFileUtilities methods:
virtual void revealFolderInOS(const WebKit::WebString& path);
virtual bool fileExists(const WebKit::WebString& path);
virtual bool deleteFile(const WebKit::WebString& path);
virtual bool deleteEmptyDirectory(const WebKit::WebString& path);
virtual bool getFileSize(const WebKit::WebString& path, long long& result);
virtual bool getFileModificationTime(
const WebKit::WebString& path,
double& result);
virtual WebKit::WebString directoryName(const WebKit::WebString& path);
virtual WebKit::WebString pathByAppendingComponent(
const WebKit::WebString& path, const WebKit::WebString& component);
virtual bool makeAllDirectories(const WebKit::WebString& path);
virtual WebKit::WebString getAbsolutePath(const WebKit::WebString& path);
virtual bool isDirectory(const WebKit::WebString& path);
virtual WebKit::WebURL filePathToURL(const WebKit::WebString& path);
virtual base::PlatformFile openFile(const WebKit::WebString& path, int mode);
virtual void closeFile(base::PlatformFile& handle);
virtual long long seekFile(base::PlatformFile handle,
long long offset,
int origin);
virtual bool truncateFile(base::PlatformFile handle, long long offset);
virtual int readFromFile(base::PlatformFile handle, char* data, int length);
virtual int writeToFile(base::PlatformFile handle,
const char* data,
int length);
void set_sandbox_enabled(bool sandbox_enabled) {
sandbox_enabled_ = sandbox_enabled;
}
protected:
bool sandbox_enabled_;
};
} // namespace webkit_glue
#endif // WEBFILEUTILITIES_IMPL_H_