Index: components/filesystem/public/interfaces/file_system.mojom |
diff --git a/components/filesystem/public/interfaces/file_system.mojom b/components/filesystem/public/interfaces/file_system.mojom |
index 263121600f36578cc8a144d960738cc42ae336dd..72785636ddaf92159f1375431f8eedd8916ad1b0 100644 |
--- a/components/filesystem/public/interfaces/file_system.mojom |
+++ b/components/filesystem/public/interfaces/file_system.mojom |
@@ -7,8 +7,21 @@ module filesystem; |
import "components/filesystem/public/interfaces/directory.mojom"; |
import "components/filesystem/public/interfaces/types.mojom"; |
+// Callback interface for FileSystem. When we call OpenFileSystem, we supply a |
+// client to receive and handle the shutdown signal. Just because the shell has |
+// closed the application connection to the FileSystem doesn't mean that we |
+// should immediately kill all connections to our clients. We notify them that |
+// we are shutting down so that they can flush any data and cleanly shutdown. |
+// |
+// Actual connection lifetime is controlled by the lifetime of the |directory| |
+// object. |
+interface FileSystemClient { |
+ OnFileSystemShutdown(); |
+}; |
+ |
interface FileSystem { |
// Opens the root directory for the file system with the given name; null |
// yields the default file system, if any. |
- OpenFileSystem(string? file_system, Directory& directory) => (FileError error); |
+ OpenFileSystem(string? file_system, Directory& directory, |
+ FileSystemClient client) => (FileError error); |
}; |