Upstream version 5.34.98.0
[platform/framework/web/crosswalk.git] / src / webkit / glue / webfileutilities_impl.h
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_