| Index: webkit/fileapi/file_system_mount_point_provider.h
|
| ===================================================================
|
| --- webkit/fileapi/file_system_mount_point_provider.h (revision 81576)
|
| +++ webkit/fileapi/file_system_mount_point_provider.h (working copy)
|
| @@ -5,6 +5,9 @@
|
| #ifndef WEBKIT_FILEAPI_FILE_SYSTEM_MOUNT_POINT_PROVIDER_H_
|
| #define WEBKIT_FILEAPI_FILE_SYSTEM_MOUNT_POINT_PROVIDER_H_
|
|
|
| +#include <string>
|
| +#include <vector>
|
| +
|
| #include "base/file_path.h"
|
| #include "googleurl/src/gurl.h"
|
| #include "webkit/fileapi/file_system_path_manager.h"
|
| @@ -18,8 +21,9 @@
|
| public:
|
| virtual ~FileSystemMountPointProvider() {}
|
|
|
| - // Checks if mount point access is allowed from |origin_url|.
|
| - virtual bool IsAccessAllowed(const GURL& origin_url) = 0;
|
| + // Checks if access to |virtual_path| is allowed from |origin_url|.
|
| + virtual bool IsAccessAllowed(const GURL& origin_url,
|
| + const FilePath& virtual_path) = 0;
|
|
|
| // Retrieves the root path for the given |origin_url| and |type|, and
|
| // calls the given |callback| with the root path and name.
|
| @@ -41,8 +45,29 @@
|
| // Checks if a given |name| contains any restricted names/chars in it.
|
| // Callable on any thread.
|
| virtual bool IsRestrictedFileName(const FilePath& filename) const = 0;
|
| +
|
| + // Returns the list of top level directories that are exposed by this
|
| + // provider. This list is used to set appropriate child process file access
|
| + // permissions.
|
| + virtual std::vector<FilePath> GetRootDirectories() const = 0;
|
| };
|
|
|
| +// An interface to cotnrol external file system access permissions.
|
| +class ExternalFileSystemMountPointProvider
|
| + : public FileSystemMountPointProvider {
|
| + public:
|
| + // Grant access to all external file system from extension identified with
|
| + // |extension_id|.
|
| + virtual void GrantFullAccessToExtension(const std::string& extension_id) = 0;
|
| + // Grants access to |virtual_path| from |origin_url|.
|
| + virtual void GrantFileAccessToExtension(
|
| + const std::string& extension_id,
|
| + const FilePath& virtual_path) = 0;
|
| + // Revoke file access from extension identified with |extension_id|.
|
| + virtual void RevokeAccessForExtension(
|
| + const std::string& extension_id) = 0;
|
| +};
|
| +
|
| } // namespace fileapi
|
|
|
| #endif // WEBKIT_FILEAPI_FILE_SYSTEM_MOUNT_POINT_PROVIDER_H_
|
|
|