Index: components/filesystem/file_system_impl.h |
diff --git a/components/filesystem/file_system_impl.h b/components/filesystem/file_system_impl.h |
index 90ea77d799ffd14ceeb0adaf9f11125f4a7bbcfc..d3b51715865fcc01d4d4fe59d2b8b638f82bb094 100644 |
--- a/components/filesystem/file_system_impl.h |
+++ b/components/filesystem/file_system_impl.h |
@@ -10,6 +10,10 @@ |
#include "mojo/public/cpp/bindings/interface_request.h" |
#include "mojo/public/cpp/bindings/strong_binding.h" |
+namespace base { |
+class FilePath; |
+} |
+ |
namespace mojo { |
class ApplicationConnection; |
} |
@@ -23,14 +27,25 @@ class FileSystemImpl : public FileSystem { |
~FileSystemImpl() override; |
// |Files| implementation: |
- // We provide a "private" temporary file system as the default. In Debug |
- // builds, we also provide access to a common file system named "debug" |
- // (stored under ~/MojoDebug). |
+ |
+ // Current valid values for |file_system| are "temp" for a temporary |
+ // filesystem and "origin" for a persistent filesystem bound to the origin of |
+ // the URL of the caller. |
void OpenFileSystem(const mojo::String& file_system, |
mojo::InterfaceRequest<Directory> directory, |
const OpenFileSystemCallback& callback) override; |
private: |
+ // Gets the system specific toplevel profile directory. |
+ base::FilePath GetSystemProfileDir() const; |
+ |
+ // Takes the origin string from |remote_application_url_|. |
+ std::string GetOriginFromRemoteApplicationURL() const; |
+ |
+ // Sanitizes |origin| so it is an acceptable filesystem name. |
+ void BuildSanitizedOrigin(const std::string& origin, |
+ std::string* sanitized_origin); |
+ |
const std::string remote_application_url_; |
mojo::StrongBinding<FileSystem> binding_; |