1// Copyright 2014 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 EXTENSIONS_RENDERER_FILE_SYSTEM_NATIVES_H_
6#define EXTENSIONS_RENDERER_FILE_SYSTEM_NATIVES_H_
7
8#include "base/compiler_specific.h"
9#include "extensions/renderer/object_backed_native_handler.h"
10
11namespace extensions {
12class ScriptContext;
13
14// Custom bindings for the nativeFileSystem API.
15class FileSystemNatives : public ObjectBackedNativeHandler {
16 public:
17  explicit FileSystemNatives(ScriptContext* context);
18
19 private:
20  void GetFileEntry(const v8::FunctionCallbackInfo<v8::Value>& args);
21  void GetIsolatedFileSystem(const v8::FunctionCallbackInfo<v8::Value>& args);
22  void CrackIsolatedFileSystemName(
23      const v8::FunctionCallbackInfo<v8::Value>& args);
24  // Constructs a DOMError object to be used in JavaScript.
25  void GetDOMError(const v8::FunctionCallbackInfo<v8::Value>& args);
26
27  DISALLOW_COPY_AND_ASSIGN(FileSystemNatives);
28};
29
30}  // namespace extensions
31
32#endif  // EXTENSIONS_RENDERER_FILE_SYSTEM_NATIVES_H_
33