tree: b0977fc53f0483200bbad6ba3dca550c9110a625 [path history] [tgz]
  1. init/
  2. powerd_prefs/
  3. BUILD.gn
  4. fuse_main.cc
  5. fuse_main.h
  6. operation_throttle.cc
  7. operation_throttle.h
  8. operation_throttle_test.cc
  9. org.chromium.VirtualFileProvider.conf
  10. OWNERS
  11. README.md
  12. service.cc
  13. service.h
  14. service_test.cc
  15. size_map.cc
  16. size_map.h
  17. util.cc
  18. util.h
  19. virtual-file-provider-jailed.sh
  20. virtual_file_provider.cc
virtual_file_provider/README.md

Virtual File Provider

Virtual File Provider is a service which provides file descriptors which forward access requests to chrome. From the accessing process‘s perspective, the file descriptor behaves like a regular file descriptor (unlike pipe, it’s seekable), while actually there is no real file associated with it. Currently, this service is only used by ARC++ container.

Private FUSE file system

To forward access requests on file descriptors, this service implements a FUSE file system which is only accessible to this service itself.

D-Bus interface

This service provides two D-Bus methods, GenerateVirtualFileId() and OpenFileById().

GenerateVirtualFileId() generates and returns a new unique ID. When OpenFileById() is later called with the generated unique ID, it creates and returns a seekable file descriptor (FD) backed by the private FUSE file system.

When the file descriptor created above is being accessed, Virtual File Provider will send signal to forward the access request to chrome.