Home | History | Annotate | Download | only in glue
      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